An open API service indexing awesome lists of open source software.

https://github.com/crossdb-org/crossdb

Ultra High-performance Lightweight Embedded and Server OLTP RDBMS✨
https://github.com/crossdb-org/crossdb

c cache cpp database embedded imdb in-memory json multi-index mysql oltp performance rdbms replication sql sqlite storage transaction

Last synced: 15 days ago
JSON representation

Ultra High-performance Lightweight Embedded and Server OLTP RDBMS✨

Awesome Lists containing this project

README

          







Ultra High-performance Lightweight Embedded and Server OLTP RDBMS✨

## 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)

## Build and Install

### Download code

```bash
git clone https://github.com/crossdb-org/crossdb.git
cd crossdb
```

### Linux/MacOS/FreeBSD

```bash
make build
sudo make install
```

### Windows

You need to install [MINGW64](https://www.mingw-w64.org/) to build.
Then set the `gcc` path to `system environment variables` `Path` and make sure `gcc` can run.

```
winbuild.bat
```

### CMake
```
cd build
cmake ..
make
sudo make install
```

**Windows**

You need to install [MINGW64](https://www.mingw-w64.org/) [CMAKE](https://cmake.org/download/) and [make](https://gnuwin32.sourceforge.net/packages/make.htm) to build.

```
cd build
cmake -G "MinGW Makefiles" -DCMAKE_C_COMPILER=gcc ..
make
```

## Contribution

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.

## Reference

### 1,000,000 Rows Random Access Benchmark vs. SQLite





https://crossdb.org/blog/benchmark/crossdb-vs-sqlite3/

### 1,000,000 Rows Random Access Benchmark vs. C++ STL Map and HashMap





https://crossdb.org/blog/benchmark/crossdb-vs-stlmap/

### SQL Statements

https://crossdb.org/sql/statements/

### APIs

https://crossdb.org/client/api-c/

### Tutorial

https://crossdb.org/get-started/tutorial/

### CrossDB Server

https://crossdb.org/develop/server/

### CrossDB Replication

https://crossdb.org/develop/replication/

### CrossDB JSON

https://crossdb.org/sql/json/