Cassandra CQL 命令行客户端
cqlsh 是 Apache Cassandra 自带的交互式客户端,执行 CQL(Cassandra Query Language)。CQL 看起来像 SQL,但没有 JOIN、外键和跨分区事务,查询模式必须围绕分区键设计。
cqlsh db.example.com 9042
cqlsh db.example.com 9042 -u app -p "$CASSANDRA_PASSWORD"
cqlsh db.example.com 9042 --ssl -u app -p "$CASSANDRA_PASSWORD"
cqlsh db.example.com -k app -e 'SELECT * FROM orders LIMIT 5;'
cqlsh db.example.com -f migration.cql
交互命令:
DESCRIBE KEYSPACES;
DESCRIBE TABLES;
DESCRIBE TABLE app.orders;
CONSISTENCY LOCAL_QUORUM;
TRACING ON;
SOURCE 'migration.cql';
COPY app.orders TO '/tmp/orders.csv' WITH HEADER = true;
WHERE 必须命中分区键/聚簇键。CONSISTENCY 设置。ALLOW FILTERING 能跑但代价高;生产查询应通过数据模型解决。DELETE 会产生 tombstone,读放大严重;按 TTL 和 compaction 策略设计。COPY FROM 或 sstableloader,逐条 INSERT 很慢。nodetool — 集群状态与运维cassandra — 服务端启动