3 ms·
FoundationDB is very cool, but I wish it didn't require linking in their C library to talk to it. The client story is not good.
by computerfan494 1y ago
FoundationDB is very cool, but I wish it didn't require linking in their C library to talk to it. The client story is not good.
- jwr 1y agoTheoretically you could write your own client library, but this is nontrivial — this is a distributed database. The client library talks to multiple servers. It's not a "connect to a socket and send commands" type of client library, like in case of SQL servers.
- computerfan494 1y agoThe hard part is that there is no client spec you can follow as a third-party. Everything is implementation-defined. If you're out-of-tree, your code can break at any time. If the FoundationDB project committed to a protocol, client authors could write libraries outside of the main project.
- jakemoshenko 1y agoCan you though? The protocol is not very well documented and it seems to iterate rather rapidly with the server version that it aims to be compatible with.
- Dave_Rosenthal 1y agoYou might be able to, but are definitely not supposed to. The client is conceptually "part of the cluster".
- jwr 1y agoAre you planning to? This seems to be a theoretical discussion: I don't think I'd ever want to implement the client part of FoundationDB myself, and I don't really see a good reason to.
- computerfan494 1y agoI'm not planning to because there is no documented protocol. If there were, I might! As a result, I can't use FoundationDB.