-
Also:
https://sive.rs/pg2 - Simplify: move code into database functions
https://sive.rs/pg - PostgreSQL example of self-contained stored procedures
some linked examples: https://github.com/sivers/store/tree/master/store/functions
I like this idea in theory ... although it would cause me to need to know a lot more SQL, which is a powerful but hostile language :-/
I care about factoring stuff out into expressions / functions and SQL fails in that regard ...
https://www.scattered-thoughts.net/writing/against-sql/
It's hard to imagine doing this with a ton of duplication. I have written SQL by hand and there are probably more confusing corners than shell, which is saying a lot (and which I didn't have too hard a time learning)
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
For 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
[1]: https://github.com/rqlite/rqlite
-
For 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
[1]: https://github.com/rqlite/rqlite
Related posts
-
Rqlite: Lightweight, user-friendly, distributed relational db built on SQLite
-
rqlite: A lightweight, user-friendly, distributed relational db built on SQLite
-
Show HN: Rqlite and Docker and SQLite-vec – highly-available Vector Search
-
The lightweight, easy-to-use, distributed relational database built on SQLite
-
Rqlite 8.0