4 ms·
Tangentially, has anyone tried using etcd as a database for content? etcd was obviously designed for consensus, coordination and discovery, but there seems to
by lobster_johnson 10y ago
Tangentially, has anyone tried using etcd as a database for content?
etcd was obviously designed for consensus, coordination and discovery, but there seems to be nothing to prevent it from being perfectly adequate as a data store for other things. From what I can tell, it's pretty fast, strongly consistent, replicating, and has the building blocks to perform atomic transactions across multiple keys. It might work really well as the primary store of truth with something like Elasticsearch on top.
- niftich 10y agoThere are a few things preventing it from being an effective database for general-purpose content: - "bespoke" data storage [1] - originally optimized for small amounts of data [2] v3 made progress on both of these fronts but see [3][4] [1] https://github.com/coreos/etcd/issues/2647 https://github.com/coreos/etcd/issues/2647 [2] https://groups.google.com/forum/#!searchin/etcd-dev/store/etcd-dev/ATZm7sRJy60/aqeQcrIB7NcJ https://groups.google.com/forum/#!searchin/etcd-dev/store/et... [3] https://coreos.com/etcd/docs/latest/faq.html#deployment https://coreos.com/etcd/docs/latest/faq.html#deployment [4] https://coreos.com/etcd/docs/latest/op-guide/hardware.html https://coreos.com/etcd/docs/latest/op-guide/hardware.html
- lobster_johnson 10y agoHm. The first two are pre-3.x, and that issue (#2647) is closed, seemingly because everything has been implemented? Not seeing any huge limitations mentioned in 3 and 4. The "small amounts of data" issue apparently no longer applies to 3.x, which now persists efficiently to disk. Not sure what "bespoke" data storage means? 3.x has pluggable backends.
- niftich 10y agoI thought they might've meant to add pluggable backends but I can't find any reference to them? Do you have a link?
- lobster_johnson 10y agoOops, I might be confusing it with something else, sorry.