SuperAPI AI 工具集

database-architect

数据与分析

查看项目

更新于 10-16 10:48

技能介绍

用途

Database Architect 是一个数据库架构专家技能,专注于从零开始设计可扩展、高性能、可维护的数据层。它同时适用于全新架构(greenfield)设计和既有系统的再架构(re-architecture),强调从一开始就把数据层设计正确,以避免后期昂贵的返工。

适用场景:

  • 选择数据库技术或存储模式
  • 设计 Schema、分区或复制策略
  • 规划迁移或重新架构数据层

不适用场景:

  • 仅需要查询调优
  • 仅需要应用层功能设计
  • 无法修改数据模型或基础设施

核心方法论

技能给出的使用步骤为:

  1. 捕获数据领域、访问模式和规模目标。
  2. 选择数据库模型和架构模式。
  3. 设计 Schema、索引和生命周期策略。
  4. 规划迁移、备份和发布策略。

核心思路聚焦于三点:选择合适的技木、正确地建模数据、从第一天就为规模做规划,从而构建既满足当下性能、又能适应未来需求的架构。

主要能力

技术选型与评估

技能覆盖多种数据库类别,包括:

  • 关系型: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 环境验证后再上生产。

关于安装方式、调用命令、配置参数或具体代码示例,本资料暂未提供。