Description |
Flash-optimized In-memory NoSQL Database |
In-memory data structure store, used as database, cache and message broker |
One of the most popular document stores |
Open source graph database |
Database model |
Key-value store |
Key-value store |
Document store |
Graph DBMS |
License |
Open Source – Apache and AGPL Licenses; open sourced in June 2014; commercial Enterprise Edition available |
Open Source – BSD 3-Clause, commercial license available |
Open Source – AGPL version3, Commercial Licence available |
Open Source – AGPL version3, Commercial Licence available |
Implementation language |
C |
C |
C++ |
Java |
Server operating systems |
Linux |
BSD, Linux, OS X, Windows |
Linux, OS X, Solaris, Windows |
Linux, OS X, Windows |
Data scheme |
schema-free |
schema-free |
schema-free, Although schema-free, documents of the same collection often follow the same structure |
schema-free |
Typing |
yes |
partial => Supported data types are strings, hashes, lists, sets and sorted sets, bit arrays, hyperloglogs and geospatial indexes |
yes => string, integer, double, boolean, date, object_id |
yes |
Secondary indexes |
yes |
no |
yes |
yes => pluggable indexing subsystem, by default Apache Lucene |
SQL |
no |
no |
no |
no |
APIs and other access methods |
|
proprietary protocol |
proprietary protocol using JSON |
Cypher query language, Java API, RESTful HTTP API |
Supported programming languages |
C, C#, Erlang, Go, Java, JavaScript (Node.js), Lua, Perl, PHP, Python, Ruby |
C,C#,C++,Clojure,Crystal,D,Dart,Elixir,Erlang,Fancy,Go,Haskell,Haxe,Java,JavaScript (Node.js),Lisp,Lua,MatLab,Objective-C,OCaml,Perl,PHP,Prolog,Pure Data,Python,R,Rebol,Ruby,Rust,Scala,Scheme,Smalltalk,Tcl |
Actionscript, C, C#, C++, Clojure, ColdFusion, D, Dart, Delphi, Erlang, Go, Groovy, Haskell, Java, JavaScript, Lisp, Lua, MatLab, Perl, PHP, PowerShell, Prolog, Python, R, Ruby, Scala ,Smalltalk |
.Net, Clojure, Go, Groovy, Java, JavaScript, Perl, PHP, Python, Ruby, Scala |
Server-side scripts |
user defined functions |
Lua |
JavaScript |
yes |
Triggers |
no |
no |
no |
yes |
Partitioning methods |
Sharding |
Sharding |
Sharding |
none |
Replication methods |
selectable replication factor |
Master-slave replication |
Master-slave replication |
Master-slave replication |
Consistency concepts |
Eventual Consistency in cross-datacenter configuration and Immediate Consistency in local cluster configuration |
Eventual Consistency |
Eventual Consistency, Immediate Consistency |
Eventual Consistency configurable in High Availability Cluster setup, Immediate Consistency |
In-memory capabilities |
yes |
yes |
yes |
no |
Durability (data storage) |
yes |
yes => Configurable mechanisms for persistence via snapshots and/or operations logs |
yes => optional |
yes |
Horizontal salable |
yes |
yes |
Yes, with sharding |
No (Community), Yes (Enterprise) |
Data storage |
RAM,SSD |
Volatile memory, File System |
Volatile memory, File System |
local (community), Data,Persisted to Disk,Volatile memory,Memory-Mapped File (Enterprise) |
Memory minimum |
2 GB |
3 GB |
depends on several factors |
2 GB (Enterprise) |
Value size max. |
1 MB |
512 MB |
16 MB |
34 B(comunity), 1 TB (Enterprise) |