Bedrock – Rock-solid distributed data
I don&#x27;t quite get why SQLite is the right primitive to compose a large scale database system out of...<p>If the design goal is write throughput, SQLite can be beat really easily by the client&#x2F;server systems since each SQLite instance only supports one concurrent writer. I guess users of Bedrock could partition their datasets into different pieces that aren&#x27;t often written in tandem, but why go through all the trouble instead of just using a database with real MVCC?<p>If the design goal is geo replication, Bedrock seems to ignore the past many years of innovation in the field. MySQL and company have methodically built up features to allow safe synchronous and asynchronous replication for minimizing the risk of downtime or data loss like GTIDs over a long time<p>If the design goal is read throughput, I don&#x27;t think Bedrock can be faster than just pure SQLite if your data can live beside your application, and if you have more than one node, you need a complicated SQL optimizer that understands how to push down things like predicates and aggregates to the leaves, and then recombine results at the top level to actually efficiently read in parallel, which I don&#x27;t think Bedrock has built yet.<p>This thing kind of seems reminiscent of Jetpants or one of the other MySQL orchestration tools that allow for scaling the DB beyond many nodes automatically... but... why SQLite?