ScyllaDB #
文档结构 #
本指南按以下结构组织,适合初学者按顺序学习:
1. 基础入门 #
| 主题 | 描述 | 文档链接 |
|---|---|---|
| ScyllaDB简介 | ScyllaDB的发展历史、特点、应用领域 | scylladb-intro.md |
| 安装与配置 | Linux/Docker/云平台安装配置 | scylladb-install.md |
| CQL基础语法 | CQL语法基础、命名规范、注释 | cql-syntax.md |
| 数据类型 | 内置类型、集合类型、自定义类型 | data-types.md |
2. 架构原理 #
| 主题 | 描述 | 文档链接 |
|---|---|---|
| 分布式架构 | Masterless架构、节点角色、Gossip协议 | distributed-architecture.md |
| 数据分布与分区 | 分区键、Token环、数据分片 | data-partition.md |
| 复制策略 | SimpleStrategy、NetworkTopologyStrategy | replication.md |
| 一致性级别 | 一致性级别选择、权衡策略 | consistency-levels.md |
3. 键空间操作 #
| 主题 | 描述 | 文档链接 |
|---|---|---|
| 创建键空间 | CREATE KEYSPACE语法、复制策略配置 | create-keyspace.md |
| 修改键空间 | ALTER KEYSPACE语法、属性修改 | alter-keyspace.md |
| 删除键空间 | DROP KEYSPACE语法、注意事项 | drop-keyspace.md |
4. 表操作 #
| 主题 | 描述 | 文档链接 |
|---|---|---|
| 创建表 | CREATE TABLE语法、列定义、表属性 | create-table.md |
| 修改表 | ALTER TABLE语法、添加/删除列 | alter-table.md |
| 删除表 | DROP TABLE语法、TRUNCATE清空表 | drop-table.md |
| 主键设计 | 分区键、聚簇列、主键设计原则 | primary-key-design.md |
5. 数据操作 #
| 主题 | 描述 | 文档链接 |
|---|---|---|
| 插入数据 | INSERT语法、批量插入、JSON插入 | insert.md |
| 更新数据 | UPDATE语法、条件更新、计数器更新 | update.md |
| 删除数据 | DELETE语法、条件删除、TTL删除 | delete.md |
| 查询数据 | SELECT语法、过滤、分页 | select.md |
| 批量操作 | BATCH语法、原子性、最佳实践 | batch.md |
6. 高级查询 #
| 主题 | 描述 | 文档链接 |
|---|---|---|
| WHERE子句 | 过滤条件、允许的过滤操作 | where-clause.md |
| 聚合函数 | COUNT、SUM、AVG、MIN、MAX | aggregate-functions.md |
| 排序与分页 | ORDER BY、LIMIT、分页查询 | order-limit.md |
7. 索引 #
| 主题 | 描述 | 文档链接 |
|---|---|---|
| 二级索引 | 创建索引、使用场景、限制 | secondary-index.md |
| SASI索引 | SASI索引特点、创建使用 | sasi-index.md |
| 物化视图 | 创建视图、数据同步、使用场景 | materialized-view.md |
8. 高级特性 #
| 主题 | 描述 | 文档链接 |
|---|---|---|
| 集合类型 | List、Set、Map使用详解 | collections.md |
| 用户定义类型 | UDT创建、使用、嵌套类型 | udt.md |
| 计数器 | 计数器表设计、增减操作 | counter.md |
| TTL过期 | 数据自动过期、TTL设置 | ttl.md |
| 轻量级事务 | LWT语法、条件插入、性能影响 | lwt.md |
9. 管理与运维 #
| 主题 | 描述 | 文档链接 |
|---|---|---|
| 集群管理 | 集群规划、部署、配置 | cluster-management.md |
| 节点管理 | 添加/移除节点、负载均衡 | node-management.md |
| 备份与恢复 | 快照备份、增量备份、恢复策略 | backup-restore.md |
| 性能优化 | 读写优化、内存调优、压缩策略 | performance-tuning.md |
| 监控与诊断 | nodetool工具、日志分析、性能指标 | monitoring.md |
10. ScyllaDB特有特性 #
| 主题 | 描述 | 文档链接 |
|---|---|---|
| Shard感知 | 分片感知驱动、连接优化 | shard-awareness.md |
| 竞价IO | 竞价IO机制、优先级调度 | competing-io.md |
| Alternator | DynamoDB兼容API、迁移指南 | alternator.md |
学习路线 #
text
入门阶段
├── ScyllaDB简介
├── 安装配置
├── CQL基础语法
└── 数据类型
基础阶段
├── 理解分布式架构
├── 键空间操作
├── 表操作
└── 基本CRUD
进阶阶段
├── 主键设计
├── 索引优化
├── 高级查询
└── 集合与UDT
高级阶段
├── 一致性级别调优
├── 轻量级事务
├── 性能优化
└── 集群运维
适用人群 #
| 人群 | 建议 |
|---|---|
| 初学者 | 从基础入门开始,按顺序学习 |
| 开发者 | 重点学习CQL语法和数据建模 |
| DBA | 重点学习架构原理和运维管理 |
| 架构师 | 全面掌握,重点关注分布式架构设计 |
学习建议 #
- 理解架构:ScyllaDB与传统关系型数据库差异很大,先理解其分布式架构
- 数据建模:学会基于查询模式设计表结构,这是ScyllaDB的核心
- 动手实践:搭建集群环境,多写CQL语句
- 性能优化:理解读写路径,掌握调优技巧
- 持续学习:关注新版本特性,参与社区讨论
版本说明 #
本教程基于 ScyllaDB 5.x/6.x 版本编写,同时兼顾 4.x 版本的兼容性说明。
开始你的ScyllaDB学习之旅吧!
最后更新:2026-03-27