用于数据库和可伸缩性的容器

问题描述 投票:0回答:1

考虑TiDBTiDB Operator作为此问题的示例。

TiDB

TiDB(“ Ti”代表Titanium)是一个开源的NewSQL数据库,它支持混合事务处理和分析处理(HTAP)工作负载。它与MySQL兼容,并具有水平可伸缩性,强一致性和高可用性。

TiDB运算符

TiDB Operator在任何启用Kubernetes的云环境中自动部署,操作和管理TiDB集群。

一旦数据库上线,将有两种情况。

  1. 非常只读查询率很高。
  2. [非常高写入查询率。

在这两种情况下,容器化数据库的哪个部分都可以扩展?读取副本?数据库“引擎”本身?持久卷?以上所有?

database openshift scalability kubernetes-pod
1个回答
0
投票

容器化基础架构抽象了存储和计算资源(考虑k8s中的PVPod),并且这些资源随数据库扩展而扩展。因此,扩展形式取决于数据库本身。

对于TiDB,虽然它提供与MySQL兼容的SQL接口,但其architecture与MySQL和其他传统关系数据库有很大不同:

  • SQL layer(TiDB)服务于SQL查询,并根据计算出的query plan与存储层进行交互。它是无状态的,并且可以按需扩展以读取和写入查询。通常,您可以扩展/扩展SQL层以获得更多计算资源,以用于查询计划计算,联接,聚合和服务更多连接。
  • Storage layerTiKV)负责存储数据并为SQL层提供KV API。 TiKV最有趣的部分是多筏复制,存储层自动将数据拆分成多个部分,然后将它们均匀地分配到容器中。每个部分都是一个筏组,其负责人负责读取和写入查询。进行横向扩展时,存储层将自动迁移数据块以平衡负载。因此,横向扩展存储层将为您提供更好的读/写吞吐量和大数据容量。

回到问题,问题量表中提到的所有组件。服务于SQL查询的读/写副本可以扩展,服务于KV查询的数据库“引擎”(存储层)可以扩展,PV也随存储层的扩展过程一起扩展。

© www.soinside.com 2019 - 2024. All rights reserved.