-
Notifications
You must be signed in to change notification settings - Fork 38
/
Copy pathindex.html
2225 lines (1939 loc) · 115 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>NOSQL Database Management Systems</title>
<meta name="author" content="Prof. Dr. Stefan Edlich">
<meta name="publisher" content="Prof. Dr. Stefan Edlich">
<meta name="description"
content="The ultimate reference for NOSQL Database Management Systems. Includes Events, Links, Tools, News, Forums, Books, and much more...">
<meta name="robots" content="index, follow">
<meta charset="utf-8">
<link href='http://fonts.googleapis.com/css?family=Droid+Sans' rel='stylesheet' type='text/css'>
<link rel="shortcut icon" type="image/x-icon" href="/Resources/Public/Img/favicon.ico">
<link href="Resources/Public/Css/Main.css" rel="stylesheet">
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
</head>
<body>
<div id="wrapper">
<header>
<div class="third">
<img width="251" height="61" alt="NOSQL Logo" src="Resources/Public/Img/nosql-logo.gif">
</div>
<div class="third">
Your Ultimate Guide to the <br/>
Non-Relational Universe!<br/>
</div>
<div class="third">
[including a <strong>historic</strong> <a href="links.html">Archive</a> 2009-2011]<br/>
<small>
<strong>News Feed </strong>covering some changes
</small>
<small><a href="http://nosql-databases.blogspot.com/">here</a></small>
<small>
<strong>!</strong>
</small>
</div>
</header>
<div id="main">
<section>
<article>
<dl>
<dt>NOSQL DEFINITION: </dt>
Next Generation Database Management Systems mostly addressing <u>some of the points</u>: being <strong>non-relational,
distributed, open-source</strong> and <strong>horizontally scalable</strong>.
</dl>
The original intention has been <strong>modern web-scale database management systems</strong>.
The movement began early 2009 and
is growing rapidly. Often more characteristics apply such as: <strong>schema-free,
easy replication support, simple API, eventually consistent</strong> / <strong>BASE</strong> (not ACID), a
<strong>huge amount of data</strong> and more. So the misleading term <em>"nosql"</em> (the community now
translates it mostly with "<strong>not only sql</strong>") should be seen as an alias to something like the
definition above.
<small> [based on 7 sources, 15 constructive feedback emails (thanks!) and 1 disliking comment.
Agree / Disagree? <a href="mailto:edlich@gmail.com">Tell</a> me so! By the
way: this is a strong definition and it is out there here since 2009!]</small>
</article>
</section>
<h3 style="background-color:Tomato;">This domain will soon find a new home (but don't worry, all the information here will remain as is!). You will find all this db information on another website soon... stay tuned.</h3>
<h1>List Of NOSQL Database Management Systems <span class="grey">[currently >225]</span></h1>
<p> Core NOSQL Systems: [Mostly originated out of a Web 2.0 need]</p>
<section>
<h2>Wide Column Store / Column Families</h2>
<article>
<h3><a href="http://hadoop.apache.org/">Hadoop / HBase</a></h3>
API: <strong>Java / any writer</strong>, Protocol: <strong>any write call</strong>, Query Method: <strong>MapReduce
Java / any exec</strong>, Replication: <strong>HDFS Replication</strong>, Written in: <strong>Java</strong>,
Concurrency: ?, Misc:
<strong>Links</strong>: 3 Books [<a href="http://www.amazon.com/Hadoop-Action-Chuck-Lam/dp/1935182196/">1</a>,
<a href="http://www.amazon.com/Pro-Hadoop-Jason-Venner/dp/1430219424/">2</a>,
<a href="http://www.amazon.com/Hadoop-Definitive-Guide-Tom-White/dp/0596521979/">3</a>],
Guru99 Article <a href="https://www.guru99.com/hbase-architecture-data-flow-usecases.html">>></a>
</article>
<article>
<h3><a href="http://www.mapr.com">MapR</a>,
<a href="http://www.hortonworks.com">Hortonworks</a>,
<a href="http://www.cloudera.com/">Cloudera</a></h3>
Hadoop Distributions and professional services .
</article>
<article>
<h3><a href="https://cassandra.apache.org/">Cassandra</a></h3>
massively scalable, partitioned row store, masterless architecture, linear scale performance, no single points of failure, read/write support across multiple data centers & cloud availability zones. API / Query Method: <strong>CQL and Thrift</strong>, replication: <strong>peer-to-peer</strong>, written in: <strong>Java</strong>, Concurrency: <strong>tunable consistency</strong>, Misc: built-in data compression, MapReduce support, primary/secondary indexes, security features. Links: <a href="http://www.datastax.com/docs">Documentation</a>, <a href="http://planetcassandra.org/">PlanetC*</a>, <a href="http://www.datastax.com/">Company</a>.
</article>
<article>
<h3><a href="http://www.scylladb.com/">Scylla</a></h3>
Cassandra-compatible column store, with consistent low latency and more transactions per second.
Designed with a thread-per-core model to maximize performance on modern multicore hardware.
Predictable scaling. No garbage collection pauses, and faster compaction.
</article>
<article>
<h3><a href="http://hypertable.org/">Hypertable</a></h3>
API: <strong>Thrift</strong> (Java, PHP, Perl, Python, Ruby, etc.), Protocol: <strong>Thrift</strong>, Query
Method: <strong>HQL, native Thrift API</strong>, Replication: <strong>HDFS Replication</strong>,
Concurrency: <strong>MVCC</strong>, Consistency Model: <strong>Fully consistent </strong>Misc: High performance
C++ implementation of Google's Bigtable. <a href="http://www.hypertable.com/">» Commercial support</a><br>
</article>
<article>
<h3><a href="http://accumulo.apache.org/">Accumulo</a></h3>
Accumulo is based on <strong>BigTable</strong>
and is built on top of <a href="http://hadoop.apache.org/"><strong>Hadoop</strong></a>,
<a href="http://zookeeper.apache.org/"><strong>Zookeeper</strong></a>,
and <a href="http://thrift.apache.org/"><strong>Thrift</strong></a>.
It features improvements on the BigTable design in the form of <strong>cell-based access control</strong>,
improved <strong>compression</strong>, and a server-side programming mechanism that can modify key/value pairs
at various points in the data management process.
</article>
<article>
<h3><a href="http://aws.amazon.com/simpledb/">Amazon SimpleDB</a></h3>
<strong>Misc</strong>: not open source / part of AWS, <a
href="http://www.apress.com/book/view/1430225335">Book</a> (will be
outperformed by DynamoDB!)<br>
</article>
<article>
<h3><a href="http://www.cloudata.org/">Cloudata</a></h3>
Google's Big table clone like HBase. <a
href="http://www.readwriteweb.com/hack/2011/02/open-source-bigtable-cloudata.php"
>» Article</a>
</article>
<article>
<h3><a href="https://www.monetdb.org/">MonetDB</a></h3>
Column Store pioneer since 2002.
</article>
<article>
<h3><a href="http://www.hpccsystems.com/">HPCC</a></h3>
from <a href="http://www.lexisnexis.com">LexisNexis</a>, <a
href="http://www.lexisnexis.com/government/solutions/literature/hpcc-das.pdf">info</a>, <a
href="http://wikibon.org/blog/lexisnexis-hpcc-takes-on-hadoop-as-battle-for-big-data-supremacy-heats-up/">article</a>
</article>
<article>
<h3><a href="http://flink.apache.org/">Apache Flink</a></h3> (formerly known as <a href="http://stratosphere.eu/">Stratosphere</a>)
massively parallel & flexible data analytics platform,
API: <strong>Java, Scala</strong>,
Query Method: <strong>expressive data flows (extended M/R, rich UDFs, iteration support)</strong>,
Data Store: <strong>independent</strong> (e.g., HDFS, S3, MongoDB),
Written in: Java,
License: Apache License V2.0,
Misc: <strong>good integration with Hadoop stack</strong> (HDFS, YARN), source code on <a href="https://github.com/apache/flink">Github</a>
</article>
<article>
<h3><a href="http://www-01.ibm.com/software/data/informix/">IBM Informix</a></h3>
horizontally and vertically scalable, relational, partitioned row store, document store API / Query Method: <strong>SQL (native, DRDA, JDBC, ODBC), MongoDB wire listener, mixed mode</strong>,
replication: <strong>master / slave, peer-to-peer, sharding, grid operations</strong>,
written in: <strong>C</strong>,
Concurrency: <strong>row, page, table, db locking</strong>,
Misc: ACID, built-in data compression, scheduler, automatic cyclic storage management, extensible, in memory acceleration, native ports from ARM v6 up Links: <a href="http://www-01.ibm.com/support/knowledgecenter/SSGU8G_12.1.0/com.ibm.welcome.doc/welcome.htm">Documentation</a>, <a href="http://www.iiug.com/">IIUG</a>, <a href="http://www.ibm.com/">Company</a>.
</article>
<article>
<h3><a href="http://www.splicemachine.com/">Splice Machine</a></h3>
Splice Machine is an RDBMS built on <a href="http://hadoop.apache.org/">Hadoop</a>, <a href="http://hbase.apache.org/">HBase</a> and <a href="http://db.apache.org/derby/">Derby</a>. Scale real-time applications using commodity hardware without application rewrites,
Features: <strong>ACID transactions, ANSI SQL support, ODBC/JDBC, distributed computing</strong>
</article>
<article>
<h3><a href="http://financial.mcobject.com/">eXtremeDB Financial Edition</a></h3>
massively scalable in-memory and persistent storage DBMS for analytics on market data
(and other time series data).
APIs: <strong>C/C++, Java Native Interface (JNI), C#/.NET), Python, SQL (native, ODBC, JDBC)</strong>,
Data layout: <strong>row, columnar, hybrid,</strong>
Written in: <strong>C, Replication: master/slave, cluster, sharding, </strong>
Concurrency: <strong>Optimistic (MVCC) and pessimistic (locking)</strong>
</article>
<article>
<h3><a href="http://concoursedb.com/">ConcourseDB</a></h3> a distributed self-tuning DBMS with
<a href="http://concoursedb.com/blog/index-all-the-things/">automatic indexing</a>, version control and ACID transactions.
Written In: <strong>Java</strong>. API/Protocol: <strong>Thrift (many languages)</strong>. Concurrency: <strong> serializable
transactions with <a href="http://concoursedb.com/blog/just-in-time-locking/">just-in-time locking</a>.</strong>
Misc: uses a <a href="http://concoursedb.com/guide/storage-model/">buffered storage system</a> to commit all data to disk
immediately while perform rich indexing in the background.
</article>
<article>
<h3><a href="http://druid.io">Druid</a></h3>
open-source analytics data store for business intelligence (OLAP) queries on event data.
Low latency (real-time) data ingestion, flexible data exploration, fast data aggregation.
Scaled to trillions of events & petabytes.
Most commonly used to power user-facing analytic applications.
API: <strong>JSON over HTTP</strong>, APIs: <strong>Python, R, Javascript, Node, Clojure, Ruby, Typescript + support SQL queries</strong>
Written in: <strong>Java</strong>
License: <strong>Apache 2.0</strong>
Replication: <strong>Master/Slave</strong>
</article>
<article>
<h3><a href="http://getkudu.io/">KUDU</a></h3>
Apache Kudu (incubating) completes Hadoop's storage layer to enable fast analytics on fast data.
</article>
<article>
<h3><a href="https://github.com/vroyer/elassandra">Elassandra</a></h3>
Elassandra is a fork of Elasticsearch modified to run on top of Apache Cassandra in a scalable and resilient peer-to-peer architecture. Elasticsearch code is embedded in Cassandra nodes providing advanced search features on Cassandra tables and Cassandra serve as an Elasticsearch data and configuration store.
</article>
<article>
<span class="grey">[OpenNeptune, Qbase, KDI]</span>
</article>
</section>
<section>
<h2>Document Store</h2>
<article>
<h3><a href="http://www.elasticsearch.org/">Elastic</a></h3>
API: <strong>REST and many languages</strong>, Protocol: <strong>REST</strong>, Query Method: <strong>via JSON</strong>, Replication + Sharding: <strong>automatic and configurable</strong>, written in: <strong>Java</strong>,
Misc: schema mapping, multi tenancy with arbitrary indexes, <a href="http://www.elasticsearch.com/">» Company and Support</a>, <a href="https://www.found.no/foundation/elasticsearch-as-nosql/">» Article</a>
</article>
<article>
<h3><a href="http://www.arangoDB.com/">ArangoDB</a>, <a href="https://fauna.com/">FaunaDB</a>, <a href="http://orientdb.com">OrientDB</a>,
<a href="http://gunDB.io">gunDB</a></h3>
(<strong>Doc Store</strong> & GraphDB & Key-Value. More details in Category <a href="#multimodel">Multimodel DBMS</a>)
</article>
<article>
<h3><a href="http://www.mongodb.org/">MongoDB</a></h3>
API: <strong>BSON</strong>, Protocol: C, Query Method: <strong>dynamic object-based language &
MapReduce</strong>, Replication: <strong>Master Slave &
Auto-Sharding</strong>, Written in: <strong>C++</strong>,Concurrency: <strong>Update in Place</strong>. Misc:
<strong>Indexing, GridFS, Freeware + Commercial License</strong> Links:
<a href="http://www.leadit.us/hands-on-tech/MongoDB-High-Performance-SQL-Free-Database">» Talk</a>, <a
href="http://www.paperplanes.de/2010/2/25/notes_on_mongodb.html">» Notes</a>,
<a href="http://www.10gen.com/">» Company</a>
</article>
<article>
<h3><a href="http://cloud.google.com/datastore">Cloud Datastore</a></h3>
A fully managed Document store with multi-master replication across data centers.
Originally part of Google App Engine, it also has REST and gRPC APIs. Now <a href="https://firebase.googleblog.com/2017/10/introducing-cloud-firestore.html">Firestore</a>?!
</article>
<article>
<h3><a href="https://azure.microsoft.com/services/documentdb/">Azure DocumentDB</a></h3>
is a fully managed, globally distributed NoSQL DBMS perfect for the massive scale and low latency
needs of modern applications. Guarantees: 99.99% availability, 99% of reads at <10ms and 99% of writes
at <15ms. Scale to handle 10s-100s of millions of requests/sec and replicate globally with the click of a button. APIs:
.NET, .NET Core, Java, Node.js, Python, REST. Query: SQL. Links:
<a href="https://azure.microsoft.com/services/documentdb/">» Service</a>,
<a href="https://azure.microsoft.com/pricing/details/documentdb/">» Pricing</a>,
<a href="https://www.documentdb.com/sql/demo">» Playground</a>,
<a href="https://docs.microsoft.com/azure/documentdb/">» Documentation</a>
</article>
<article>
<h3><a href="http://www.rethinkdb.com/">RethinkDB</a></h3>
API: <strong>protobuf-based</strong>, Query Method: <strong>unified chainable query language
(incl. JOINs, sub-queries, MapReduce, GroupedMapReduce)</strong>; Replication:
<strong>Sync and Async Master Slave with per-table acknowledgements</strong>, Sharding:
<strong>guided range-based</strong>, Written in: <strong>C++</strong>,
Concurrency: <strong>MVCC</strong>. Misc: log-structured storage engine with concurrent incremental garbage compactor
</article>
<article>
<h3><a href="http://www.couchbase.com/">Couchbase Server</a></h3>
<strong>API: Memcached API+protocol </strong>(binary and ASCII) , <strong>most languages</strong>, Protocol:
<strong>Memcached REST interface for cluster conf + management</strong>,
Written in: <strong>C/C++</strong> + <strong>Erlang</strong> (clustering), Replication: <strong>Peer to Peer, fully
consistent</strong>, Misc: <strong>Transparent topology changes during operation, provides memcached-compatible
caching buckets, commercially supported version available</strong>,
Links: <a href="http://wiki.membase.org">» Wiki</a>,
<a href="http://www.infoq.com/news/2010/10/membase">»
Article</a>
</article>
<article>
<h3><a href="http://couchdb.apache.org/">CouchDB</a></h3>
API: <strong>JSON</strong>,
Protocol: <strong>REST</strong>,
Query Method: <strong>MapReduceR of JavaScript Funcs</strong>, Replication: <strong>Master Master</strong>,
Written in: <strong>Erlang</strong>, Concurrency: <strong>MVCC</strong>, <strong>Misc</strong>: <br>
<strong>Links</strong>:
<a href="http://couchdb.apache.org/docs/books.html">» 3 CouchDB books </a>, <a
href="http://tilgovi.github.com/couchdb-lounge/">» Couch Lounge</a>
(partitioning / clustering), <a href="http://www.drdobbs.com/java/223100116">» Dr. Dobbs</a>
</article>
<article>
<h3><a href="http://www.torodb.com">ToroDB</a></h3>
API: <strong>MongoDB API</strong> and <strong>SQL</strong>,
Protocol: MongoDB Wire Protocol / MongoDB compatible,
Query Method: <strong>dynamic object-based language & SQL</strong>,
Replication: <strong>RDBMS Backends' Replication System &
Support for replication from MongoDB's Replica Set</strong>,
Written in: <strong>Java</strong>,
Concurrency: <strong>MVCC</strong>.
Misc: <strong>Open Source NoSQL and SQL DBMS</strong>.
The agileness of a doc DB with the reliability and the native SQL capabilities of PostgreSQL. Links:
<a href="https://www.8kdata.com" target="_blank">» Company</a>
</article>
<article>
<h3><a href="http://www.sequoiadb.com/en/index.php?p=index&j=2">SequoiaDB</a></h3>
API: <strong>BSON</strong>,
Protocol: <strong>C</strong>,
Query Method: <strong>dynamic object-based language</strong>,
Replication: <strong>Master Slave & Auto-Sharding</strong>,
Written in: <strong>C++</strong>,
Misc: Indexing, Large Object Store, Transaction, Free + Commercial License,
<a href="http://www.bankmark.de/wp-content/uploads/2014/12/bankmark-20141201-WP-NoSQLBenchmark.pdf">Benchmark</a>, <a href="https://github.com/SequoiaDB/SequoiaDB">Code</a>
</article>
<article>
<h3><a href="http://www.alachisoft.com/nosdb/" target="_blank">NosDB</a></h3>
a 100% native <strong>.NET</strong> Open Source <strong>NoSQL Document DBMS</strong> (Apache 2.0 License). It also supports <strong>SQL</strong> querying over JSON Documents. Data can also be accessed through <strong>LINQ & ADO.NET</strong>. NosDB also provides strong <strong>server-side and client-side caching</strong> features by integrating NCache.
</article>
<article>
<h3><a href="https://www.ravendb.net">RavenDB</a></h3>
RavenDB is an Open Source NoSQL DBMS. <strong>Multi-Model:</strong> Document, Key-Value, Graph, Distributed Counters, Attachments. Fully Transactional (ACID) across database and throughout the cluster. <strong>Multiplatform:</strong> C#, Node.js, Java, Python, Ruby, Go. <strong>Multisystem:</strong> Windows, Linux, Mac OS, Docker, Raspberry Pi. Native GUI, MapReduce, full text search, memory management.
</article>
<article>
<h3><a href="https://unqlite.org/">UnQlite</a></h3>
UnQLite is an embedded NoSQL (<strong>Key/Value</strong> store and <strong>Document-store</strong>) DBMS.
Similar to MongoDB, Redis, CouchDB etc. as well a standard Key/Value store similar to BerkeleyDB, LevelDB, etc.
It's a in-process software library which implements a self-contained, serverless, zero-configuration, transactional NoSQL DBMS.
Open source, distributed under the <strong>2-Clause BSD license</strong>.
</article>
<article>
<h3><a href="http://www.marklogic.com/">MarkLogic Server</a></h3>
(developer+commercial)
API: <strong>JSON, XML, Java</strong>
Protocols: <strong>HTTP, REST</strong>
Query Method: <strong>Full Text Search and Structured Query, XPath, XQuery, Range, Geospatial,
Bitemporal</strong>
Written in: <strong>C++</strong>
Concurrency: <strong>Shared-nothing cluster, MVCC</strong>
Misc: Petabyte-scalable and elastic (on premise in the cloud), ACID + XA transactions,
auto-sharding, failover, master slave replication (clusters), replication (within cluster), high
availability, disaster recovery, full and incremental backups,
government grade security at the doc level, developer community <a href="http://developer.marklogic.com/">»</a>
</article>
<article>
<h3><a href="http://www.clusterpoint.com/">Clusterpoint Server</a></h3>
(freeware+commercial) API: <strong>XML, PHP, Java, .NET</strong> Protocols: <strong>HTTP, REST, native
TCP/IP</strong> Query Method: <strong>full text search, XML, range and Xpath queries</strong>; Written in
<strong>C++</strong> Concurrency: <strong>ACID-compliant, transactional, multi-master cluster</strong> Misc:
Petabyte-scalable document store and full text search engine. Information ranking. Replication. Cloudable.
</article>
<article>
<h3><a href="https://github.com/konsultaner/jsonOdm">JSON ODM</a></h3>
Object Document Mapper for JSON-Documents written in pure <strong>JavaScript</strong>.
It queries the collections with a <strong>gremlin</strong>-like DSL that uses <strong>MongoDB's API</strong> methods, but also provides joining.
The collections extend the native array objects, which gives the overall ODM a good performance. Queries 500.000 elements in less then a second.
</article>
<article>
<h3><a href="https://github.com/louischatriot/nedb">NeDB</a></h3>
NoSQL DBMS for Node.js in pure <strong>javascript</strong>. It implements the most commonly used subset of <strong>MongoDB's API</strong> and is quite <strong>fast</strong> (about 25,000 reads/s on a 10,000 documents collection with indexing).
</article>
<article>
<h3><a href="http://code.google.com/p/terrastore/">Terrastore</a></h3>
API: <strong>Java & http</strong>,
Protocol: <strong>http</strong>,
Language: <strong>Java</strong>,
Querying: <strong>Range queries, Predicates</strong>, Replication: <strong>Partitioned with consistent
hashing</strong>, Consistency: <strong>Per-record
strict consistency</strong>, Misc: Based on Terracotta
</article>
<article>
<h3><a href="http://www.amisalabs.com/">AmisaDB:</a></h3>
Architected to unify the best of search engine, NoSQL and NewSQL DB technologies. API: REST and many languages. Query method: <strong>SQL</strong>. Written in <strong>C++</strong>. Concurrency: <strong>MVCC</strong>. Misc: <strong>ACID</strong> transactions, data distribution via <strong>consistent hashing</strong>, <strong>static and dynamic schema</strong> support, <strong>in-memory</strong> processing. Freeware + Commercial License
</article>
<article>
<h3><a href="http://www.oberasoftware.com/">JasDB</a></h3>
Lightweight open source document DBMS written in Java for high performance, runs in-memory, supports Android.
API: <strong>JSON, Java</strong>
Query Method: <strong>REST OData Style Query language, Java fluent Query API</strong>
Concurrency: <strong>Atomic document writes</strong>
Indexes: <strong>eventually consistent indexes</strong>
</article>
<article>
<h3><a href="http://www.codeproject.com/Articles/375413/RaptorDB-the-Document-Store">RaptorDB</a></h3>
JSON based, Document store DBMS with compiled <strong>.net map functions</strong> and automatic hybrid
bitmap indexing and <strong>LINQ query filters</strong>
</article>
<article>
<h3><a href="http://djondb.com">djondb</a></h3>
djonDB API: <strong>BSON</strong>, Protocol: <strong>C++</strong>,
Query Method: <strong>dynamic queries and map/reduce</strong>, Drivers:
<strong>Java, C++, PHP</strong> Misc: ACID compliant, Full shell console over google v8 engine, djondb
requirements are submitted by users, not market. License: GPL and commercial
</article>
<article>
<h3><a href="http://ejdb.org/">EJDB</a></h3>
Embeddable JSON DBMS engine.
API: <strong>C/C++</strong>,
Protocol: <strong>Native</strong>, <strong>HTTP</strong>, <strong>Websockets</strong>
Written in: <strong>C11</strong>,
Query language: <strong>XPath like query language (JQL)</strong>,
Concurrency: <strong>RW locking</strong>,
Misc: <strong>Single file database, Indexing</strong>,
License: <strong>MIT</strong>
</article>
<article>
<h3><a href="http://www.densodb.net/">densodb</a></h3>
DensoDB is a new NoSQL document DBMS. Written for .Net environment in c# language.
It’s simple, fast and reliable. <a href="https://github.com/teamdev/densodb">Source</a>
</article>
<article>
<h3><a href="http://www.sisodb.com/">SisoDB</a></h3>
A Document Store on top of SQL-Server.
</article>
<article>
<h3><a href="http://pagenotes.com/wordpress/2011/12/08/sdb/">SDB</a></h3>
For small online databases, PHP / JSON interface, implemented in PHP.
</article>
<article>
<h3><a href="https://github.com/petersirka/nosql">NoSQL embedded db</a></h3>
Node.js asynchronous NoSQL embedded DBMS for small websites or projects. DBMS supports: insert, update, remove, drop and supports views (create, drop, read). Written in JavaScript, no dependencies, implements small concurrency model.
</article>
<article class="grey">
[CloudKit, Perservere,<a href="http://jackrabbit.apache.org/">Jackrabbit</a>]
</article>
<article>
<h3><a href="http://code.google.com/p/thrudb/">ThruDB</a></h3>
(please help provide more facts!) Uses Apache <a href="http://incubator.apache.org/thrift/">Thrift</a>
to integrate multiple backend DBMS as BerkeleyDB, Disk, MySQL, S3.
</article>
<article>
<h3><a href="http://www.iboxdb.com">iBoxDB</a></h3>
Transactional embedded DBMS, it can embed into mobile, desktop and web applications,
supports on-disk and in-memory storages. API: <strong>Java,C# (Android, Mono, Xamarin, Unity3D)</strong>.
Query Method: <strong>SQL-like</strong> and <strong>KeyValue</strong>. Written In: <strong>Java, C#</strong>. Replication: <strong>MasterSlave, MasterMaster</strong>.
</article>
<article>
<h3><a href="http://www.bergDB.com">BergDB</a></h3>
API: <strong>Java/.NET</strong>.
Written in: <strong>Java</strong>. Replication: <strong>Master/Slave</strong>.
License: <strong>AGLP</strong>. Historical queries. ACID. Schemaless.
Concurrency: <strong>STM and persistent data structure</strong>.
Append-only storage. Encrypted storage. Flexible durability control.
Secondary & composite indexes. Transparently serializes Java/.NET objects.
</article>
<article>
<h3><a href="https://github.com/anywhichway/reasondb">ReasonDB</a></h3>
100% JavaScript automatically synchronizing multi-model DBMS with a SQL like syntax (JOQULAR) and swappable persistence stores. It supports joins, nested matches, projections or live object result sets, asynchronous cursors, streaming analytics, 18 built-in predicates, in-line predicates, predicate extensibility, indexable computed values, fully indexed Dates and Arrays, built in statistical sampling. Persistence engines include files, Redis, LocalStorage, block storage, and more.
</article>
<article>
<h3><a href="https://cloudant.com">IBM Cloudant</a></h3>
Cloud based, open-source, zero-config. Based on CouchDB and BigCouch.
</article>
<article>
<h3><a href="http://bagridb.com/">BagriDB</a></h3>
API: <strong>XQJ/XDM, REST, OpenAPI,</strong> Protocols: <strong>Java, HTTP</strong>, Query Method: <strong>distributed XQuery + server-side XQuery/Java extensions</strong>, Written in: <strong>Java</strong>, Concurrency: <strong>MVCC</strong>, Document format: <strong>XML, JSON, POJO, Avro, Protobuf</strong>, etc. Misc: in-memory Data and Computation Grid, transparent replication and fail-over, true horizontal scalability, ACID transactions, rich indexeng and trigger capabilities, pluggable persistent store, pluggable data formats. <a href="https://github.com/dsukhoroslov/bagri">GitHub</a>
</article>
</section>
<section>
<h2>Key Value / Tuple Store</h2>
<article>
<h3><a href="http://aws.amazon.com/dynamodb/" target="_blank">DynamoDB</a></h3>
Automatic ultra scalable NoSQL DB based on fast SSDs. Multiple Availability Zones. Elastic MapReduce Integration. Backup to S3 and much more...
</article>
<article>
<h3><a href="http://msdn.microsoft.com/en-us/library/dd179423.aspx" target="_blank">Azure Table Storage</a></h3>
Collections of free form entities (row key, partition key, timestamp). Blob and Queue Storage available, 3 times
redundant. Accessible via REST or ATOM.
</article>
<article>
<h3><a href="http://basho.com/products/#riak" target="_blank">Riak</a></h3>
API: <strong>tons of languages, JSON</strong>,
Protocol: <strong>REST</strong>,
Query Method: <strong>MapReduce term matching</strong> , Scaling: <strong>Multiple Masters</strong>; Written in:
<strong>Erlang</strong>,
Concurrency: <strong>eventually consistent</strong> (stronger then MVCC via Vector Clocks)
</article>
<article>
<h3><a href="http://redis.io" target="_blank">Redis</a></h3>
API:
<strong>Tons of languages</strong>,
Written in: <strong>C</strong>,
Concurrency: <strong>in memory</strong>
and saves asynchronous disk after a defined time. Append only mode
available. Different kinds of fsync policies. Replication: <strong>Master / Slave</strong>,
Misc: <strong>also lists, sets, sorted sets, hashes, queues</strong>. Cheat-Sheet:
<a href="http://masonoise.files.wordpress.com/2010/03/redis-cheatsheet-v1.pdf">»</a>, great slides
<a href="http://blog.simonwillison.net/post/57956858672/redis">»</a> Admin UI
<a href="http://www.servicestack.net/mythz_blog/?p=381">»</a> From the Ground up
<a href="http://blog.mjrusso.com/2010/10/17/redis-from-the-ground-up.html">»</a>
</article>
<article>
<h3><a href="http://www.aerospike.com/" target="_blank">Aerospike</a></h3>
Fast and web-scale DBMS. RAM or SSD. Predictable performance; achieves 2.5 M TPS (reads and
writes), 99% under 1 ms. Tunable consistency. Replicated, zero configuration, zero downtime,
auto-clustering, rolling upgrades, Cross Datacenter Replication (XDR). Written in: C. APIs: C, C#,
Erlang, Go, Java, Libevent, Node, Perl, PHP, Python, Ruby. Links:
<a href="http://www.aerospike.com/community" target="_blank">Community</a>,
<a href="http://www.aerospike.com/develop" target="_blank">Development</a>,
<a href="http://www.slideshare.net/AerospikeDB/flash-economics-and-lessons-learned-from-operating-low-latency-platforms-at-high-throughput-with-aerospike-nosql" target="_blank">Slides</a>,
<a href="http://www.intel.com/content/dam/www/public/us/en/documents/solution-briefs/xeon-e5-v3-ssd-aerospike-nosql-brief.pdf" target="_blank">2.5M TPS on 1 node at Intel</a>,
<a href="http://highscalability.com/blog/2014/8/18/1-aerospike-server-x-1-amazon-ec2-instance-1-million-tps-for.html" target="_blank">1M TPS on AmazonWS</a>,
<a href="https://communities.intel.com/community/itpeernetwork/blog/2015/02/17/reaching-one-million-database-transactions-per-second-aerospike-intel-ssd" target="_blank">1M TPS w/ SSDs on 1 Server</a>,
<a href="http://highscalability.com/blog/2015/3/17/in-memory-computing-at-aerospike-scale-when-to-choose-and-ho.html" target="_blank">Combating Memory Fragmentation</a>
</article>
<article>
<h3><a href="http://code.google.com/p/leveldb/" target="_blank">LevelDB</a></h3>
<strong>Fast</strong>
& Batch updates. DB from <strong>Google</strong>.
Written in C++.
Blog <a
href="http://google-opensource.blogspot.com/2011/07/leveldb-fast-persistent-key-value-store.html">»</a>,
hot Benchmark <a href="http://leveldb.googlecode.com/svn/trunk/doc/benchmark.html">»</a>, Article <a
href="http://www.golem.de/1107/85298.html">»</a>
(in German). Java <a href="https://github.com/fusesource/leveldbjni">access</a>. C# (for Universal Windows Platform) <a href="https://github.com/maxpert/LevelDBWinRT">access</a>.
</article>
<article>
<h3><a href="http://rocksdb.org" target="_blank">RocksDB</a></h3>
API: <strong>C++</strong>. Written in C++.
Facebook`s improvements to Google`s LevelDB to speed throughput
for datasets larger than RAM. Embedded solution.
</article>
<article>
<h3><a href="http://www.oracle.com/technetwork/database/database-technologies/berkeleydb/overview/index.html" target="_blank">Berkeley DB</a></h3>
API: <strong>Many languages</strong>, Written in: <strong>C</strong>, Replication: <strong>Master / Slave</strong>,
Concurrency: <strong>MVCC</strong>,
License: <strong>Sleepycat</strong>,
<a href="http://www.oracle.com/technetwork/database/berkeleydb/overview/index-093405.html">Berkeley DB Java
Edition</a>: API: <strong>Java</strong>, Written in: <strong>Java</strong>,
Replication: <strong>Master / Slave</strong>,
Concurrency: <strong>serializable transaction isolation</strong>, License: <strong>Sleepycat</strong>
</article>
<article>
<h3><a href="https://www.levyx.com/helium" target="_blank">Helium</a></h3>
API: <strong>C, C++, Java, Python, NodeJS</strong>. Written in C.
Key-value store aimed at high throughput and low latency (usecs) applications.
Designed to run on many-core systems with fast storage such as SSDs and NVMs. Low and predictable memory footprint, low write amplification.
License: <strong>proprietary</strong> Mode: <strong>embedded, single server</strong><strong>Links</strong>
<a href="https://cloudplatform.googleblog.com/2015/07/Multi-million-operations-per-second-on-a-single-Google-Cloud-Platform-instance.html" target="_blank">Multi million ops/sec on GCP</a>,
<a href="https://www.samsung.com/semiconductor/global.semi.static/Whitepaper_Samsung_Low_Latency_Z-SSD_Levyx_Helium_Data_Store_Jan2018.pdf" target="_blank">Real-time low latency KV with Helium and Samsung Z-SSD</a>
</article>
<article>
<h3><a href="https://github.com/JohnSully/KeyDB" target="_blank">KeyDB</a></h3>
API:
<strong>Multiple languages (Redis Compatible)</strong>
Replication: <strong>Master / Master</strong>
- A multithreaded fork of Redis with a ton of extra features such as Active Replication, AWS S3 integration, and significantly lower latency.
</article>
<article>
<h3><a href="https://www.crunchbase.com/organization/geniedb" target="_blank">GenieDB</a></h3>
Immediate consistency sharded KV store with an eventually consistent AP
store bringing eventual consistency issues down to the
theoretical minimum. It features efficient record coalescing.
GenieDB speaks SQL and co-exists / do intertable
joins with
SQL RDBMs.
</article>
<article>
<h3><a href="http://www.iqlect.com/" target="_blank">BangDB</a></h3>
API: <strong>Get,Put,Delete</strong>,
Protocol: <strong>Native, HTTP,</strong>
Flavor: <strong>Embedded, Network, Elastic Cache</strong>, Replication: <strong>P2P based Network Overlay</strong>,
Written in: <strong>C++</strong>, Concurrency:
?,
Misc: <span
style="font-weight: bold;">robust, crash proof, Elastic, throw machines to scale linearly, Btree/Ehash</span>
</article>
<article>
<h3><a href="http://sourceforge.net/projects/chordless/" target="_blank">Chordless</a></h3>
API: <strong>Java & simple RPC to vals</strong>, Protocol: <strong>internal</strong>, Query Method: <strong>M/R
inside value objects</strong>, Scaling: <strong>every node is master for its slice of namespace</strong>, Written
in: <strong>Java</strong>, Concurrency: <strong>serializable transaction isolation</strong>,
</article>
<article>
<h3><a href="http://code.google.com/p/scalaris/" target="_blank"> Scalaris</a></h3>
(please help provide more facts!) Written in: <strong>Erlang</strong>, Replication: <strong>Strong consistency over
replicas</strong>, Concurrency: <strong>non blocking Paxos</strong>.
</article>
<article>
<h3><a href="http://fallabs.com/tokyocabinet/" target="_blank">Tokyo Cabinet / Tyrant</a></h3>
<strong>Links</strong>: nice talk
<a href="http://www.infoq.com/presentations/grigorik-tokyo-cabinet-recipes">»</a>, slides
<a href="http://www.scribd.com/doc/12016121/Tokyo-Cabinet-and-Tokyo-Tyrant-Presentation">»</a>, Misc:
<strong>Kyoto</strong> Cabinet <a href="http://fallabs.com/kyotocabinet/">»</a>
</article>
<article>
<h3><a href="http://scalien.com/" target="_blank">Scalien</a></h3>
API / Protocol: <strong>http</strong>
(text, html, JSON)<strong>, C, C++, Python</strong>, Java, Ruby, PHP,Perl. Concurrency:
<strong>Paxos</strong>.
</article>
<article>
<h3><a href="http://project-voldemort.com/" target="_blank">Voldemort</a></h3>
Open-Source implementation of Amazons Dynamo Key-Value Store.
</article>
<article>
<h3><a href="http://wiki.github.com/cliffmoon/dynomite/dynomite-framework" target="_blank">Dynomite</a></h3>
Open-Source
implementation of Amazons Dynamo Key-Value Store. written in Erlang.
With "data partitioning, versioning, and read repair, and user-provided
storage engines provide persistence and query processing".
</article>
<article>
<h3><a href="http://sourceforge.net/projects/kai/" target="_blank">KAI</a></h3>
Open Source Amazon Dynamo implementation, Misc: <a
href="http://www.slideshare.net/takemaru/kai-an-open-source-implementation-of-amazons-dynamo-472179">slides</a>
</article>
<article>
<h3><a href="http://memcachedb.org/" target="_blank">MemcacheDB</a></h3>
API: <strong>Memcache protocol</strong>
(get, set, add, replace, etc.), Written in: <strong>C</strong>, Data
Model: <strong>Blob</strong>,
Misc: Is Memcached writing to BerkleyDB.
</article>
<article>
<h3><a href="http://www.faircom.com/nosql" target="_blank">Faircom C-Tree</a></h3>
API: <strong>C, C++, C#, Java, PHP, Perl</strong>, Written in: <strong>C,C++</strong>. Misc:
<strong>Transaction logging. Client/server. Embedded. SQL wrapper</strong> (not core). Been
around since 1979.<br>
</article>
<article>
<h3><a href="http://www.sqlite.org/src4/artifact/41b08c1d31c156d3916558aad89b7e7ae8a381c5" target="_blank">LSM</a></h3>
Key-Value DBMS that was written as part of SQLite4, They claim it is faster then LevelDB. Instead of supporting custom comparators, they have a recommended data encoding for keys that allows various data types to be sorted.
</article>
<article>
<h3><a href="http://www.kitarodb.com/" target="_blank">KitaroDB</a></h3>:
A fast, efficient on-disk data store for <strong>Windows Phone 8, Windows RT, Win32 (x86 & x64)</strong> and <strong>.NET</strong>. Provides for key-value and multiple segmented key access. APIs for <strong>C#, VB, C++, C</strong> and <strong>HTML5/JavaScript</strong>. Written in <strong>pure C</strong> for high performance and low footprint. Supports async and synchronous operations with 2GB max record size.
</article>
<article><h3><a href="http://upscaledb.com/" target="_blank">upscaledb</a></h3>:
(embedded solution) API: <strong>C, C++, .NET, Java, Erlang.</strong>
Written in <strong>C,C++</strong>. Fast key/value store with a
parameterized B+-tree. Keys are "typed" (i.e. 32bit integers, floats,
variable length or fixed length binary data). Has built-in analytical
functions like SUM, AVERAGE etc.
</article>
<article><h3><a href="http://stsdb.com/" target="_blank">STSdb</a></h3>
API: <strong>C#</strong>, Written in <strong>C#</strong>, embedded solution, generic XTable<TKey,TRecord>
implementation,
ACID transactions, snapshots, table versions, shared records, vertical data compression, custom compression,
composite & custom primary
keys, available backend file system layer, works over multiple volumes, petabyte scalability, LINQ.
</article>
<article><h3><a href="https://github.com/mailru/tarantool" target="_blank">Tarantool/Box</a></h3>
API: <strong>C, Perl, PHP, Python, Java and Ruby</strong>. Written in: <strong>Objective
C</strong>
,Protocol: <strong>asynchronous binary, memcached, text (Lua console)</strong>. Data model:
<strong>collections of dimensionless tuples, indexed using primary + secondary keys</strong>.
Concurrency: <strong>lock-free in memory, consistent with disk (write ahead log).</strong>
Replication: <strong>master/slave, configurable</strong>.
Other: <strong>call Lua stored procedures.</strong>
</article>
<article><h3><a href="https://github.com/OpenHFT/Chronicle-Map" target="_blank">Chronicle Map</a></h3>
In-memory (opt. persistence via mmap), highly concurrent, low-latency key-value store.
API: <strong>Java</strong>.
Written in: <strong>Java</strong>.
Protocol: in-process Java, remote via
<a href="http://chronicle.software/products/chronicle-engine/" target="_blank">Chronicle Engine</a> + Wire:
binary, text, Java, C# bindnings.
Concurrency: in-memory lock striping, read-write locks.
Replication: <strong>multi-master, eventually consistent</strong>.
</article>
<article><h3><a href="http://code.google.com/p/maxtable/" target="_blank">Maxtable</a></h3>
API: <strong>C</strong>, Query Method: <strong>MQL, native API</strong>, Replication:
<strong>DFS Replication</strong>, Consistency: <strong>strict consistency</strong> Written
in: <strong>C</strong>.
</article>
<article><h3><a href="http://github.com/jedisct1/Pincaster" target="_blank">Pincaster</a></h3>
For geolocalized apps. Concurrency: <strong>in-memory with asynchronous disk writes</strong>.
API: <strong>HTTP/JSON</strong>. Written in: <strong>C</strong>.
License: <strong>BSD</strong>.
</article>
<article><h3><a href="http://www.codeproject.com/KB/database/RaptorDB.aspx" target="_blank">RaptorDB</a></h3>
A pure key value store with optimized b+tree and murmur
hashing. (In the near future it will be a JSON document DBMS much like
mongodb and couchdb.)
</article>
<article><h3><a href="https://ssl.tibcommunity.com/blogs/activespaces" target="_blank">TIBCO Active Spaces</a></h3>
peer-to-peer distributed in-memory (with persistence) datagrid that
implements and expands on the concept of the Tuple Space. Has SQL
Queries and ACID (=> NewSQL).
</article>
<article><h3><a href="http://www.allegro-c.de/" target="_blank">allegro-C</a></h3>
Key-Value concept. Variable number of keys per record. Multiple key
values, Hierarchic records. Relationships. Diff. record types in same
DB. Indexing: B*-Tree. All aspects configurable. Full scripting
language. Multi-user ACID. Web interfaces (PHP, Perl, ActionScript)
plus Windows client.
</article>
<article><h3><a href="https://github.com/shuttler/nessDB" target="_blank">nessDB</a></h3>
A fast key-value DBMS (using LSM-Tree storage engine), API: <strong>Redis protocol</strong>
(SET,MSET,GET,MGET,DEL etc.), Written in: <strong>ANSI C</strong>
</article>
<article><h3><a href="http://hyperdex.org/" target="_blank">HyperDex</a></h3>
Distributed searchable key-value store. Fast (latency &
throughput), scalable, consistent, fault tolerance, using hyperspace
hashing. APIs for C, C++ and Python.
</article>
<article><h3><a href="https://github.com/simonhf/sharedhashfile" target="_blank">SharedHashFile</a></h3>
Fast, open source, shared memory (using memory mapped files e.g. in /dev/shm or on SSD), multi process, hash table, e.g. on an 8 core i7-3720QM CPU @ 2.60GHz using /dev/shm, 8 processes combined have a 12.2 million / 2.5 to 5.9 million TPS read/write using small binary keys to a hash file containing 50 million keys. Uses sharding internally to mitigate lock contention. Written in <strong>C</strong>.
</article>
<article>
<h3><a href="http://symas.com/mdb/" target="_blank">Symas LMDB</a></h3>
Ultra-fast, ultra-compact key-value embedded data store developed by Symas for the OpenLDAP Project.
It uses memory-mapped files, so it has the read performance of a pure in-memory DBMS while still offering the persistence of standard disk-based DBMS, and is only limited to the size of the virtual address space, (it is not limited to the size of physical RAM)
</article>
<article>
<h3><a href="http://sphia.org" target="_blank">Sophia</a></h3>
Sophia is a modern embeddable key-value DBMS designed for a high load environment. It has unique architecture that was created as a result of research and rethinking of primary algorithmic constraints, associated with a getting popular Log-file based data structures, such as LSM-tree. Implemented as a small C-written, BSD-licensed library.
</article>
<article>
<h3><a href="http://www.alachisoft.com/ncache/" target="_blank">NCache</a></h3>
.NET Open Source Distributed Cache. Written in C#. API .NET & Java. Query Parallel SQL Query, LINQ & Tags. Misc: Linear Scalability, High Availability, WAN Replication, GUI based Administration & Monitoring Tools, Messaging, Runtime Data Sharing, Cache & Item Level Events, Continuous Query & Custom Events, DB Dependencies & Expirations
</article>
<article>
<h3><a href="http://www.alachisoft.com/tayzgrid/" target="_blank">TayzGrid</a></h3>
Open Source In-Memory JCache compliant Data Grid. Written in Java. API Java, JCache JSR 107 & .NET. Query SQL & DB Synchronization. Misc: Linear Scalability, High Availability, WAN Replication, GUI based Administration & Monitoring Tools, Distributed Messaging, MapReduce, Entry Processor and Aggregator
</article>
<article>
<h3><a href="http://pythonhosted.org/pickleDB/" target="_blank">PickleDB</a></h3>
Redis inspired K/V store for Python object serialization.
</article>
<article><h3><a href="http://www.erlang.org/doc/apps/mnesia/index.html" target="_blank">Mnesia</a></h3>
(ErlangDB <a href="http://www.infoq.com/news/2007/08/mnesia">»</a>)
</article>
<article><h3><a href="http://opensource.plurk.com/LightCloud/" target="_blank">LightCloud</a></h3>
(based on Tokyo Tyrant)
</article>
<article><h3><a href="http://hibari.sourceforge.net/" target="_blank">Hibari</a></h3>
Hibari is a highly available, strongly consistent, durable, distributed
key-value data store
</article>
<article>
<h3><a href="http://highlandsun.com/hyc/mdb/" target="_blank">OpenLDAP</a></h3>
Key-value store, B+tree. Lightning fast reads+fast bulk loads.
Memory-mapped files for persistent storage with all the speed of an in-memory
DBMS. No tuning conf required. Full ACID support.
MVCC, readers run lockless. Tiny code, written in C, compiles to under 32KB of
x86-64 object code. Modeled after the BerkeleyDB API for easy migration from
Berkeley-based code. Benchmarks against LevelDB, Kyoto Cabinet, SQLite3, and
BerkeleyDB are available, plus full paper and presentation slides.
</article>
<article>
<h3><a href="http://genomu.com/" target="_blank">Genomu</a></h3>
High availability, concurrency-oriented event-based K/V DBMS with transactions and
causal consistency. Protocol: <strong>MsgPack</strong>, API: <strong>Erlang, Elixir, Node.js</strong>.
Written in: <a href="http://elixir-lang.org">Elixir</a>, <a href="https://github.com/genomu/genomu">Github-Repo</a>.
</article>
<article>
<h3><a href="https://github.com/mchidk/BinaryRage" target="_blank">BinaryRage</a></h3>
BinaryRage is designed to be a lightweight ultra fast key/value store for .NET with no dependencies. Tested with more than 200,000 complex objects written to disk per second on a crappy laptop :-) No configuration, no strange driver/connector, no server, no setup - simply reference the dll and start using it in less than a minute.
</article>
<article>
<h3><a href="http://www.ioremap.net/projects/elliptics/" target="_blank">Elliptics</a></h3>
Github Page <a href="https://github.com/reverbrain/elliptics">»</a>
</article>
<article>
<h3><a href="https://github.com/hhblaze/DBreeze" target="_blank">DBreeze</a></h3>
Professional, open-source, NoSql (embedded Key/Value storage), transactional, ACID-compliant, multi-threaded, object DBMS management system for .NET 3.0> MONO. Written in C#.
</article>
<article>
<h3><a href="http://https://github.com/Treode/store" target="_blank">TreodeDB</a></h3>
API: <strong>Scala</strong>. Written in Scala.
Replication:<strong> Replicas vote on writes and reads</strong>.
Sharding: <strong>Hashes keys onto array of replica cohorts.</strong>
Concurrency:<strong> Optimistic + Multiversion Concurrency Control.
Provides multirow atomic writes. Exposes optimistic concurrency through API
to support HTTP Etags.</strong>
Embedded solution.
</article>
<article>
<h3><a href="https://github.com/boltdb/bolt" target="_blank">BoltDB</a></h3>
Key/Value DB written in Go.
</article>
<article>
<h3><a href="http://serenitydb.org" target="_blank">Serenity</a></h3>
Serenity DBMS implements basic Redis commands and extends them with support of Consistent
Cursors, ACID transactions, Stored procedures, etc. The DBMS is designed to store data bigger
then available RAM.
</article>
<article>
<h3><a href="http://cachelot.io" target="_blank">Cachelot</a></h3>
API: <strong>Memcached</strong>. Written in <strong>C++</strong>.
In-memory LRU cache with very small memory footprint. Works within fixed amount of memory.
Cachelot has a C++ cache library and stand-alone server on top of it.
</article>
<article>
<h3><a href="https://www.npmjs.com/package/filejson" target="_blank">filejson</a></h3>
Use a JSON encoded file to automatically save a JavaScript value to disk whenever that value changes. A value can be a Javascript: string, number, boolean, null, object, or an array. The value can be structured in an array or an object to allow for more complex data stores. These structures can also be nested. As a result, you can use this module as a simple document store for storing semistructured data.
</article>
<article>
<h3><a href="https://boilerbay.com/infinitydb/">InfinityDB</a></h3>
InfinityDB is an all-Java embedded DBMS with access like java.util.concurrent.ConcurrentNavigableMap over a tuple space, enhanced for nested Maps, LOBs, huge sparse arrays, wide tables with no size constraints. Transactions, compression, multi-core concurrency, easy schema evolution. Avoid the text/binary trap: strongly-typed, fine-grained access to big structures. 1M ops/sec. Commercial, closed source, patented.
</article>
<article>
<h3><a href="https://github.com/keyvast/keyvast" target="_blank">KeyVast</a></h3>
Key Value Store with scripting language. Data types include list, dictionary and set. Hierarchical keys.
API: <strong>TCP/IP</strong>,
Protocol: <strong>Query language</strong>,
Written in: <strong>Delphi</strong>,
License: <strong>MIT</strong>,
Links: <a href="https://github.com/keyvast/keyvast" target="_blank">Github</a>
</article>
<article>
<h3><a href="http://www.convergence-creators.siemens.com/common-repository-telco-data-storage.html">SCR Siemens Common Repository</a></h3>
In-Memory, scale-by-cell division (under load), multi-tiered scalability (transactions, entries, indicies), read=write, geo-redundancy, redundancy per datatype, LDAP, API, bulkload facility for VNF state resiliency, VNF-M integratable, self-[re-]balancing, Backend for Mobile Network Functions
</article>
<article>
<h3><a href="http://iowow.io">IOWOW</a></h3>
The C/C++ persistent key/value storage engine based on
<strong><a href="https://en.wikipedia.org/wiki/Skip_list">skip list</a></strong> data structure.
API: <strong>C/C++</strong>.
Protocol: <strong>Native</strong>.
Written in: <strong>C11</strong>,
Concurrency: <strong>RW locking</strong>.
License: <strong>MIT</strong>
</article>
<article>
<h3><a href="https://github.com/jnidzwetzki/bboxdb/" target="_blank">BBoxDB</a></h3>
A distributed data store for multi-dimensional data. BBoxDB enhances the key-value data model by a bounding box, which describes the location of a value in an n-dimensional space. Data can be efficiently retrieved using hyper-rectangle queries. Spatial joins and dynamic data redistribution are also supported.
API: <strong>Java</strong>,
Protocol: <strong>asynchronous binary</strong>,
Data model: <strong>Key-bounding-box-value</strong>,
Scaling: <strong>Auto-Sharding, Replication</strong>,
Written in: <strong>Java</strong>,
Concurrency: <strong>eventually consistent / RW locking</strong>
</article>
<article>
<h3><a href="https://github.com/jiangwenyuan/nuster">NuSTER</a></h3>
A HTTP based, user facing, RESTful NoSQL cache server based on HAProxy.
It can be used as an internal NoSQL cache sits between your application and DBMS like Memcached or Redis as well as a user facing NoSQL cache that sits between end user and your application. It supports headers, cookies, so you can store per-user data to same endpoint.
Protocol: <strong>HTTP</strong>.
Written in: <strong>C</strong>.
</article>
<article>
<h3><a href="http://js2dx.com">JDX</a></h3>
A lightweight in-memory document-oriented DBMS written with JavaScript.
Includes Single Page Application API, node serialization, tree browsing and CRUD operations on document tuples through web GUI.
Integrate with server-side noSQL DBMS instance into a transaction-synchronous cluster, create SPA content
or browse and serialize document tuples with HTML interface.
</article>
<article>
<h3><a href="http://antidotedb.eu">Antidote</a></h3>
Geo-replicated; multi-master; both reads & writes have local
latency; sharded. Available under Partition (AP) with a high consistency (CP); MVCC;
transactions; causal consistency (no ordering anomalies). API: CRDTs (= concurrent update, convergence). Protocol buffers, Erlang, JavaScript, Java, Go, REST.
Ongoing work: same guarantees at edge; SQL-like language; static
analysis; strong consistency on demand. Open source; written in Erlang.
Publication: <a href="http://doi.ieeecomputersociety.org/10.1109/ICDCS.2016.98">Cure</a>
</article>
<article class="grey">
<p>
[Scality <a href="http://www.scality.com/"
>»</a>, KaTree <a href="http://www.katree.net/">»</a> TomP2P <a
href="http://tomp2p.net/">»</a>,
Kumofs <a href="http://github.com/etolabo/kumofs">»</a> , TreapDB
<a href="http://code.google.com/p/treapdb/">»</a>,
Wallet <a href="https://github.com/YaroslavGaponov/wallet">»</a> ,
NoSQLz <a href="http://nosqlz.com">»</a>,
NMDB, luxio, actord, keyspace, flare, schema-free,
RAMCloud]
</p>
<p>
[SubRecord,
Mo8onDb, Dovetaildb]
</p>
</article>
</section>
<section>
<h2>Graph Database Management Systems</h2>
<article><h3><a href="http://www.neo4j.org/">Neo4J</a></h3>
API: <strong>lots of langs</strong>,
Protocol: <strong>Java embedded / REST</strong>, Query Method: <strong>Cypher, nativeJavaAPI, JRuby</strong>,
Replication: <strong>typical MySQL style
master/slave</strong>,
Written in: <strong>Java</strong>, Concurrency: <strong>non-block reads, writes locks involved
nodes/relationships until commit</strong>,
Misc: <strong>ACID</strong>
possible, Links: Video <a href="http://www.infoq.com/presentations/emil-eifrem-neo4j">»</a>, Blog <a
href="http://blog.neo4j.org/">»</a>
</article>
<article>
<h3><a href="http://www.arangoDB.com/">ArangoDB</a>, <a href="https://fauna.com/">FaunaDB</a>, <a href="http://orientdb.com">OrientDB</a></h3>,
<a href="http://gunDB.io">gunDB</a></h3>
(Doc Store & <strong>GraphDB</strong> & Key-Value. More details in Category <a href="#multimodel">Multimodel Database Management Systems</a>)
</article>
<article><h3><a href="http://www.infinitegraph.com/">Infinite Graph</a></h3>
(by Objectivity) API: <strong>Java</strong>,
Protocol: <strong>Direct Language Binding</strong>, Query Method: <strong>Graph Navigation API,</strong>
<strong>Predicate Language Qualification</strong>, Written in: <strong>Java (Core C++)</strong>,
Data Model:<strong> Labeled Directed Multi Graph</strong>, Concurrency: <strong>Update locking on subgraphs,
concurrent non-blocking ingest</strong>, Misc: <strong>Free for Qualified Startups</strong>.
</article>
<article>
<h3><a href="http://www.sparsity-technologies.com/dex.php">Sparksee</a></h3> (former DEX):
API: <strong>Java, .NET, C++, Python, Objective-C, Blueprints Interface</strong>
Protocol: <strong>Embedded</strong>,
Query Method: <strong>as above + Gremlin (via Blueprints)</strong>,
Written in: <strong>C++</strong>,
Data Model: <strong>Labeled Directed Attributed Multigraph</strong>,
Concurrency: <strong>yes</strong>,