Lindorm CQL : How does Lindorm implement Cassandra CQL compatible

1. BACKGROUND

Aliyun Multi-model database Lindorm is a Semi-structured, structured standardized storage system for massive data scenarios, and is widely used inside and outside Alibaba group. Lindorm has been committed to “make enterprise data available and visiable” and continue to maintain rapid capability updates and technology upgrades. On the one side , Lindorm reduce unit storage costs by introducing low-cost storage pools, at the same time sense user data popularity through intelligent cold and hot separation technology, and then improve query performance. On the other side, Lindorm provides rich global secondary index and search engine capabilities, users can use this through native Lindorm API, HBase compatible API, Lindorm SQL query mode compatible with JDBC standards. Besides Lindorm is a Cloud Native Multi-model database, it can support wide-column、 time series、 search engine、 distribute file system engine. The data of each model is integrated and interoperable, and one write is readable everywhere to meet the needs of users in different scenarios, making application development more agile efficient.

2. The reason for doing Lindorm compatibility with Cassandra CQL

2.1. Benefits of compatibility

2.1.2. Benefit of the product

The Lindorm team maintains a number of database products on the cloud, and compatibility with Cassandra through Lindorm will bring great value gains to related database products.

2.2. Feasibility Analysis

Through the realization of Lindorm and Cassandra engine and the comparison of their data model design, we found many common characteristics, and it is these common characteristics that replace the foundation of Lindorm compatible with Cassandra CQL.

3. The way Lindorm doing compatible with Cassandra CQL

3.1. design concept

• One data model with Multi-terminal:

3.2. Technology Architecture

Cassanda CQL compatibility needs to be considered in two aspects: 1. Compatibility of CQL entry capabilities-Lindorm’s compatibility with CQL syntax; 2. Compatibility of functions exposed by Cassandra CQL.

4. Competitive product comparison

4.1. Overall introduction

In addition to native Cassandra, AWS KeySpace, ScyllaDB, Huawei Cloud GaussDB (for Cassandra), etc. are all compatible with or translated Cassandra.

4.2. Comparison list

The following Cassandra function support comparisons are based on Lindorm2.2, Cassandra 3.11.4, AWS Keyspace (no version information exposed), ScyllaDB (open source version 4.1.5), including functions in internal testing. Lindorm is compatible with Cassandra CQL to CQL Compatibility can reach more than 90%.

5. Conclusion

By being compatible with Cassandra CQL, Lindorm users can use various multi-language Drivers to access Lindorm in CQL mode, the experience will become more friendly and smooth, and reduce the user’s learning costs, and facilitate the low-cost migration of SQL users. For Cassandra users, Lindorm can be migrated seamlessly, using the cold and hot separation technology provided by Lindorm, and relying on low-cost cloud native LindormStore to reduce database costs. For other users, whether they are using Lindorm cluster version or Lindorm serverless version, compatibility with Cassandra will provide a new database option.

6. Future work

In the future, Lindorm’s main work for compatibility with Cassandra CQL will focus on the purpose of “downward compatibility and upward expansion”. Upward, it must be able to support CQL and other excellent function points of query languages, such as aggregation operations, User Defined Function/Type, etc. Downward, Lindorm’s own capabilities should be better exposed. For example, core capabilities such as Serverless, LSearch, and cold and hot separation will be exposed through CQL.

First-hand & in-depth information about Alibaba's tech innovation in Artificial Intelligence, Big Data & Computer Engineering. Follow us on Facebook!