cozo
datahike
Our great sponsors
cozo | datahike | |
---|---|---|
29 | 12 | |
3,099 | 1,579 | |
4.3% | 0.4% | |
8.0 | 7.1 | |
about 1 month ago | 3 months ago | |
Rust | Clojure | |
Mozilla Public License 2.0 | 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.
cozo
- Transactional, relational-graph-vector database that uses Datalog for query
- Learn Datalog Today
-
Documentation for Rust interface
I can figure parts of it out from https://github.com/cozodb/cozo/blob/main/cozo-core/tests/air_routes.rs which is enough to get started
-
The Ten Rules of Schema Growth
I've been keeping an eye on https://github.com/cozodb/cozo which is pretty close to something I've wanted, a sqlite version of datalog/datomic.
- Fast Analytics and Graph Traversals with Datalog
-
These new vector databases are only slightly better than outright scams
Finally, the one product I was extremely impressed with and felt was genuinely impressive as a database in general was cozodb.
-
An embedded NoSQL database on rust.
Take a look at cozodb. It meets most of your goals and I've been really enjoying using it. It might give you some inspiration or something to contribute to.
-
Hyper – A fast and correct HTTP implementation for Rust
Sure. They're called 'partials' sometimes. Useful if you want to rerender just part of a page. This is a pattern used by HTMX, a 'js framework' that accepts fragments of html in an http response and injects it into the page. This is good because it avoids the flash and state loss of a whole page reload. See the HTMX essay on template fragments for a more complete argument [0].
This is a go template for an interactive todos app [1] that I'm experimenting with. The html content of the entire page is present in one template definition which is split into 6 inline {{block}} definitions / "fragments". The page supports 5 interactions indicated by {{define}} definitions, each of which reuse various block fragments relevant to that interaction. I'm in the process of converting it to use embedded cozodb [2] queries which act as a server side data store. The idea here is that the entire 'app', including all html fragments, styles, http requests and responses, db schema, and queries are embedded into this single 100-line file.
[0]: https://htmx.org/essays/template-fragments/
[1]: https://github.com/infogulch/go-htmx/blob/master/templates/t...
[2]: https://github.com/cozodb/cozo
-
What Is a Vector Database
If anyone wants to try a FOSS vector-relational-graph hybrid database for more complicated workloads than simple vector search, here it is: https://github.com/cozodb/cozo/
About the integrated vector search: https://docs.cozodb.org/en/latest/releases/v0.6.html
It also does duplicate detection (Minhash-LSH) and full-text search within the query language itself: https://docs.cozodb.org/en/latest/releases/v0.7.html
HN discussion a few days ago: https://news.ycombinator.com/item?id=35641164
Disclaimer: I wrote it.
-
Calling Rust folks: please liberate Dart from SQL
You are probably talking about this cozo.
datahike
-
The Ten Rules of Schema Growth
Datahike [0] provides similar functionality to datomic and is open source. It lacks some features however that Datomic does have [1].
[0]: https://github.com/replikativ/datahike
-
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.
- datahike for reagent SPA?
-
Open source Datomic?
Check https://github.com/replikativ/datahike
-
Max Datom: Interactive Datomic Tutorial
Oh really interesting. I didn't know about that. I was actually going threw the old Mendat code base and was considering using that.
I would really like a pure Rust version of Datomic for embed use cases.
There is all also Datahike, that is going in that direction too. It is maintained and actively developed.
https://github.com/replikativ/datahike
-
Show HN: Matrix-CRDT – real-time collaborative apps using Matrix as backend
Having an Datomic like store backed by something like this.
https://github.com/replikativ/datahike
Is an Open Source variant of Datomic.
Lambdaforge wants to eventually have this work with CRDTs.
Using the Matrix ecosystem for this is quite interesting as it solves many problems for you already.
-
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 + automatic persistency
Have a look at https://github.com/replikativ/datahike and https://github.com/replikativ/datahike-postgres
-
Clojure Datalog Databases
There is now a datahike linux native image preview available: https://github.com/replikativ/datahike/releases/tag/preview
-
Functional Programming with B trees
And implemented as a full-on datastore queried via Datalog: https://github.com/replikativ/datahike
What are some alternatives?
slashbase - In-browser database IDE for dev/data workflows. Supports PostgreSQL & MongoDB.
xtdb - An immutable database for application development and time-travel data compliance, with SQL and XTQL. Developed by @juxt
souffle - Soufflé is a variant of Datalog for tool designers crafting analyses in Horn clauses. Soufflé synthesizes a native parallel C++ program from a logic specification.
datalevin - A simple, fast and versatile Datalog database
abcl - Armed Bear Common Lisp <git+https://github.com/armedbear/abcl/> <--> <svn+https://abcl.org/svn> Bridge
datascript - Immutable database and Datalog query engine for Clojure, ClojureScript and JS
TCLisp - Truffle Common Lisp
rss-proxy - RSS-proxy allows you to do create an RSS or ATOM feed of almost any website, just by analyzing just the static HTML structure.
QuestDB - An open source time-series database for fast ingest and SQL queries
asami - A graph store for Clojure and ClojureScript
asami - A flexible graph store, written in Clojure
terminusdb - TerminusDB is a distributed database with a collaboration model