4 ms·
Are there any production ready open source databases using it?
by worldsayshi 2y ago
Are there any production ready open source databases using it?
- sirwhinesalot 2y agoDatomic uses Datalog with a weird clojure syntax instead of the usual prolog-like syntax.
- worldsayshi 2y agoNot open source though?
- sirwhinesalot 2y agoHmm open source I'm not sure, there are many SQLite equivalents listed on wikipedia though, if that counts.
- KingMob 2y agoNo. It's only free as in beer. There's some weird mention about the Apache 2 license, but it only applies to the binaries, for some odd reason.
- refset 2y agoCompiling Datalog to SQL with Logica is possibly the easiest path if you need a production ready open source Datalog setup (i.e. choose your favourite managed Postgres provider): https://logica.dev/ https://logica.dev/
- networked 2y agoDataScript, Datahike, Datalevin, and XTDB 1.x are open-source. (XTDB 2.x is also open-source but has switched from Datalog to its own query language and SQL.) DataScript, Datalevin, and XTDB have been used in production; not sure about Datahike. All of these databases come from the Clojure community and target Clojure as the primary language. The XTDB team has published a comparison matrix at https://clojurelog.github.io/ https://clojurelog.github.io/. Aside: I write a lot more Python than Clojure, and I wish someone ported Datalevin/Datahike/persistent DataScript to Python. I'd try it as an alternative to SQLite. I suspect with thoughtful API design, an embedded Datalog could feel organic in Python. It might be easier to prototype with than SQLite. There are Datalog and miniKanren implementations for Python, but they are not designed as an on-disk database. PyCozo might be the closest thing that exists. (A sibling comment https://news.ycombinator.com/item?id=40995652 https://news.ycombinator.com/item?id=40995652 already mentions Cozo.)
- cmrdporcupine 2y agoNot sure if "production ready" but it's worth looking at Cozo: https://github.com/cozodb/cozo https://github.com/cozodb/cozo Has a dialect of Datalog + some vector support. Multiple storage engines for backend including SQLite, so if your concern is data stability that seems like a reasonable, proven option.