datalevin
datascript-tutorial
datalevin | datascript-tutorial | |
---|---|---|
15 | 1 | |
1,035 | 217 | |
2.1% | - | |
9.6 | 1.8 | |
7 days ago | over 2 years ago | |
Clojure | ||
Eclipse Public License 1.0 | - |
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.
datascript-tutorial
-
Datascript minimal example?
From the docs section of the readme off the github repo, there's a good tutorial repo. It includes getting started as well as pretty involved examples across the rest of the lib.
What are some alternatives?
xtdb - An immutable database for application development and time-travel data compliance, with SQL and XTQL. Developed by @juxt
datahike - A durable Datalog implementation adaptable for distribution.
datascript - Immutable database and Datalog query engine for Clojure, ClojureScript and JS
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]
asami - A graph store for Clojure and ClojureScript
grakn - TypeDB: the polymorphic database powered by types
indradb - A graph database written in rust
differential-datalog - DDlog is a programming language for incremental computation. It is well suited for writing programs that continuously update their output in response to input changes. A DDlog programmer does not write incremental algorithms; instead they specify the desired input-output mapping in a declarative manner.
active-forks - Find active github forks of a repo https://git.io/vSnrC
mentat - UNMAINTAINED A persistent, relational store inspired by Datomic and DataScript.
Event Store - EventStoreDB, the event-native database. Designed for Event Sourcing, Event-Driven, and Microservices architectures