3 ms·
All I want is K-V store with indexes. Let database enforce serialization format (JSON, BSON, MessagePack, protobuf.. anything really) + create and maintain ind
by theamk 2y ago
All I want is K-V store with indexes.
Let database enforce serialization format (JSON, BSON, MessagePack, protobuf.. anything really) + create and maintain indices, using this fancy crash-proof logic it has. That'll cover 95% of all my database needs.
(OP also asks for row-based layout, types, and non-trivial language. I think those parts are entirely optional)
- porridgeraisin 2y ago+1. Indexes, triggers (very good abstraction covering everything from computed fields to dependent fields), transactions.
- rapsey 2y agoUse foundationdb then
- nine_k 2y agoA K-V store by construction has an index (over K). But you seem to also want referential integrity and transactions, not small features, limiting the implementation quite a lot. You can attain what you desire by using an RDBMS, and having all tables with one key column, and a TEXT column with your serialized non-key fields; it's going to be a fun approximation of 6NF. Realistically, you can have all joinable columns as normal columns, indexed as you desire, and the rest of the columns as a serialized blob. When you want high parallelism for guaranteed independent segments of data, use sharding.
- mr_toad 2y agoFoundationDB supports referential integrity and indexes in a layer on top of the key value store. https://apple.github.io/foundationdb/layer-concept.html https://apple.github.io/foundationdb/layer-concept.html