NoSQL Database

Cassandra is a NoSQL database that provides high performance, availability, and scalability. However, these capabilities are not necessarily incompatible with a standards-compliant query language like SQL-92. The adapter models Cassandra tables into relational tables and translates SQL queries into calls to the Cassandra API, the CQL (Cassandra Query Language) binary protocol.

The equivalent of a table in Cassandra is a column family. Column families contain columns of related data. Like other NoSQL databases, Cassandra allows complex types of fields such as set, list, and map. A column family is a nested map data structure. This can be represented as a JSON object.

The adapter offers two ways to model Cassandra objects. The Automatic Schema Discovery scheme automatically finds the data types in a Cassandra object by scanning a configured number of rows of the object. You can use RowScanDepth, FlattenArrays, and FlattenObjects to control the relational representation of the tables in Cassandra.

Optionally, you can use Custom Schema Definitions to project your chosen relational structure on top of a Cassandra object. This allows you to define your chosen column names, their data types, and the location of their values in the Cassandra object.