Skip to content

Cassandra CQL Protocol Documentation

Cassandra CQL Protocol Documentation

This directory contains consolidated documentation for HeliosDB’s Apache Cassandra CQL protocol support and compatibility.

Quick Start

Connect to HeliosDB using cqlsh or any Cassandra driver:

Terminal window
# Using cqlsh
cqlsh localhost 9042
# Create keyspace
CREATE KEYSPACE my_keyspace WITH REPLICATION = {
'class': 'SimpleStrategy',
'replication_factor': 1
};
USE my_keyspace;
# Create table
CREATE TABLE users (
user_id UUID PRIMARY KEY,
name TEXT,
email TEXT
);

Contents

FileDescription
README.mdOverview and quick start (this file)
CONFIGURATION.mdConnection and protocol configuration
COMPATIBILITY.mdCQL v4/v5 feature compatibility
EXAMPLES.mdCQL examples and usage patterns

Feature Overview

Protocol Support

HeliosDB implements Apache Cassandra Native Protocol with full feature support:

  • Protocol v4/v5: Complete implementation
  • Frame encoding/decoding: Zero-copy parsing
  • Compression: LZ4, Snappy algorithms
  • Authentication: SASL, PasswordAuthenticator
  • Streaming: Multi-frame request/response

Protocol Completeness

FeatureStatusNotes
Binary Protocol (v4/v5)100%Full support
Frame Compression100%LZ4, Snappy
Authentication100%SASL/Password
Prepared Statements100%Full caching
Batch Operations100%All batch types
Paging100%Cursor-based
Events100%SCHEMA_CHANGE, etc.

Architecture

Cassandra Client (cqlsh, DataStax driver)
|
CQL Binary Protocol (TCP port 9042)
|
Frame Codec (Compression, Auth)
|
CQL Parser & Executor
|
Wide-Column -> Relational Mapping
|
HeliosDB Storage Engine

Storage Mapping

Cassandra wide-column model is mapped to HeliosDB’s relational storage:

Cassandra ConceptHeliosDB Mapping
KeyspaceSchema
TableTable
Partition KeyPrimary Key
Clustering ColumnComposite Primary Key
Regular ColumnColumn
Collection TypesJSONB
TTLRow-level expiration
TombstonesSoft delete with cleanup

Connection Parameters

ParameterDefaultDescription
hostlocalhostServer hostname
port9042CQL native port
keyspace-Default keyspace
username-Authentication user
password-Authentication password

Driver Compatibility

LanguageDriverVersionStatus
JavaDataStax4.xFull
Pythoncassandra-driver3.xFull
Node.jscassandra-driver4.xFull
Gogocql1.xFull
C#CassandraCSharpDriver3.xFull
C++cpp-driver2.xFull

Performance

OperationLatencyThroughput
SELECT<1ms overhead100K+ ops/sec
INSERT<1ms overhead50K+ ops/sec
UPDATE<1ms overhead50K+ ops/sec
Batch (100)<5ms overhead10K batches/sec

CQL Features

Data Types

  • Primitives: ASCII, VARCHAR, BIGINT, INT, BOOLEAN, DOUBLE, FLOAT, BLOB, UUID, TIMESTAMP
  • Collections: LIST, SET, MAP (stored as JSONB)
  • Advanced: UDT, TUPLE, COUNTER, TIMEUUID, DURATION

DDL Support

  • Keyspace management (CREATE, ALTER, DROP)
  • Table management with all options
  • Secondary indexes
  • Materialized views

DML Support

  • SELECT with filtering
  • INSERT with TTL
  • UPDATE with conditions
  • DELETE with timestamps
  • BATCH operations

Last Updated: December 2025 Consolidation Status: Complete