DBMS > DuckDB vs. PostgreSQL vs. SQLite vs. TDSQL for MySQL vs. TimescaleDB
System Properties Comparison DuckDB vs. PostgreSQL vs. SQLite vs. TDSQL for MySQL vs. TimescaleDB
Editorial information provided by DB-Engines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name | DuckDB Xexclude from comparison | PostgreSQL Xexclude from comparison | SQLite Xexclude from comparison | TDSQL for MySQL Xexclude from comparison | TimescaleDB Xexclude from comparison | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | An embeddable, in-process, column-oriented SQL OLAP RDBMS | Widely used open source RDBMS Developed as objectoriented DBMS (Postgres), gradually enhanced with 'standards' like SQL | Widely used embeddable, in-process RDBMS | A high-performance distributed database management system with features such as automatic sharding, intelligent operation and maintenance, elastic scalability without downtime, and enterprise-grade security. It is highly compatible with MySQL. | A time series DBMS optimized for fast ingest and complex queries, based on PostgreSQL | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Primary database model | 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 | Relational DBMS | Time Series DBMS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary database models | Document store Graph DBMS with Apache Age Spatial DBMS Vector DBMS with pgvector extension | Document store Spatial DBMS | Relational DBMS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Website | duckdb.org | www.postgresql.org | www.sqlite.org | www.tencentcloud.com/products/dcdb | www.timescale.com | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | duckdb.org/docs | www.postgresql.org/docs | www.sqlite.org/docs.html | www.tencentcloud.com/document/product/1042 | docs.timescale.com | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Developer | PostgreSQL Global Development Group www.postgresql.org/developer | Dwayne Richard Hipp | Tencent | Timescale | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 2018 | 1989 1989: Postgres, 1996: PostgreSQL | 2000 | 2013 | 2017 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current release | 1.0.0, June 2024 | 16.3, May 2024 | 3.46.0 (23 May 2024), May 2024 | 2.15.0, May 2024 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
License Commercial or Open Source | Open Source MIT License | Open Source BSD | Open Source Public Domain | commercial | Open Source Apache 2.0 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Cloud-based only Only available as a cloud service | no | no | no | yes | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DBaaS offerings (sponsored links) Database as a Service Providers of DBaaS offerings, please contact us to be listed. |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Implementation language | C++ | C | C | C | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | server-less | FreeBSD HP-UX Linux NetBSD OpenBSD OS X Solaris Unix Windows | server-less | hosted | Linux OS X Windows | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | yes | yes | yes dynamic column types | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typing predefined data types such as float or date | yes | yes | yes not rigid because of 'dynamic typing' concept. | yes | numerics, strings, booleans, arrays, JSON blobs, geospatial dimensions, currencies, binary data, other complex data types | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 specific XML-type available, but no XML query functionality. | no | no | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary indexes | yes | yes | yes | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL Support of SQL | yes | yes standard with numerous extensions | yes SQL-92 is not fully supported | yes | yes full PostgreSQL SQL syntax | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
APIs and other access methods | Arrow Database Connectivity (ADBC) CLI Client JDBC ODBC | ADO.NET JDBC native C library ODBC streaming API for large objects | ADO.NET inofficial driver JDBC inofficial driver ODBC inofficial driver | JDBC ODBC | ADO.NET JDBC native C library ODBC streaming API for large objects | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Supported programming languages | C C# 3rd party driver C++ Crystal 3rd party driver Go 3rd party driver Java Lisp 3rd party driver Python R Ruby 3rd party driver Rust Swift Zig 3rd party driver | .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 | C C# C++ Java PHP Python Ruby | .Net C C++ Delphi Java JDBC JavaScript Perl PHP Python R Ruby Scheme Tcl | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server-side scripts Stored procedures | no | user defined functions realized in proprietary language PL/pgSQL or with common languages like Perl, Python, Tcl etc. | no | yes | user defined functions, PL/pgSQL, PL/Tcl, PL/Perl, PL/Python, PL/Java, PL/PHP, PL/R, PL/Ruby, PL/Scheme, PL/Unix shell | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | no | yes | yes | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partitioning methods Methods for storing different data on different nodes | none | partitioning by range, list and (since PostgreSQL 11) by hash | none | Automatic sharding | yes, across time and space (hash partitioning) attributes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Replication methods Methods for redundantly storing data on multiple nodes | none | Source-replica replication other methods possible by using 3rd party extensions | none | Multi-source replication Source-replica replication | Source-replica replication with hot standby and reads on replicas | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MapReduce Offers an API for user-defined Map/Reduce methods | no | no | no | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Consistency concepts Methods to ensure consistency in a distributed system | Immediate Consistency | Immediate Consistency | Immediate Consistency | Immediate Consistency | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Foreign keys Referential integrity | no | yes | yes | no | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Transaction concepts Support to ensure data integrity after non-atomic manipulations of data | ACID | ACID | ACID | ACID | ACID | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Concurrency Support for concurrent manipulation of data | yes, multi-version concurrency control (MVCC) | yes | yes via file-system locks | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | no | yes | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
User concepts Access control | no | fine grained access rights according to SQL-standard | no | Users with fine-grained authorization concept | fine grained access rights according to SQL-standard | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 Monitor is a safe, simple and agentless remote server monitoring tool for PostgreSQL and many other database management systems. » more Redgate webinars: A series of key topics for new PostgreSQL users. » 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 SharePlex is the reliable and affordable data replication solution for PostgreSQL migrations, high availability and more. » 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 Aiven for PostgreSQL: Fully managed PostgreSQL for developers with 70+ extensions and flexible orchestration tools. » 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 Navicat for PostgreSQL is an easy-to-use graphical tool for PostgreSQL database development. » more pgDash: In-Depth PostgreSQL Monitoring. » 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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DuckDB | PostgreSQL | SQLite | TDSQL for MySQL | TimescaleDB | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DB-Engines blog posts | 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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Recent citations in the news | DuckDB promises greater stability with 1.0 release DuckDB 1.0 Released 5 newer data science tools you should be using with Python DuckDB: In-Process Python Analytics for Not-Quite-Big Data DuckDB Walks to the Beat of Its Own Analytics Drum provided by Google News | PostgreSQL Tutorial: Definition, Commands, & Features Raise the bar on AI-powered app development with Azure Database for PostgreSQL How To Schedule PostgreSQL Backups With GitHub Actions How to implement a better like, views, comment counters in PostgreSQL? Enterprise DB begins rolling AI features into PostgreSQL provided by Google News | How to Work with SQLite Database in Python Microsoft Research chief scientist has no issue with Windows Recall How to work with Dapper and SQLite in ASP.NET Core A Guide to Working with SQLite Databases in Python SQLite Vulnerability Could Put Thousands of Apps at Risk provided by Google News | Tencent Cloud Database recognised for cloud database management systems Allo Bank taps Tencent Cloud in digital banking Tencent Cloud Distributed Database Ranks First in the Growth Index: Frost & Sullivan's "2021 China Distributed ... Chinese government blocks use of Intel, AMD chips in hardware Tencent Cloud and Allo Bank partner to enhance digital banking in Indonesia, ETCIO SEA provided by Google News | TimescaleDB Is a Vector Database Now, Too Timescale Acquires PopSQL to Bring a Modern, Collaborative SQL GUI to PostgreSQL Developers Power IoT and time-series workloads with TimescaleDB for Azure Database for PostgreSQL Timescale Valuation Rockets to Over $1B with $110M Round, Marking the Explosive Rise of Time-Series Data Timescale announces $15M investment and new enterprise version of TimescaleDB provided by Google News |
Share this page