Show HN: Cozo – new Graph DB with Datalog, embedded like SQLite, written in Rust

Hacker News

Realest
Joined
Sep 15, 2022
Messages
72,648
Reaction score
15
BC
฿0
Dividends
0
Hi HN, I have been making this Cozo database since half a year ago, and now it is ready for public release.
My initial motivation is that I want a graph database. Lightweight and easy to use, like SQLite. Powerful and performant, like Postgres. I found none of the existing solutions good enough.
Deciding to roll my own, I need to choose a query language. I am familiar with Cypher but consider it not much of an improvement over CTE in SQL (Cypher is sometimes notationally more convenient, but not more expressive). I like Gremlin but would prefer something more declarative. Experimentations with Datomic and its clones convinced me that Datalog is the way to go.
Then I need a data model. I find the property graph model (Neo4j, etc.) over-constraining, and the triple store model (Datomic, etc.) suffering from inherent performance problems. They also lack the most important property of the relational model: being an algebra. Non-algebraic models are not very composable: you may store data as property graphs or triples, but when you do a query, you always get back relations. So I decided to have relational algebra as the data model.
The end result, I now present to you. Let me know what you think, good or bad, and I'll do my best to address them. This is the first time that I use Rust in a significant project, and I love the experience!



Comments URL: https://news.ycombinator.com/item?id=33518320

Points: 13

# Comments: 0

Continue reading...
 
  • :)
  • :trolljak:
  • :yb:
  • :thumbsupsoyjak
  • :meds:
  • :cigar:
  • :soy4:
  • :babysoyjak:
  • :blacksoyjak:
  • :wepa:
  • :devioussoyjak:
  • :closedeyedsoyjak
  • :neutralsoyjak:
  • :songus:
  • :soy3:
  • :soyddit:
  • :itsover:
  • :tunes:
  • :jfl:
  • :wat:
  • :shrek:
  • :soy:
  • :sand:
  • :bateman:
  • :real:
  • :peat:
  • :qrn:
  • :feelsuhh:
  • :macaco:
  • :ohreally:
  • :rnc2:
  • :soy2:
  • ;)
  • :(
  • :mad:
  • :confused:
  • :cool:
  • :p
  • :D
  • :eek:
  • :oops:
  • :rolleyes:
  • o_O
  • :cautious:
  • :censored:
  • :cry:
  • :love:
  • :LOL:
  • :ROFLMAO:
  • :sick:
  • :sleep:
  • :sneaky:
  • (y)
  • (n)
  • :unsure:
  • :whistle:
  • :coffee:
  • :giggle:
  • :alien:
  • :devilish:
  • :geek:
  • :poop:
  • :ninja:

Users who are viewing this thread

Top