@joepie91 something I worked on even longer ago was an Erlang KV store where the shtick was you could pass it Erlang functions that it'd let modify data in place and log the functions/args themselves (not the changes). And of course you could do reads the same way, "map-reduce" of any complexity you needed.
That project is so dead though it was last online in a Hg repo on Bitbucket, lol. But I still think the concept could have worked.
@virtulis Ah yeah, that sounds like my own database project though that is in JS :)
I did run across one other database that does this, recently, but unfortunately it was proprietary.
@joepie91 I am not aware of any *relational* databases that don't use SQL. There are graph databases that one can do equivalent things with, I guess, like Steve Dekorte's VertexDB. And CouchDB is a document database, but it can do some relational-like things too.
@freakazoid I'd be fine with a graph database, as long as it has sufficient performance on relational tasks (comparable to something like PostgreSQL), and offers a similar set of guarantees - thinking of things like referential integrity and 'proper' transactions.
Do either of those meet those goals? The performance doesn't need to be exactly like PostgreSQL (as that has been seeing optimization for a long time) but also not so slow that it's only really useful in an academic setting :p
@joepie91 Almost certainly not. There aren't that many serious database people in the world, so I would actually be surprised if such a thing existed. Having worked in the NoSQL industry at its genesis, I can tell you those folks aren't serious database people. Maybe some have gotten on board since then, but they're also not open source.
PostgreSQL is basically *the* relational database, open source or not, from what I can tell.
@joepie91 If you're looking for an OLAP-type store instead of OLTP, there's Cassandra and Hive, though. And there's Hbase for OLTP, but I think that one is SQL.
@freakazoid Definitely looking for something OLTP, in the vast majority of cases
@joepie91 Actually I guess Cassandra can do OLTP as well. It's just column-oriented instead of row-oriented. But it's meant to be distributed, so it's not nearly as easy to set up as pgsql.
@joepie91 if you're in a mood to answer, why?
Closest thing that comes to mind would be RethinkDB, which is apparently still alive. Was pretty nice last time I used it (a decade or so ago)
@virtulis I find SQL to be one of the worst designed languages I have ever worked with, and it makes everything I do several times more complicated than it needs to be, basically.
Kind of surprised to hear that RethinkDB is still around and open-source, to be honest, I thought that'd met an untimely end years ago!
@joepie91 same! I guess it still has its connoisseurs :)
And agree on sql, although I only hate the syntax, and what it needs is a better language with a full feature parity to translate back into it, at least at first. Can't see myself ditching Postgres as a backend for anything significant.
GraphQL is somehow even worse though.
@joepie91 I was going to jokingly suggest MongoDb knowing about that one post you made about why it was a garbage fire but it's also not open source. I'm sure they've fixed all of the issues you brought up with it though since and there is an open source version called FerretDB
@tachi I wasn't aware of the existence of FerretDB!
I'm skeptical of anything from the MongoDB lineage, because rather than being a set of concrete bugs, the problem was more the underlying design philosophy (that simply would create more bugs even if old ones are fixed).
I'm seeing that FerretDB is based on PostgreSQL though, which is potentially a reason to reevaluate that skepticism - as that should ensure that at least the core data storage is sound.
Any idea if they've fixed the query injection issues that always haunted MongoDB's syntax?
@joepie91 Sorry no clue. I haven't touched any nosql db let alone mongo/ferret in years and never professionally. But yeah might be worth a revisit.
@joepie91
Hmm I messed around with ArangoDB (graph) a while back and it was interesting. Haven’t looked into it in years though. It was fast then though, I think it could outperform neo4j at the time.
@nerkles Arango seems to have gone proprietary unfortunately :(
@joepie91
Aw damn, I was afraid that would happen.
@joepie91 MySQL X :3
@joepie91
Actually FIle systems are pretty much atomic at this point, so just use those & setup hard drives on top of zfs to ensure integrity. Use structured folders / program catalogs for easy search). additionally , add an ISAM file set if you need faster access.
https://github.com/TheSpeedding/ISAM
(ancient tech, but it works)
I don't have strong opinions on what it *should* be, to be clear, as long as it's not SQL; I'm interested in seeing what other approaches folks have come up with over the years!