5. Cassandra
什么是 Cassandra?
Apache Cassandra 是一个分布式 NoSQL 数据库,适用于高可用性和水平扩展的场景,广泛用于大数据存储。
info
Cassandra 采用去中心化架构,支持高吞吐量和无单点故障的分布式存储。
Cassandra 数据结构
Cassandra 采用 键空间(Keyspace) 作为数据库的最顶层单位,表(Table) 作为存储单元,行(Row) 作为数据项。
CREATE KEYSPACE my_keyspace WITH replication = {'class': 'SimpleStrategy', 'replication_factor': 3};
USE my_keyspace;
CREATE TABLE users (
id UUID PRIMARY KEY,
name TEXT,
age INT,
email TEXT
);
Cassandra 基本操作
- CQL(Cassandra Query Language)
- Python
-- 插入数据
INSERT INTO users (id, name, age, email) VALUES (uuid(), 'Alice', 30, 'alice@example.com');
-- 查询数据
SELECT * FROM users WHERE age > 25;
-- 更新数据
UPDATE users SET age = 31 WHERE id = 1234abcd-56ef-78gh-90ij-klmnopqrstuv;
-- 删除数据
DELETE FROM users WHERE id = 1234abcd-56ef-78gh-90ij-klmnopqrstuv;
from cassandra.cluster import Cluster
cluster = Cluster(["127.0.0.1"])
session = cluster.connect("my_keyspace")
# 插入数据
session.execute("""
INSERT INTO users (id, name, age, email)
VALUES (uuid(), 'Alice', 30, 'alice@example.com')
""")
# 查询数据
rows = session.execute("SELECT * FROM users WHERE age > 25")
for row in rows:
print(row.name, row.age, row.email)