Samba on Scale: Difference between revisions
From SambaWiki
Slowfranklin (talk | contribs) No edit summary |
Slowfranklin (talk | contribs) |
||
Line 7: | Line 7: | ||
! Name !! Type || Consistency Model || Transactions || C Client || Notes |
! Name !! Type || Consistency Model || Transactions || C Client || Notes |
||
|- |
|- |
||
| [https://wiki.samba.org/index.php/CTDB_and_Clustered_Samba ctdb] || K/V || Volatile DBs: [https://jepsen.io/consistency/models/sequential Sequential |
| [https://wiki.samba.org/index.php/CTDB_and_Clustered_Samba ctdb] || K/V || Volatile DBs: [https://jepsen.io/consistency/models/sequential Real-Time Sequential]<br />Persistent DBs: [https://jepsen.io/consistency/models/linearizable Strict Serializability] || No<br/>Yes || yes || |
||
|- |
|- |
||
| [https://etcd.io/ etcd] || K/V || [https://etcd.io/docs/v3.3/learning/api_guarantees/ Linearizability] || LWT ("mini") || yes || [https://etcd.io/docs/v3.3/learning/why/ Why?] |
| [https://etcd.io/ etcd] || K/V || [https://etcd.io/docs/v3.3/learning/api_guarantees/ Linearizability] || LWT ("mini") || yes || [https://etcd.io/docs/v3.3/learning/why/ Why?] |
Revision as of 16:39, 23 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: Real-Time Sequential 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?
- How to talk about consistency and isolation in distributed DBs
- Correctness Anomalies Under Serializable Isolation
- Consistency Guarantees in Distributed Systems Explained Simply
- Strict-serializability, but at what cost, for what purpose?
- CockroachDB's consistency model
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
- Replicated Data Consistency Explained Through Baseball
- A Comparison of Scalable Database Isolation Levels
- Correctness Anomalies Under Serializable Isolation
- Linearizability vs Serializability, and Distributed Transactions
- Comparison of a few SQL and no-SQL DBs
- Summary of Paxos, Multipaxos, Raft, Epaxos and ACCORD
- Nice Summary of Consistency Models and Issues in CockroachDB
- FUSE Filesystem on-top of FoundationDB
- YCSB
- Benchant YCSB Ranking
- How FoundationDB works
- Fast General Purpose Transactions in Apache Cassandra
- Comparing Distributed Transaction Architectures for the Cloud Era
- MIT Distributed Systems Course
- Highly Available Transactions: Virtues and Limitations