用途
Database Architect 是一个数据库架构专家技能,专注于从零开始设计可扩展、高性能、可维护的数据层。它同时适用于全新架构(greenfield)设计和既有系统的再架构(re-architecture),强调从一开始就把数据层设计正确,以避免后期昂贵的返工。
适用场景:
- 选择数据库技术或存储模式
- 设计 Schema、分区或复制策略
- 规划迁移或重新架构数据层
不适用场景:
- 仅需要查询调优
- 仅需要应用层功能设计
- 无法修改数据模型或基础设施
核心方法论
技能给出的使用步骤为:
- 捕获数据领域、访问模式和规模目标。
- 选择数据库模型和架构模式。
- 设计 Schema、索引和生命周期策略。
- 规划迁移、备份和发布策略。
核心思路聚焦于三点:选择合适的技木、正确地建模数据、从第一天就为规模做规划,从而构建既满足当下性能、又能适应未来需求的架构。
主要能力
技术选型与评估
技能覆盖多种数据库类别,包括:
- 关系型:PostgreSQL、MySQL、MariaDB、SQL Server、Oracle
- NoSQL:MongoDB、DynamoDB、Cassandra、CouchDB、Redis、Couchbase
- 时序型:TimescaleDB、InfluxDB、ClickHouse、QuestDB
- NewSQL:CockroachDB、TiDB、Google Spanner、YugabyteDB
- 图数据库:Neo4j、Amazon Neptune、ArangoDB
- 搜索引擎:Elasticsearch、OpenSearch、Meilisearch、Typesense
- 文档存储:MongoDB、Firestore、RavenDB、DocumentDB
- 键值存储:Redis、DynamoDB、etcd、Memcached
- 宽列存储:Cassandra、HBase、ScyllaDB、Bigtable
- 多模型数据库:ArangoDB、OrientDB、FaunaDB、CosmosDB
评估维度包括决策框架(一致性 vs 可用性权衡、CAP 定理影响)、技术评估(性能特征、运维复杂度、成本影响)以及混合架构(多语言持久化、多数据库策略、数据同步)。
数据建模与 Schema 设计
- 概念建模:实体关系图、领域建模、业务需求映射
- 逻辑建模:规范化(1NF-5NF)、反规范化策略、维度建模
- 物理建模:存储优化、数据类型选择、分区策略
- 关系型设计:表关系、外键、约束、引用完整性
- NoSQL 设计模式:文档内嵌 vs 引用、数据冗余策略
- Schema 演进:版本化策略、向后/向前兼容、迁移模式
- 数据完整性:约束、触发器、检查约束、应用层校验
- 时序数据:缓慢变化维度、事件溯源、审计追踪、时间旅行查询
- 层级数据:邻接表、嵌套集、物化路径、闭包表
- JSON/半结构化:JSONB 索引、读时模式 vs 写时模式
- 多租户:共享 Schema、每租户一库、每租户一 Schema 的权衡
- 数据归档:历史数据策略、冷存储、合规要求
规范化与反规范化
技能对规范化收益(数据一致性、更新效率、存储优化)、反规范化策略(读性能优化、降低 JOIN 复杂度)、权衡分析(写 vs 读模式、一致性要求、查询复杂度)、混合方法(选择性反规范化、物化视图、派生列)、OLTP vs OLAP、聚合模式与维度建模(星型、雪花、事实与维度表)均有覆盖。
索引策略与设计
涵盖索引类型(B-tree、Hash、GiST、GIN、BRIN、位图、空间索引)、复合索引(列顺序、覆盖索引、仅索引扫描)、部分索引、全文检索、JSON 索引、唯一约束、索引规划(查询模式分析、选择性、基数)以及索引维护(膨胀管理等)。
安全与限制
技能明确规定:
- 在没有备份和回滚的情况下,避免破坏性变更。
- 迁移计划必须在 staging 环境验证后再上生产。
关于安装方式、调用命令、配置参数或具体代码示例,本资料暂未提供。