Ultra High-performance Lightweight Embedded and Server OLTP RDBMS✨
Name | CrossDB |
---|---|
Description | Ultra High-performance Lightweight Embedded and Server OLTP RDBMS✨ |
Primary database model | Relational DBMS |
Secondary database models | Document store (TBD) Key-value store(TBD) |
Website | crossdb.org |
Technical documentation | crossdb.org/intro |
Developer | JC Wang |
Initial release | 2023 |
License | Open Source, MPL |
Cloud-based only | no |
Implementation language | C |
Server operating systems | Server-Less Mode Embedded Server Mode Standalone Server Mode Linux/MacOS/Windows/FreeBSD 32-bit or 64-bit X86, ARM, PowerPC, MIPS, etc |
Data scheme | yes |
Typing | yes BOOL TINYINT, SMALLINT, INT, BIGINT TIMESTAMP FLOAT, DOUBLE CHAR, VARCHAR BINARY, VARBINARY INET(IPv4/IPv6 host and subnet), MAC address |
XML support | no |
Secondary indexes | yes HASH, RBTREE |
SQL | yes, many extensions from MySQL |
APIs and other access methods | Proprietary native APIs Multi-statement APIs Prepared statement APIs JDBC (TBD) ODBC (TBD) |
Supported programming languages | C, C++, Python, GO, Rust More bindings (TBD) |
Server-side scripts | LUA (TBD) |
Triggers | yes, native languages |
Partitioning methods | none |
Replication methods | Source-replica replication (TBD) Multi-source replication (TBD) Logical Replication (TBD) |
Data Subscription | yes (TBD) |
MapReduce | no |
Consistency concepts | Immediate Consistency |
Foreign keys | yes (TBD) |
TTL | yes (TBD) |
Transaction concepts | ACID |
Concurrency | yes Table-level read-write locks Row-level read-write locks (TBD) Reader-Writer MVCC (write transaction doesn't block read transactions) PostgreSQL-like MVCC (TBD) |
Durability | yes, WAL |
In-memory capabilities | yes |
User concepts | yes (TBD) |
Storage Model | Row-oriented On-Disk, In-Memory, RamDisk Hybrid Storage (on a table-by-table basis, tables can be designated for in-memory or on-disk storage) |
Admin | Embedded shell xdb-cli tool telnet WEB GUI (TBD) |
git clone https://github.com/crossdb-org/crossdb.git
cd crossdb
make build
sudo make install
You need to install MINGW64 to build.
Then set the gcc
path to system environment variables
Path
and make sure gcc
can run.
winbuild.bat
cd build
cmake ..
make
sudo make install
Windows
You need to install MINGW64 CMAKE and make to build.
cd build
cmake -G "MinGW Makefiles" -DCMAKE_C_COMPILER=gcc ..
make
This project is still in its early stages and currently lacks stability. We welcome the following contributions:
- Language bindings:
Python
,Java
,Go
,CSharp
,JavaScript
,PHP
, etc. - Bug Reporting: Identify and report any issues or bugs you encounter.
- Testing: Participate in testing to ensure the reliability and stability of the project.
Your contributions will be greatly appreciated and will help us make this project more robust and reliable.
https://crossdb.org/blog/benchmark/crossdb-vs-sqlite3/
https://crossdb.org/blog/benchmark/crossdb-vs-stlmap/
https://crossdb.org/sql/statements/
https://crossdb.org/client/api-c/
https://crossdb.org/get-started/tutorial/