DBMS > Citus vs. KeyDB vs. LokiJS vs. Oracle vs. PostgreSQL
System Properties Comparison Citus vs. KeyDB vs. LokiJS vs. Oracle vs. PostgreSQL
Editorial information provided by DB-Engines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name | Citus Xexclude from comparison | KeyDB Xexclude from comparison | LokiJS Xexclude from comparison | Oracle Xexclude from comparison | PostgreSQL Xexclude from comparison | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | Scalable hybrid operational and analytics RDBMS for big data use cases based on PostgreSQL | An ultra-fast, open source Key-value store fully compatible with Redis API, modules, and protocols | In-memory JavaScript DBMS | Widely used RDBMS | Widely used open source RDBMS Developed as objectoriented DBMS (Postgres), gradually enhanced with 'standards' like SQL | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Primary database model | Relational DBMS | Key-value store | Document store | Relational DBMS | Relational DBMS with object oriented extensions, e.g.: user defined types/functions and inheritance. Handling of key/value pairs with hstore module. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary database models | Document store | 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.citusdata.com | github.com/Snapchat/KeyDB keydb.dev | github.com/techfort/LokiJS | www.oracle.com/database | www.postgresql.org | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | docs.citusdata.com | docs.keydb.dev | techfort.github.io/LokiJS | docs.oracle.com/en/database | www.postgresql.org/docs | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Developer | EQ Alpha Technology Ltd. | Oracle | PostgreSQL Global Development Group www.postgresql.org/developer | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 2010 | 2019 | 2014 | 1980 | 1989 1989: Postgres, 1996: PostgreSQL | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current release | 8.1, December 2018 | 23c, September 2023 | 16.3, May 2024 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
License Commercial or Open Source | Open Source AGPL, commercial license also available | Open Source BSD-3 | Open Source | commercial restricted free version is available | Open Source BSD | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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. |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Implementation language | C | C++ | JavaScript | C and C++ | C | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | Linux | Linux | server-less, requires a JavaScript environment (browser, Node.js) | AIX HP-UX Linux OS X Solaris Windows z/OS | FreeBSD HP-UX Linux NetBSD OpenBSD OS X Solaris Unix Windows | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | yes | schema-free | schema-free | yes Schemaless in JSON and XML columns | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typing predefined data types such as float or date | yes | partial Supported data types are strings, hashes, lists, sets and sorted sets, bit arrays, hyperloglogs and geospatial indexes | no | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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. | yes specific XML type available, but no XML query functionality | no | no | yes | yes specific XML-type available, but no XML query functionality. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary indexes | yes | yes by using the Redis Search module | yes via views | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL Support of SQL | yes standard, with numerous extensions | no | no | yes with proprietary extensions | yes standard with numerous extensions | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
APIs and other access methods | ADO.NET JDBC native C library ODBC streaming API for large objects | Proprietary protocol RESP - REdis Serialization Protoco | JavaScript API | JDBC ODBC ODP.NET Oracle Call Interface (OCI) | ADO.NET JDBC native C library ODBC streaming API for large objects | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Supported programming languages | .Net C C++ Delphi Java JavaScript (Node.js) Perl PHP Python Tcl | C C# C++ Clojure Crystal D Dart Elixir Erlang Fancy Go Haskell Haxe Java JavaScript (Node.js) Lisp Lua MatLab Objective-C OCaml Pascal Perl PHP Prolog Pure Data Python R Rebol Ruby Rust Scala Scheme Smalltalk Swift Tcl Visual Basic | JavaScript | 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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server-side scripts Stored procedures | user defined functions realized in proprietary language PL/pgSQL or with common languages like Perl, Python, Tcl etc. | Lua | View functions in JavaScript | 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. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | yes | no | yes | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partitioning methods Methods for storing different data on different nodes | Sharding | Sharding | none | Sharding, horizontal partitioning | partitioning by range, list and (since PostgreSQL 11) by hash | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Replication methods Methods for redundantly storing data on multiple nodes | Source-replica replication other methods possible by using 3rd party extensions | Multi-source replication Source-replica replication | none | Multi-source replication Source-replica replication | Source-replica replication other methods possible by using 3rd party extensions | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MapReduce Offers an API for user-defined Map/Reduce methods | no | no | yes | no can be realized in PL/SQL | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Consistency concepts Methods to ensure consistency in a distributed system | Immediate Consistency | Eventual Consistency Strong eventual consistency with CRDTs | none | Immediate Consistency | Immediate Consistency | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Foreign keys Referential integrity | yes | no | no | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Transaction concepts Support to ensure data integrity after non-atomic manipulations of data | ACID | Optimistic locking, atomic execution of commands blocks and scripts | no atomic operations within a single collection possible | ACID isolation level can be parameterized | ACID | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Concurrency Support for concurrent manipulation of data | yes | yes | yes | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Durability Support for making data persistent | yes | yes Configurable mechanisms for persistency via snapshots and/or operations logs | yes Serialization of a DB in a Node.JS/Cordova/PhoneGap environment. Usage of the IndexedDB-API in a browser. | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
In-memory capabilities Is there an option to define some or all structures to be held in-memory only. | no | yes | yes | yes Version 12c introduced the new option 'Oracle Database In-Memory' | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
User concepts Access control | fine grained access rights according to SQL-standard | simple password-based access control and ACL | no | fine grained access rights according to SQL-standard | 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 for Oracle improves the efficiency and productivity of Oracle developers and administrators with a streamlined working environment. » 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 | Aiven for PostgreSQL: Fully managed PostgreSQL for developers with 70+ extensions and flexible orchestration tools.
» more pgDash: In-Depth PostgreSQL Monitoring. » more SharePlex is the reliable and affordable data replication solution for PostgreSQL migrations, high availability and more. » more Navicat Monitor is a safe, simple and agentless remote server monitoring tool for PostgreSQL and many other database management systems. » more Navicat for PostgreSQL is an easy-to-use graphical tool for PostgreSQL database development. » more Instaclustr: Fully Hosted & Managed PostgreSQL » more Redgate webinars: A series of key topics for new PostgreSQL users. » 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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
We invite representatives of vendors of related products to contact us for presenting information about their offerings here. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
More resources | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Citus | KeyDB | LokiJS | Oracle | PostgreSQL | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DB-Engines blog posts | New kids on the block: database management systems implemented in JavaScript | 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 Oracle Cloud World Ubicloud wants to build an open source alternative to AWS Microsoft acquires Citus Data, re-affirming its commitment to Open Source and accelerating Azure PostgreSQL ... Ubicloud reels in $16M for its open-source cloud platform Distributed PostgreSQL Benchmarks: Azure Cosmos DB, CockroachDB, and YugabyteDB Microsoft Benchmarks Distributed PostgreSQL DBs provided by Google News Oh, snap! Snap snaps up database developer KeyDB Garnet–open-source faster cache-store speeds up applications, services Snap Acquires KeyDB for Open-Source Services Dragonfly 1.0 Released For What Claims To Be The World's Fastest In-Memory Data Store Microsoft open-sources Garnet cache-store -- a Redis rival? provided by Google News LokiJS - A JavaScript Database provided by Google News Oracle And Google Partner To Deliver Multicloud Offering To Enterprises Oracle to colocate database services and network interconnect in Google data centers Announcing Oracle Database 23ai : General Availability Multicloud: Oracle links database with Google, Microsoft to speed operations Oracle and Google Cloud Announce a Groundbreaking Multicloud Partnership provided by Google News PostgreSQL is Now Faster than Pinecone, 75% Cheaper, with New Open Source Extensions Timescale unveils high-performance AI vector database extensions for PostgreSQL PostgreSQL Tutorial: Definition, Commands, & Features Raise the bar on AI-powered app development with Azure Database for PostgreSQL How to implement a better like, views, comment counters in PostgreSQL? provided by Google News |
Share this page