lacinia
GraphQL implementation in pure Clojure (by walmartlabs)
datalevin
A simple, fast and versatile Datalog database (by juji-io)
lacinia | datalevin | |
---|---|---|
5 | 15 | |
1,798 | 1,035 | |
0.0% | 2.1% | |
4.9 | 9.6 | |
26 days ago | 6 days ago | |
Clojure | Clojure | |
GNU General Public License v3.0 or later | Eclipse Public License 1.0 |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.
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.
lacinia
Posts with mentions or reviews of lacinia.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-08-09.
-
Walmart “cracking down” on remote work, closing offices and forcing workers to relocate.
Very specific example, but Lacinia, the primary GraphQL open source library used for Clojure apps, was developed by a guy at Walmart Labs. (He has since moved on though.)
-
Current Job Market
https://github.com/walmartlabs/lacinia What I know about tech at Walmart is the Clojure lib above, which is the de facto graphql lib for the language today. Point being that tech existed for a while before big tech, and imo is going to be ever more present in more sectors of the economy. MAANG seems most relevant today in the capacities they gain from the amount of data they collect, and the importance of AWS for infrastructure (unless that's overrated, as it's starting to look like it is). What I know for sure is that the obsession with big tech as a representation of tech as a whole gives a distorted picture of things. Getting closer to reality in this matter is one big challenge.
-
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.
-
Debugging Clojure at the REPL using tap>
Now, I noticed a ways back that Clojure 1.0 added the tap> function, and I vaguely knew it would be helpful for this kind of thing; I finally got around to trying it out to debug some hairy NullPointerException bugs in Lacinia.
-
Down the rabbit hole with Clojure, defrecord, and macros
Part of this was due to some inefficiencies in Lacinia, since corrected, but we also found other hot-spots specific to our application's code.
datalevin
Posts with mentions or reviews of datalevin.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-07-09.
- 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.