考虑TiDB和TiDB Operator作为此问题的示例。
TiDB
TiDB(“ Ti”代表Titanium)是一个开源的NewSQL数据库,它支持混合事务处理和分析处理(HTAP)工作负载。它与MySQL兼容,并具有水平可伸缩性,强一致性和高可用性。
TiDB运算符
TiDB Operator在任何启用Kubernetes的云环境中自动部署,操作和管理TiDB集群。
一旦数据库上线,将有两种情况。
在这两种情况下,容器化数据库的哪个部分都可以扩展?读取副本?数据库“引擎”本身?持久卷?以上所有?
容器化基础架构抽象了存储和计算资源(考虑k8s中的PV
和Pod
),并且这些资源随数据库扩展而扩展。因此,扩展形式取决于数据库本身。
对于TiDB,虽然它提供与MySQL兼容的SQL接口,但其architecture与MySQL和其他传统关系数据库有很大不同:
回到问题,问题量表中提到的所有组件。服务于SQL查询的读/写副本可以扩展,服务于KV查询的数据库“引擎”(存储层)可以扩展,PV也随存储层的扩展过程一起扩展。