HACKER Q&A
📣 _448

Free and open source distributed database written in C++ or C


Any recommendation for a free and open source distributed database that is written in C++ or C?


  👤 hiyer Accepted Answer ✓
Clickhouse for OLAP and ydb for OLTP are both in C++. Both are used at production scale in Yandex. Clickhouse has been around for a long time while ydb is pretty new.

Clickhouse - https://github.com/ClickHouse/ClickHouse

ydb - https://github.com/ydb-platform/ydb


👤 jka
Here's a query on Carnegie Mellon's "Database of Databases" that might help you find some answers:

https://dbdb.io/browse?programming=c&programming=cplusplus&s...

(note that this doesn't filter on license -- I couldn't see a way to add a negative-filter on proprietary licensing -- so you may have to inspect a few of the results to confirm)


👤 jedberg
HN would probably come up with better answers if you told us the problem you're trying to solve instead of the solution you seek.

👤 SwSwinger
https://www.yugabyte.com - Postgres fronted distributed OLTP database

I work there (300+ ppl). It's primarily open source. It makes money through support contracts and cloud hosting, but all core development is done in the open.


👤 wmichelin
Never used it before but check out https://github.com/scylladb/scylla

I have a lot of experience with Cassandra though.


👤 bhangi
Yugabyte is an open source distributed database that has a Postgres compatible query layer as well as a Cassandra compatible one.

https://www.yugabyte.com/


👤 sagarm
What are you trying to do, and why the C++ requirement?

👤 e19293001

👤 toast0
Erlang's Mnesia has parts in C; well the underlying databases ets and dets are in C, the distributed part is in Erlang.

👤 karanbhangui

👤 raz32dust
MySql/Postgres? What am I missing?

👤 jimbob45
Does PostgreSQL not fit your needs?

👤 th3sly
MySQL Innodb Cluster? https://dev.mysql.com/doc/refman/8.0/en/mysql-innodb-cluster... targets C++17 nowadays

👤 shric
PostgreSQL with Patroni and Citus

👤 dewmal
What are the other aspects?

👤 1MachineElf
Surprised MongoDB hasn't been mentioned yet. It's C++



👤 MatthewDaniel69

👤 joshxyz
Check lut cmu database group on youtube, ghe feature a lor of databases

👤 tlhunter
Redis?

👤 UmbertoNoEco
Dont most of them match your specs?

👤 righttoolforjob
Doesn't exist.

👤 bullen
I have one in Java: https://github.com/tinspin/rupy

(Which is better for a server, Java does not crash and it can do atomic shared parallelism between cores with OO code something you would need to use arrays to achieve in C/C++ without VM + GC.)

Here is the 2000 lines of code of the entire database: http://root.rupy.se/code?path=/Root.java&space

Darkmode: http://edit.rupy.se/?path=/Root.java&space

And here you can try it out: http://root.rupy.se