Today, we are excited to announce the release of RonDB 24.10. RonDB is a low-latency, high availability, high throughput, and high scalability (LATS) database. For full details, check out the release notes.
There are 11 new features in RonDB introduced with the release of 24.10, along with various bug fixes. Here, we will highlight the new features introduced with the most recent release.
1. Interpreter Enhancements: Native VARBINARY Memory Operations
RonDB has an interpreter used to execute simple programs using a native language, defined in the NDB API and sent with the request. RonDB’s interpreter now has 64 kB memory, which can be used to read, write, partial read, partial write, and append to VARBINARY columns directly within the database. This memory addition lowers latency and supports high-performance, real-time applications as binary data processing can now be done within the database engine.
2. Rondis Server: Redis-Compatible API
In addition to a REST server, RDRS2 also runs a Redis-compatible server we call Rondis. Rondis brings together the ease of Redis with the power of RonDB, creating a highly scalable and available system for diverse application needs. Rondis supports various, familiar Redis commands. There are configuration parameters in Rondis that can be used to configure its behavior per database, meaning that Rondis can serve multiple applications with different requirements based on each database’s configuration.
3. New REST API Server: High-Speed Integration
RonDB now has a new REST API Server, implemented in C++, which conforms to the same protocol as the REST API Server in RonDB 22.10. The new REST API server utilizes the simdjson library, which is roughly 30 times faster on JSON parsing, creating performance improvement from 25% to 900%. This new server also allows faster access to data through the use of RonSQL, a new SQL-over-REST interface.
4. Time-to-Live (TTL) Feature: Introduction of Time-Based Data
With the release of RonDB 24.10 brings the introduction of the new time-to-live (TTL) feature. The TTL is defined in a DATETIME or TIMESTAMP column for each row. Expired rows are hidden by RonDB and can later be purged, simplifying data management and improving storage efficiency. TTL makes it possible to calculate any aggregates within the TTL window, thus getting online aggregate results and improving real-time analytics on recent data.
5. Pushdown Aggregation: Reducing Latency for Real-Time Analytics
RonDB can now perform aggregation directly in the data nodes, significantly reducing query latency and offloading compute from MySQL. Aggregation is handled by a special aggregation interpreter in the RonDB data nodes. This is currently supported for aggregates on a single table and can be used from the NDB API, but most users will access this feature from RonSQL. This feature is ideal for real-time analytics pipelines.
6. RonSQL: SQL Over REST
RonSQL, a new SQL server within the REST API server, allows users to send SQL queries using the RonSQL endpoint to the REST API server. Currently, RonSQL is limited to aggregate queries, though expansion of supported features is planned. RonSQL provides a familiar, flexible interface that accesses RonDB’s distributed, highly available, and low latency storage, providing faster response times and simplifying integration for users.
7. Rate Limits and Quotas: Management for Multi-Tenant Systems
RonDB now includes rate limits and quotas, providing users the ability to limit memory usage, disk usage, and rate limit of a database in RonDB. This includes limiting both the number of concurrent transactions and the size of transactions. Rate limits and quotas are incredibly useful for multi-tenant systems, where multiple users or projects share the same Cluster, as users can better manage resources across multiple projects and manage project performance.
8. Parallelization: Improved Recovery
By doing more things in parallel in the restart phases, we have doubled the speed for restarts involving multiple tables. This feature improves availability, a critical component for high-demand, mission-critical applications.
9. Increased Batch Size on Scan Queries
The possible batch size for scan queries has increased from 992 to 4096, providing a more efficient system for faster query completion.
10. Added New Command to Set LocationDomainID in nbd_mgm
The addition of this new command provides further support for configuring LocationDomainID interactively through the management client, improving network domain setup and replication control.
11. Automatic Memory Management When Running in a Container
RonDB now can optimize resource usage by dynamically adjusting memory allocation based on the container’s limits. This ensures high performance without manual adjustment, maintaining stability, preventing memory overuse, and improving simplicity.
Read the full RonDB 24.10.0 release notes