datalevin
DoorScope
datalevin | DoorScope | |
---|---|---|
15 | 2 | |
1,035 | 7 | |
2.1% | - | |
9.6 | 1.8 | |
7 days ago | almost 2 years ago | |
Clojure | C++ | |
Eclipse Public License 1.0 | GNU General Public License v3.0 only |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
datalevin
- Datalevin: A simple, fast and versatile Datalog database
-
Is Datomic right for my use case?
You can also consider other durable Datalog options like datahike or datalevin which can work either as lib (SQLite style) or in a client-server setup; if you want to play with bi-temporality XTDB is a rock solid option with very good support and documentation.
- Datomic is free
-
benefits of clojure for web development over Haskell
There are some Clojure-ecosystems things that are pretty cool, too, that you'd probably miss going into Haskell. lacinia is an extremely cool GraphQL library, and there are a variety of interesting datalog-based datastores which are spiritual descendents of Datomic, notably xtdb (formerly crux) and datalevin. Also as noted, you can write the front-end in ClojureScript if you want to, and there are a lot of cool libraries for that as well.
- SQLite Internals: Pages and B-trees
-
Call for Help - Open Source Datom/EAV/Fact database in Rust.
There are plenty of open source Datomic Inspired databases. Check out https://github.com/juji-io/datalevin and scroll down all the way down to “Alternatives”. There was even the beginning of a rust one by Mozilla: https://github.com/mozilla/mentat
- Datalevin ships performant fulltext search for its KV and Datalog stores
-
T-Wand: Beat Lucene in Less Than 600 Lines of Code
The benchmarks in question have several implementation issues, I reported them on GitHub.
https://github.com/juji-io/datalevin/issues/created_by/caval...
-
Choice of NoSQL database: XTDB vs MongoDB
Highly recommend you give https://github.com/juji-io/datalevin a chance. You can use it both as a key-value and/or relational datalog store (like datomic) but it’s very simple to set up and blazing fast!
-
Ask HN: Why are relational DBs are the standard instead of graph-based DBs?
Unlike some other commenters, I agree that graph models are usually a better fit for most data than relational models. There's been some interesting work in recent years developing this idea: in the Clojure world there's Datomic, XTDB, and a host of competitors, all of which build on work from Semantic Web/SPARQL/triplestores and logic programming. Some are even intended to be used as primary datastores: they support some amount of schema and constraints, have well-defined consistency and ACID guarantees, etc. This makes them unlike graph databases like Neo4J and others, which fill an architectural role more like Elasticsearch as a read-optimization tool. Here's an interesting talk making a case for triple-based databases.
DoorScope
- Ask HN: Have you coded any productivity software just for yourself?
-
SQLite Internals: Pages and B-trees
Interesting article. When I implemented the no-sql database using the sqlite backend 15 years ago (for https://github.com/rochus-keller/DoorScope and https://github.com/rochus-keller/CrossLine) there was little literature about it (section 9 of https://www.amazon.com/Definitive-Guide-SQLite-Experts-Sourc... was helpful). There was no lmdb or leveldb yet; though there was bekreley db and I did prototypes with it, but the sqlite backend turned out to be much leaner and faster for the task at hand.
What are some alternatives?
xtdb - An immutable database for application development and time-travel data compliance, with SQL and XTQL. Developed by @juxt
CrossLine - CrossLine is an outliner with sophisticated cross-link capabilities in the tradition of the well-respected Ecco Pro
datahike - A durable Datalog implementation adaptable for distribution.
schwardle - Implementation of Wordle for the command line in Deno
datascript - Immutable database and Datalog query engine for Clojure, ClojureScript and JS
mentat - UNMAINTAINED A persistent, relational store inspired by Datomic and DataScript.
Apache AGE - Graph database optimized for fast analysis and real-time data processing. It is provided as an extension to PostgreSQL. [Moved to: https://github.com/apache/age]
mentat - A persistent, relational store inspired by Datomic and DataScript.
asami - A graph store for Clojure and ClojureScript
SQLite - Official Git mirror of the SQLite source tree
grakn - TypeDB: the polymorphic database powered by types
active-forks - Find active github forks of a repo https://git.io/vSnrC