June 27th, 2024

Redis Alternative at Apache Software Foundation Now Supports RediSearch and SQL

A new query engine, KQIR, supports SQL and RediSearch queries for Apache Kvrocks, a Redis-compatible database. It aims to combine performance with transaction guarantees and complex query support, utilizing an intermediate language for consistency. Future plans include expanding field types and enhancing transaction guarantees.

Read original articleLink Icon
Redis Alternative at Apache Software Foundation Now Supports RediSearch and SQL

A new query engine called KQIR has been introduced for Apache Kvrocks, supporting both SQL and RediSearch queries. Kvrocks, a Redis-compatible database, persists data on disk for enhanced storage capabilities. The need for SQL features in NoSQL databases has led to the emergence of NewSQL databases, aiming to combine performance with transaction guarantees and complex query support. RediSearch, a Redis module, enhances Redis with structured schemas and unique query syntax. KQIR utilizes an intermediate language (IR) to handle SQL and RediSearch queries consistently. The architecture includes an IR optimizer with multiple passes for query optimization. Currently available on the unstable branch, KQIR supports commands like FT.CREATE and FT.SEARCHSQL. Future plans include expanding support for field types, enhancing transaction guarantees, and integrating runtime statistics for optimization. Developers are encouraged to engage with the Apache Kvrocks community to contribute and stay updated on the project's progress.

Related

Link Icon 3 comments
By @rpdillon - 5 months
Adding transactions sounds pretty awesome! I've been a fan of Redis for a while, in part due to my first experiences reading the documentation. In particular I really liked that for every operation the documentation would outline the performance properties of that operation using big-O notation. Since the recent licensing kerfuffle, I'd really like to develop against an open source implementation of Redis, but I don't know if other implementations maintain the same performance properties that the original does. The list of supported commands for KVRocks[0] is impressive, but lacks those details as far as I can tell.

[0]: https://kvrocks.apache.org/docs/supported-commands

By @xnx - 5 months
Current page title: "KQIR: a query engine for Apache Kvrocks that supports both SQL and RediSearch queries"