Scaling ACID SQL
summary
Describes using VoltDB with native Erlang driver (no C) and Java stored procedures, horizontal partitioning by a customer-centered snowflake primary key, and full ACID despite being in-memory with disk persistence. Claims the Erlang driver matches Node.js speed; benchmarked a TV-voting workload at 877 transactions/sec (about 26,500 tx/sec per CPU core), driver and cluster tooling are working in production, and elastic adds of servers and replicated non-snowflake tables let most transactions complete on one node.
AI-written summary · about
chapters (12)
- 0:00Erlvolt: Scaling ACID
- 1:12The Quest for Perfection
- 9:24VoltDB Positioning
- 17:04Double Bookkeeping
- 18:51Partitions
- 19:29Snowflake Structures
- 22:16Stored Procedures
- 27:38Examples
- 31:20SQL Statements
- 32:25SQL Extensions
- 32:49Resources
- 33:33Questions
related talks
52mTransactions: Myths, Surprises and Opportunities
49mThe Paradigm Shift - Understanding the Move To Distributed Databases
01h 03mRavenDB: Practical Considerations for ACID/MVCC Storage Engines
16mScaleDB: A Scalable, Asynchronous In-Memory Database
01h 02mRonDB: A Key-Value Store with SQL Capabilities and LATS Properties
01mDon't Drop ACID - Transactions in Distributed NoSQL
52mACID in SQL Server: what it is, how it works, and how to live more adventurously.
48mThe Accord Consensus Protocol, how to do ACID transactions at scale
