Description
This driver is compatible with RethinkDB 2.0. It is based on the official RethinkDB Python driver.
RethinkDB driver for C++ alternatives and similar libraries
Based on the "Database" category.
Alternatively, view RethinkDB driver for C++ alternatives based on common mentions on social networks and blogs.
-
RocksDB
A library that provides an embeddable, persistent key-value store for fast storage. -
LevelDB
LevelDB is a fast key-value storage library written at Google that provides an ordered mapping from string keys to string values. -
ClickHouse
ClickHouse® is a free analytics DBMS for big data -
LMDB
Read-only mirror of official repo on openldap.org. Issues and pull requests here are ignored. Use OpenLDAP ITS for issues. -
SQLite
Unofficial git mirror of SQLite sources (see link for build instructions) -
sqlite_orm
❤️ SQLite ORM light header only library for modern C++ -
SOCI
Official repository of the SOCI - The C++ Database Access Library -
Sophia
Modern transactional key-value/row storage library. -
cpp_redis
C++11 Lightweight Redis client: async, thread-safe, no dependency, pipelining, multi-platform. -
MongoDB C Driver
The Official MongoDB driver for C language -
libmdbx
One of the fastest embeddable key-value ACID database without WAL. libmdbx surpasses the legendary LMDB in terms of reliability, features and performance. -
Bedrock
Rock solid distributed database specializing in active/active automatic failover and WAN replication -
sqlite_modern_cpp
The C++14 wrapper around sqlite library -
MongoDB Libbson
A BSON utility library. [Apache2] -
upscaledb
A very fast lightweight embedded database engine with a built-in query language. -
SimDB
A high performance, shared memory, lock free, cross platform, single file, no dependencies, C++11 key-value store -
LMDB++
C++11 wrapper for the LMDB embedded B+ tree database library. -
ObjectBox C/C++ database
C and C++ database for objects and structs -
BerylDB
BerylDB is a fully modular data structure data manager that can be used to store data as key-value entries. The server allows channel subscription and is optimized to be used as a cache repository. Supported structures include lists, sets, multimaps, and keys. -
TinyORM
Modern C++ ORM library with MySQL, PostgreSQL, and SQLite support -
tntdb
Tntdb is a c++-class-library for easy access to databases.
Collect and Analyze Billions of Data Points in Real Time
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of RethinkDB driver for C++ or a related project?
README
RethinkDB driver for C++
This driver is compatible with RethinkDB 2.0. It is based on the official RethinkDB Python driver.
Example
#include <memory>
#include <cstdio>
#include <rethinkdb.h>
namespace R = RethinkDB;
int main() {
std::unique_ptr<R::Connection> conn = R::connect("localhost", 28015);
R::Cursor cursor = R::table("users").filter(R::row["age"] > 14).run(*conn);
for (R::Datum& user : cursor) {
printf("%s\n", user.as_json().c_str());
}
}
Build
Requires a modern C++ compiler. to build and install, run:
make
make install
Will build include/rethinkdb.h
, librethinkdb++.a
and
librethinkdb++.so
into the build/
directory.
To include documentation from the Python driver in the header file, pass the following argument to make.
make INCLUDE_PYTHON_DOCS=yes
To build in debug mode:
make DEBUG=yes
To install to a specific location:
make install prefix=/usr/local DESTDIR=
Status
Still in early stages of development.
Tests
This driver is tested against the upstream ReQL tests from the RethinkDB repo, which are programmatically translated from Python to C++. As of 34dc13c, all tests pass:
$ make test
...
SUCCESS: 2053 tests passed