Samba on Scale: Difference between revisions

From SambaWiki
Line 12: Line 12:
|-
|-
| [https://docs.ceph.com/en/quincy/rados/api/librados-intro/ Ceph Rados] || K/V ||[http://www.cs.nthu.edu.tw/~ychung/conference/2016_ICPADS.pdf Linearizability] || LWT via Object Operations || yes ||
| [https://docs.ceph.com/en/quincy/rados/api/librados-intro/ Ceph Rados] || K/V ||[http://www.cs.nthu.edu.tw/~ychung/conference/2016_ICPADS.pdf Linearizability] || LWT via Object Operations || yes ||
|-
| [https://www.foundationdb.org/ FoundationDB] || K/V || [https://jepsen.io/consistency/models/strict-serializable Strict Serializability] || yes || yes || [http://charap.co/reading-group-foundationdb-a-distributed-unbundled-transactional-key-value-store/ Architecture review]
|-
|-
| [https://www.yugabyte.com/ YugabyteDB] || SQL || [https://youtu.be/w_zYYF3-iSo?t=2001 Single-key Linearizability with LWT] || yes || yes ||
| [https://www.yugabyte.com/ YugabyteDB] || SQL || [https://youtu.be/w_zYYF3-iSo?t=2001 Single-key Linearizability with LWT] || yes || yes ||
Line 21: Line 23:
| [https://cassandra.apache.org/_/index.html Apache Cassandra 5] || CQL || Upcoming:<br />[https://thenewstack.io/an-apache-cassandra-breakthrough-acid-transactions-at-scale/ Strict Serializability] [https://cwiki.apache.org/confluence/display/CASSANDRA/CEP-15%3A+General+Purpose+Transactions?preview=/188744725/188744736/Accord.pdf]|| yes || [https://docs.datastax.com/en/developer/cpp-driver/2.16/topics/ yes] ||
| [https://cassandra.apache.org/_/index.html Apache Cassandra 5] || CQL || Upcoming:<br />[https://thenewstack.io/an-apache-cassandra-breakthrough-acid-transactions-at-scale/ Strict Serializability] [https://cwiki.apache.org/confluence/display/CASSANDRA/CEP-15%3A+General+Purpose+Transactions?preview=/188744725/188744736/Accord.pdf]|| yes || [https://docs.datastax.com/en/developer/cpp-driver/2.16/topics/ yes] ||


|-
| [https://www.foundationdb.org/ FoundationDB] || K/V || [https://jepsen.io/consistency/models/strict-serializable Strict Serializability] || yes || yes || [http://charap.co/reading-group-foundationdb-a-distributed-unbundled-transactional-key-value-store/ Architecture review]
|-
|-
| [https://www.cockroachlabs.com/ CockroachDB] || SQL || [https://www.cockroachlabs.com/blog/consistency-model/#cockroachdbs-consistency-model-more-than-serializable-less-than-strict-serializability Serializable+], [https://www.cockroachlabs.com/blog/db-consistency-isolation-terminology/ Strong Partition Serializability] || LWT || yes || [https://jepsen.io/analyses/cockroachdb-beta-20160829 Jepsen]
| [https://www.cockroachlabs.com/ CockroachDB] || SQL || [https://www.cockroachlabs.com/blog/consistency-model/#cockroachdbs-consistency-model-more-than-serializable-less-than-strict-serializability Serializable+], [https://www.cockroachlabs.com/blog/db-consistency-isolation-terminology/ Strong Partition Serializability] || LWT || yes || [https://jepsen.io/analyses/cockroachdb-beta-20160829 Jepsen]

Revision as of 16:32, 14 March 2023

List of scalable Key/Value Stores

For an overview of Consistency Models see Jepsen or Wikipedia. Note: LWT are defined as multiple operations on a single key.

Name Type Consistency Model Transactions C Client Notes
ctdb K/V Volatile DBs: Basically Sequential Consistency
Persistent DBs: Strict Serializability
No
Yes
yes
etcd K/V Linearizability LWT ("mini") yes Why?
Ceph Rados K/V Linearizability LWT via Object Operations yes
FoundationDB K/V Strict Serializability yes yes Architecture review
YugabyteDB SQL Single-key Linearizability with LWT yes yes
Apache Cassandra 1-4 CQL Configurable, highest:
Single-key Linearizability with LWT
yes yes
Apache Cassandra 5 CQL Upcoming:
Strict Serializability [1]
yes yes
CockroachDB SQL Serializable+, Strong Partition Serializability LWT yes Jepsen
ScyllaDB CQL Single-key Linearizability with LWT LWT yes Intel DPDK via Seastar
tikv K/V Strong Consistency[2] yes (Percolator based) no (C++)
Apache Pegasus ? ? ? no (C++)
Apache HBase ? ? ? ?
Apache Ignite ? ? ? ?

Rapid Samba dbwrap backend prototyping

A new dbwrap backend called dbwrap_py that calls into Python for the database operations. Available backends:

Strict-serializability, can we get away with something weaker?

List of Opensource Clustered Filesystems

Name Built on-top of Object Storage Notes
Ceph yes
GlusterFS no
JuiceFS yes
MooseFS no
ObjectiveFS yes
Lustre no
BeegFS no

Links