InfluxDB is the Time Series Platform where developers build real-time applications for analytics, IoT and cloud-native services. Easy to start, it is available in the cloud or on-premises. Learn more →
Top 23 C++ Database Projects
-
LevelDB
LevelDB is a fast key-value storage library written at Google that provides an ordered mapping from string keys to string values.
Project mention: Is there a lightweight, stable and embedded database library? | reddit.com/r/golang | 2022-12-19leveldb?
-
Interesting to match with the observations from the practice of using ClickHouse[1][2] for time series:
1. Reordering to SOA helps a lot - this is the whole point of column-oriented databases.
2. Specialized codecs like Gorilla[3], DoubleDelta[4], and FPC[5] lose to simply using ZSTD[6] compression in most cases, both in compression ratio and in performance.
3. Specialized time-series DBMS like InfluxDB or TimescaleDB lose to general-purpose relational OLAP DBMS like ClickHouse [7][8][9].
[1] https://clickhouse.com/blog/optimize-clickhouse-codecs-compr...
[2] https://github.com/ClickHouse/ClickHouse
[3] https://clickhouse.com/docs/en/sql-reference/statements/crea...
[4] https://clickhouse.com/docs/en/sql-reference/statements/crea...
[5] https://clickhouse.com/docs/en/sql-reference/statements/crea...
[6] https://github.com/facebook/zstd/
[7] https://arxiv.org/pdf/2204.09795.pdf "SciTS: A Benchmark for Time-Series Databases in Scientific Experiments and Industrial Internet of Things" (2022)
[8] https://gitlab.com/gitlab-org/incubation-engineering/apm/apm... https://gitlab.com/gitlab-org/incubation-engineering/apm/apm...
[9] https://www.sciencedirect.com/science/article/pii/S187705091...
-
Sonar
Write Clean C++ Code. Always.. Sonar helps you commit clean C++ code every time. With over 550 unique rules to find C++ bugs, code smells & vulnerabilities, Sonar finds the issues while you focus on the work.
-
Project mention: Google's OSS-Fuzz expands fuzz-reward program to $30000 | news.ycombinator.com | 2023-02-02
https://github.com/facebook/rocksdb/issues?q=is%3Aissue+clic...
Here are some bugs in JeMalloc:
-
A custom NodeJS OpenFaaS template that uses MongoDB and Mongoose to manage the data models
-
sqlitebrowser
Official home of the DB Browser for SQLite (DB4S) project. Previously known as "SQLite Database Browser" and "Database Browser for SQLite". Website at:
DB Browser for Sqlite is an open source GUI for sqlite. You point it to a sqlite file and you can browse tables/insert rows, etc. (Note: nothing is persisted to disk until you save!)
-
MMKV
An efficient, small mobile key-value storage framework developed by WeChat. Works on Android, iOS, macOS, Windows, and POSIX.
This library uses MMKV key-value storage and JSI to communicate between the JS side and the native side very quickly and synchronously. It is a suitable replacement for slow AsyncStorage. Follow this guide to migrate from AsyncStorage and get 30x faster on read and write operations in your app.
-
ArangoDB
🥑 ArangoDB is a native multi-model database with flexible data models for documents, graphs, and key-values. Build high performance applications using a convenient SQL-like query language or JavaScript extensions.
Project mention: PRQL a simple, powerful, pipelined SQL replacement | news.ycombinator.com | 2022-12-29Some databases like ArangoDB (https://www.arangodb.com/) allow you to use Javascript instead of SQL.
However, using a type-unsafe, turing-complete language introduces type unsafety and turing-complete problems to the query layer; the usual problems we know and love, such as infinite loops, runtime type errors, exceptions, and the like.
Personally, I'm looking forward to a WASM runtime for databases -- so we can run webassembly on the database. This COULD be carefully designed to be statically checked and, possibly, make it really hard to write runaway loops.
-
InfluxDB
Build time-series-based applications quickly and at scale.. InfluxDB is the Time Series Platform where developers build real-time applications for analytics, IoT and cloud-native services. Easy to start, it is available in the cloud or on-premises.
-
Typesense
Open Source alternative to Algolia and an Easier-to-Use alternative to ElasticSearch ⚡ 🔍 ✨ Fast, typo tolerant, in-memory fuzzy Search Engine for building delightful search experiences
My go to options for Fulltext search is https://opensearch.org or https://typesense.org.
-
Project mention: What are some C++ projects with high quality code that I can read through? | reddit.com/r/cpp_questions | 2023-01-16
Scylla which is a C++ implementation of the Cassandra distributed K:V store https://github.com/scylladb/scylladb
-
NebulaGraph Database
A distributed, fast open-source graph database featuring horizontal scalability and high availability (by vesoft-inc)
A NoSQL graph database is a type of non-relational, distributed database which employs a graph model. NoSQL stands for “Not only SQL” and refers to a new breed of databases that differ from traditional relational databases in their data model and performance. Graph databases are especially useful for data associated with relationships—everything from friendships on social netwo#rks to equipment supply chains or business processes. They can quickly traverse vast amounts of linked data points to discover insights and hidden connections between entities, making them ideal for network analysis– such as financial fraud detection, recommendation engines and many other use cases– all while performing at scale.
-
DuckDB (code) is the SQLite of OLAP queries.
-
oceanbase
OceanBase is an enterprise distributed relational database with high availability, high performance, horizontal scalability, and compatibility with SQL standards.
-
Project mention: SvelteKit 1.0 with SQLite Tutorial (Self Promotion) | reddit.com/r/sveltejs | 2023-01-06
I used better-sqlite3 . It is simple to use as it is synchronous. I don't know if it scales good (at least the docs say it) but works great for my small use cases.
-
Project mention: Best solution for typing suggestions with a huge array? | reddit.com/r/reactnative | 2023-01-31
-
-
Project mention: Bolt: Faster matrix and vector operations that run on compressed data | reddit.com/r/patient_hackernews | 2022-06-18
-
SQL Check is another open source tool (and multi-platform) which looks for common anti-patterns in TSQL code.
-
-
griddb
GridDB is a next-generation open source database that makes time series IoT and big data fast,and easy.
-
incubator-kvrocks
Kvrocks is a distributed key value NoSQL database that uses RocksDB as storage engine and is compatible with Redis protocol.
-
Silicon
A high performance, middleware oriented C++14 http web framework please use matt-42/lithium instead (by matt-42)
-
Project mention: Comprehensive tutorial for working with databases and c++ | reddit.com/r/cpp | 2022-11-01
I had some success with sqlite_orm, but more generally I'd just recommend to pick a lib that fit your needs and read its examples/docs.
-
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
C++ Database related posts
- What kind of SaaS possible as Backend Software Engineer?
- Google's OSS-Fuzz expands fuzz-reward program to $30000
- HN dataset in BigQuery stopped updating on 2022-11-16
- LSM-Tree compaction in YugabyteDB - starting a series of posts
- UKV: Modular Transactional NoSQL DBMS Bringing Zero-Copy Semantics to Storage
- How to install mongodb community edition to ubuntu 22.04
- DALL-E AI IMAGE GENERATOR
-
A note from our sponsor - InfluxDB
www.influxdata.com | 4 Feb 2023
Index
What are some of the best open-source Database projects in C++? This list will help you:
Project | Stars | |
---|---|---|
1 | LevelDB | 31,753 |
2 | ClickHouse | 26,938 |
3 | RocksDB | 24,433 |
4 | MongoDB | 23,127 |
5 | sqlitebrowser | 17,600 |
6 | MMKV | 15,432 |
7 | ArangoDB | 12,800 |
8 | Typesense | 12,207 |
9 | Scylla | 8,990 |
10 | NebulaGraph Database | 8,576 |
11 | duckdb | 8,117 |
12 | oceanbase | 5,148 |
13 | better-sqlite3 | 3,784 |
14 | react-native-mmkv | 2,990 |
15 | heavydb | 2,758 |
16 | bolt | 2,339 |
17 | sqlcheck | 2,248 |
18 | bustub | 2,204 |
19 | griddb | 1,973 |
20 | incubator-kvrocks | 1,910 |
21 | Silicon | 1,730 |
22 | sqlite_orm | 1,710 |
23 | noisepage | 1,663 |