用途:Apache Cassandra 是对等(peer-to-peer)分布式数据库,提供高可用且无单点故障,数据通过一致性哈希分布到各节点,适合需要横向扩展与高可用的场景。
主要能力:使用 CQL(Cassandra 查询语言)进行键空间与表的管理和 CRUD;支持 NetworkTopologyStrategy 等复制策略、分区键与聚簇键建模、聚簇排序、时间序列分桶、批次原子操作、一致性级别选择,以及 nodetool 运维命令(status、ring、repair、compact、snapshot)。
数据建模:建议围绕查询模式设计,遵循“一个查询模式一张表”。示例包含 users(分区键 email)、posts_by_user(分区 user_id、聚簇 created_at DESC)、sensor_readings(复合分区 (sensor_id, day)、聚簇 reading_time DESC)。
必要用法: Docker 安装:docker run -d --name cassandra -p 9042:9042 cassandra:4,随后 docker exec -it cassandra cqlsh 连接。 Node.js 驱动:npm install cassandra-driver;Python 驱动:pip install cassandra-driver。 建键空间示例:CREATE KEYSPACE IF NOT EXISTS myapp WITH replication = {'class': 'NetworkTopologyStrategy', 'datacenter1': 3} AND durable_writes = true; 之后 USE myapp;。 CRUD 示例:INSERT INTO users (email, name, created_at) VALUES ('alice@example.com', 'Alice', toTimestamp(now())); SELECT * FROM users WHERE email = 'alice@example.com'; 批次使用 BEGIN BATCH ... APPLY BATCH;。 驱动中可用 prepare: true 预编译,并设置一致性级别(ONE、QUORUM、LOCAL_QUORUM、ALL)。强一致经验规则:写一致性 + 读一致性 > 副本因子,如 RF=3、写=QUORUM(2)、读=QUORUM(2)。
适用场景:需要高可用、无单点、线性扩展的分布式存储,如日志/指标、时间序列、多数据中心部署。
限制:资料未提供具体性能上限、价格、托管方案或其它平台细节,暂未提供。