We still chose C++ (instead of Rust) for new database development
3 days ago
- #systems-programming
- #database-development
- #cplusplus
- EloqKV is a distributed database built on Data Substrate architecture, primarily written in C++.
- Choosing C++ over modern languages like Rust, Zig, or Golang was a deliberate decision based on ecosystem support, foundational libraries, and long-term viability.
- C++ offers strong database ecosystem support, with many existing databases written in C/C++, enabling easier integration and leveraging existing innovations.
- Foundational libraries for IO, networking, and memory management (e.g., DPDK, RDMA, liburing, mimalloc) are natively supported in C/C++.
- C++'s mature toolchain and longevity make it a safer choice for long-term infrastructure projects, as seen with databases like Oracle, MySQL, and PostgreSQL.
- Rust, while promising, presents challenges in interoperability and ecosystem maturity compared to C++.
- EloqData emphasizes modular design and future-proofing, allowing for potential integration of Rust or other languages where beneficial.
- The team prioritizes avoiding technical debt and ensuring long-term maintainability over rapid iteration.