5 ms·
I'm interested -- would you be willing to develop on this a little?
by dhbradshaw 5y ago
I'm interested -- would you be willing to develop on this a little?
- hsn915 5y agoFor a single server, SQLite, or boltdb[0] I've never had to scale horizontally. I develop in Go and you can get very far along with just vertical scaling (aka beefier hardware). Therefore I can't give concrete examples of a distributed db-as-a-library. But all that you need is to extend the functions that fetch data to not just fetch from disk but from "peers" as well. For this to work you need servers (instances) to know about each other, and as you add more they also get added to their peers - sort of like a bittorrent network. I don't think it's difficult to do. SQLite might not be suited for being distributed (although RQlite[1] claims to have done it). Making a distributed data storage based on boltdb[0] is probably more feasible. Whatever the case, there's no reason why a data storage engine can't be a library, even if it's distributed. [0]: https://github.com/boltdb/bolt https://github.com/boltdb/bolt [1]: https://github.com/rqlite/rqlite https://github.com/rqlite/rqlite
- otoolep 5y agorqlite author here. It's not quite what rqlite does. rqlite is a distributed database, and it uses SQLite as its storage engine. But it's not a drop-in, distributed, version of SQLite (but it's close, as SQLite is basically fully exposed). https://github.com/rqlite/rqlite/blob/master/DOC/FAQ.md https://github.com/rqlite/rqlite/blob/master/DOC/FAQ.md