DBMS > H2 vs. Microsoft SQL Server vs. Oracle vs. PostgreSQL vs. SQLite
System Properties Comparison H2 vs. Microsoft SQL Server vs. Oracle vs. PostgreSQL vs. SQLite
Editorial information provided by DB-Engines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name | H2 Xexclude from comparison | Microsoft SQL Server Xexclude from comparison | Oracle Xexclude from comparison | PostgreSQL Xexclude from comparison | SQLite Xexclude from comparison | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | Full-featured RDBMS with a small footprint, either embedded into a Java application or used as a database server. | Microsofts flagship relational DBMS | Widely used RDBMS | Widely used open source RDBMS Developed as objectoriented DBMS (Postgres), gradually enhanced with 'standards' like SQL | Widely used embeddable, in-process RDBMS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Primary database model | Relational DBMS | Relational DBMS | Relational DBMS | Relational DBMS with object oriented extensions, e.g.: user defined types/functions and inheritance. Handling of key/value pairs with hstore module. | Relational DBMS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary database models | Spatial DBMS | Document store Graph DBMS Spatial DBMS | Document store Graph DBMS with Oracle Spatial and Graph RDF store with Oracle Spatial and Graph Spatial DBMS with Oracle Spatial and Graph Vector DBMS since Oracle 23 | Document store Graph DBMS with Apache Age Spatial DBMS Vector DBMS with pgvector extension | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Website | www.h2database.com | www.microsoft.com/en-us/sql-server | www.oracle.com/database | www.postgresql.org | www.sqlite.org | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | www.h2database.com/html/main.html | learn.microsoft.com/en-US/sql/sql-server | docs.oracle.com/en/database | www.postgresql.org/docs | www.sqlite.org/docs.html | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Developer | Thomas Mueller | Microsoft | Oracle | PostgreSQL Global Development Group www.postgresql.org/developer | Dwayne Richard Hipp | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 2005 | 1989 | 1980 | 1989 1989: Postgres, 1996: PostgreSQL | 2000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current release | 2.2.220, July 2023 | SQL Server 2022, November 2022 | 23c, September 2023 | 16.3, May 2024 | 3.45.3 (15 April 2024), April 2024 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
License Commercial or Open Source | Open Source dual-licence (Mozilla public license, Eclipse public license) | commercial restricted free version is available | commercial restricted free version is available | Open Source BSD | Open Source Public Domain | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Cloud-based only Only available as a cloud service | no | no | no | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DBaaS offerings (sponsored links) Database as a Service Providers of DBaaS offerings, please contact us to be listed. | SQLServer Flex @ STACKIT offers a managed version of SQL Server with adjustable CPU, RAM, storage amount and speed, in enterprise grade to perfectly match all application requirements. All services are 100% GDPR-compliant. |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Implementation language | Java | C++ | C and C++ | C | C | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | All OS with a Java VM | Linux Windows | AIX HP-UX Linux OS X Solaris Windows z/OS | FreeBSD HP-UX Linux NetBSD OpenBSD OS X Solaris Unix Windows | server-less | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | yes | yes | yes Schemaless in JSON and XML columns | yes | yes dynamic column types | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typing predefined data types such as float or date | yes | yes | yes | yes | yes not rigid because of 'dynamic typing' concept. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
XML support Some form of processing data in XML format, e.g. support for XML data structures, and/or support for XPath, XQuery or XSLT. | no | yes | yes | yes specific XML-type available, but no XML query functionality. | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary indexes | yes | yes | yes | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL Support of SQL | yes | yes | yes with proprietary extensions | yes standard with numerous extensions | yes SQL-92 is not fully supported | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
APIs and other access methods | JDBC ODBC | ADO.NET JDBC ODBC OLE DB Tabular Data Stream (TDS) | JDBC ODBC ODP.NET Oracle Call Interface (OCI) | ADO.NET JDBC native C library ODBC streaming API for large objects | ADO.NET inofficial driver JDBC inofficial driver ODBC inofficial driver | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Supported programming languages | Java | C# C++ Delphi Go Java JavaScript (Node.js) PHP Python R Ruby Visual Basic | C C# C++ Clojure Cobol Delphi Eiffel Erlang Fortran Groovy Haskell Java JavaScript Lisp Objective C OCaml Perl PHP Python R Ruby Scala Tcl Visual Basic | .Net C C++ Delphi Java JDBC JavaScript (Node.js) Perl PHP Python Tcl | Actionscript Ada Basic C C# C++ D Delphi Forth Fortran Haskell Java JavaScript Lisp Lua MatLab Objective-C OCaml Perl PHP PL/SQL Python R Ruby Scala Scheme Smalltalk Tcl | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server-side scripts Stored procedures | Java Stored Procedures and User-Defined Functions | Transact SQL, .NET languages, R, Python and (with SQL Server 2019) Java | PL/SQL also stored procedures in Java possible | user defined functions realized in proprietary language PL/pgSQL or with common languages like Perl, Python, Tcl etc. | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | yes | yes | yes | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partitioning methods Methods for storing different data on different nodes | none | tables can be distributed across several files (horizontal partitioning); sharding through federation | Sharding, horizontal partitioning | partitioning by range, list and (since PostgreSQL 11) by hash | none | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Replication methods Methods for redundantly storing data on multiple nodes | With clustering: 2 database servers on different computers operate on identical copies of a database | yes, but depending on the SQL-Server Edition | Multi-source replication Source-replica replication | Source-replica replication other methods possible by using 3rd party extensions | none | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MapReduce Offers an API for user-defined Map/Reduce methods | no | no | no can be realized in PL/SQL | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Consistency concepts Methods to ensure consistency in a distributed system | Immediate Consistency | Immediate Consistency | Immediate Consistency | Immediate Consistency | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Foreign keys Referential integrity | yes | yes | yes | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Transaction concepts Support to ensure data integrity after non-atomic manipulations of data | ACID | ACID | ACID isolation level can be parameterized | ACID | ACID | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Concurrency Support for concurrent manipulation of data | yes, multi-version concurrency control (MVCC) | yes | yes | yes | yes via file-system locks | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Durability Support for making data persistent | yes | yes | yes | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
In-memory capabilities Is there an option to define some or all structures to be held in-memory only. | yes | yes | yes Version 12c introduced the new option 'Oracle Database In-Memory' | no | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
User concepts Access control | fine grained access rights according to SQL-standard | fine grained access rights according to SQL-standard | fine grained access rights according to SQL-standard | fine grained access rights according to SQL-standard | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
More information provided by the system vendorWe invite representatives of system vendors to contact us for updating and extending the system information, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Related products and services | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3rd parties | Navicat for SQL Server gives you a fully graphical approach to database management and development. » more Navicat Monitor is a safe, simple and agentless remote server monitoring tool for SQL Server and many other database management systems. » more | Devart ODBC driver for Oracle accesses Oracle databases from ODBC-compliant reporting, analytics, BI, and ETL tools on both 32 and 64-bit Windows, macOS, and Linux. » more Navicat for Oracle improves the efficiency and productivity of Oracle developers and administrators with a streamlined working environment. » more | Fujitsu Enterprise Postgres: An Enterprise Grade PostgreSQL with the flexibility of a hybrid cloud solution combined with industry leading security, availability and performance.
» more Navicat for PostgreSQL is an easy-to-use graphical tool for PostgreSQL database development. » more Redgate webinars: A series of key topics for new PostgreSQL users. » more SharePlex is the reliable and affordable data replication solution for PostgreSQL migrations, high availability and more. » more Timescale: Calling all PostgreSQL users – the 2023 State of PostgreSQL survey is now open! Share your favorite extensions, preferred frameworks, community experiences, and more. Take the survey today! » more Aiven for PostgreSQL: Fully managed PostgreSQL for developers with 70+ extensions and flexible orchestration tools. » more pgDash: In-Depth PostgreSQL Monitoring. » more CYBERTEC is your professional partner in PostgreSQL topics for over 20 years. As our main aim is to be your single-source all-in-one IT service provider, we offer a wide range of products and services. Visit our website for more details. » more Navicat Monitor is a safe, simple and agentless remote server monitoring tool for PostgreSQL and many other database management systems. » more Instaclustr: Fully Hosted & Managed PostgreSQL » more | Navicat for SQLite is a powerful and comprehensive SQLite GUI that provides a complete set of functions for database management and development. » more | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
We invite representatives of vendors of related products to contact us for presenting information about their offerings here. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
More resources | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
H2 | Microsoft SQL Server | Oracle | PostgreSQL | SQLite | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DB-Engines blog posts | MySQL is the DBMS of the Year 2019 The struggle for the hegemony in Oracle's database empire Microsoft SQL Server is the DBMS of the Year | MySQL is the DBMS of the Year 2019 The struggle for the hegemony in Oracle's database empire Architecting eCommerce Platforms for Zero Downtime on Black Friday and Beyond | PostgreSQL is the DBMS of the Year 2023 Snowflake is the DBMS of the Year 2022, defending the title from last year Snowflake is the DBMS of the Year 2021 | Big gains for Relational Database Management Systems in DB-Engines Ranking Oracle Cloud World A generative AI use case using Amazon RDS for SQL Server as a vector data store | Amazon Web Services SQL Server vNext: When and What Is Coming Data Virtualization in SQL Server 2022 SQL Server 2014 end of support: Keep your customers secure How to Know When It's Time for a Microsoft SQL Server Upgrade provided by Google News Understanding the different Oracle Database options under the OCI-Microsoft Azure partnership Oracle Goes for the Kill with Multifaceted New AI Database Oracle Database 23ai Brings the Power of AI to Enterprise Data and Applications AI-Fueled Enterprise Data Management: The Rise Of Oracle Database 23ai What's New: May 2024 provided by Google News Enterprise DB begins rolling AI features into PostgreSQL Deep PostgreSQL Thoughts: Valuing Currency EDB unveils EDB Postgres AI Nutanix partners with EDB to fit database service for AI – Blocks and Files Addressing PostgreSQL Vulnerabilities in Ubuntu provided by Google News A Guide to Working with SQLite Databases in Python How to work with Dapper and SQLite in ASP.NET Core SQLite Vulnerability Could Put Thousands of Apps at Risk SQLite's new support for binary JSON is similar but different from a PostgreSQL feature • DEVCLASS Universal API Access from Postgres and SQLite provided by Google News |
Share this page