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(JSON) Key-value store(TBD) |
| Website | crossdb.org |
| Technical documentation | crossdb.org/intro |
| 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 UNSIGNED TINYINT, SMALLINT, INT, BIGINT TIMESTAMP FLOAT, DOUBLE CHAR, VARCHAR BINARY, VARBINARY INET(IPv4/IPv6 host and subnet), MAC address JSON |
| XML support | no |
| Secondary indexes | yes HASH, RBTREE(TBD) |
| SQL | yes, many extensions from MySQL |
| APIs and other access methods | Proprietary native APIs Multi-statement APIs Prepared statement APIs |
| 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 Multi-source replication Logical Replication(TBD) |
| Data Subscription | yes(TBD) |
| MapReduce | no |
| Consistency concepts | Immediate Consistency |
| Foreign keys | yes(TBD) |
| TTL | yes |
| 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.