Introduction¶
CrossDB is a ultra high-performance, lightweight embedded and server OLTP RDBMS. It is designed for high-performance scenarios where the main memory can hold the entire database.
Features¶
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) |
Use Cases¶
- High-frequency trading (OLTP).
- High-performance queries.
- High-performance data management: Use CrossDB OnDisk DB to store data on HDD/SSD/Flash.
- High-performance IMDB: Use CrossDB In-Memory DB to manage process runtime data, replacing STL or hand-written data structures.
- Use CrossDB RamDisk DB to support process restartability and in-service software upgrades (ISSU) easily.
- Use CrossDB as a super-fast cache DB.