【产品调研】你希望 TiKV 支持共享存储吗?参与调研可获得 100分,抽3名小伙伴送最新款金属手机支架!

调研背景

TiDB 采用存算分离架构,存储层最佳实践方案采用本地单盘 Nvme 部署性能优势明显。但是在关键业务场景中,基于存储容灾可靠性以及存储成本考虑会考虑使用共享存储。共享存储技术方案中 S3 技术被广泛的实践落地验证,也获得大量用户认可。TiDB 在存储层 TiKV 支持共享存储的产品需求要被关注和评估。

在 TiDBv7.5 的时候,tiflash 支持 S3 正式 GA 了,相关文档: https://docs.pingcap.com/zh/tidb/dev/tiflash-disaggregated-and-s3 。Tiflash 支持 S3 之后,我们开始听到了小伙伴对 TiKV 支持共享存储的各种声音…

当前 TiDB Severless 支持存储层使用 S3,在云上采用共享存储方案技术成熟。在本地部署方案中,在一些非关键或者测试环境场景中,TiDB 在部署 TiKV 可以使用共享存储通过划分本地 LAN 存储方式来支撑使用,该存储方案的读写性能损耗严重,且极端场景存储数据丢失无法恢复等问题亟需解决。结合数据库市场中针对共享存储的数据库解决方案案例,TiDB 在内核层面会积极评估和权衡 TiDB 支持共享存储的方案需求。考虑评估使用共享存储,诸如 块存储、 OSS /S3、 NAS 等类别共享存储,所以开展本地调研来收集广大 TiDB 用户对共享存储使用需求以及场景情况。

参与调研

  1. 场景需求: 你当前的业务中是否遇到了需要使用 TiKV 支持共享存储的场景?你期望通过 TiKV 支持共享存储的满足你哪些要求/需求?希望使用那种共享存储来支撑该场景?你能否提供当前业务中数据读写比例以及负载情况、读写延迟情况,如果使用共享存储的场景、规模、架构方案等信息?

  2. 痛点描述: 在使用当前采用直通盘 Nvme SSD 存储解决方案时,你遇到了哪些问题?这些问题是否包括了性能损耗、数据丢失风险、硬件成本过高、架构技术调整困难或运维复杂性?这些问题是否对你的业务造成了影响,你期望通过 TiKV 支持共享存储来解决哪些痛点?

  3. 功能需求:你期望 TiKV 支持共享存储提供可以实现哪些功能?例如,支持指定共享存储类别(例如 S3、块存储、NAS 等),指定 TiKV 数据副本数量,副本同步依赖共享存储实现,TiKV 支持混合存储模式等等。

参与调研奖励:

按要求回复 3 个问题即可参与抽奖,本次调研将抽 3 名小伙伴获得最新款金属手机支架 & 奖励 100 积分 & 经验值。

没有按照要求回复将不参与奖励和抽奖。

最新款金属手机支架

后续计划

调研之后我们会与有强需求场景的小伙伴,随机抽取 3-5个小伙伴进行 1v1 深入沟通产品需求,如有迭代计划将在本贴第一时间更新计划。

场景需求
目前业务有需求“同城双活”。TiDB 目前的解决方案是 DR-AUTOSYNC 或 Ticdc,但 corner case 其实这两个方案都不具备“真正双活”的能力,它不能 100% 保证两个中心的数据一致性。业界参考解决方案其中之一是使用“共享存储”,同城双中心的两套集群共享一份数据,理论上可以满足业务对数据库“双活的需求”

痛点描述
直通 ssd 目前有两个问题:1是可靠性待提高:单盘不具备硬件冗余性而双盘冗余,如果是“硬” raid 需要专门 raid 卡支持,如果是软 raid,可靠性和成本又会增加。 2是磁盘资源可能会浪费。共享存储可以避免这些问题

功能需求
1)希望支持华为的 Dorado
2)希望保证性能至少不大幅度降级
3)希望同城中心可以使用共享存储中的数据,RTO无限接近0 的接管故障中心的集群业务

5 个赞

场景需求
暂无。目前的tidb,多副本机制,已经能保证相当高水平的数据安全。

痛点描述
单盘可能存在一定的故障风险,会引发一定的数据库可用性。

功能需求
暂无。

场景需求
暂无。 tidb多副本机制,已经能保证高可用、高性能等需求。

痛点描述
共享存储存在存储单点故障风险,如果共享存储出现问题,整个集群都会受到影响;

功能需求

如开发该功能,希望可以将存储设备分成不同的故障组,确保同一组内的磁盘不同时出现故障,降低数据丢失风险。通过配置镜像或条带化方式,确保数据在不同的故障组中有备份,从而提高可用性。在添加或移除磁盘时,会自动重新平衡数据,以保持性能和容量的最优配置。提供监控工具,帮助管理员识别和管理故障组的状态,及时处理潜在问题。在某个故障组发生故障时,可以自动转移数据访问到其他可用的故障组。

场景需求
暂无

我觉得目前直通 ssd 挺好的,依靠 TiDB 的多副本就可以实现高可用
TiDB 数据库对写入能力要求比较高,高端存储比较贵,一般自带多副本,如果用共享存储的话,TiKV 还要用多副本吗?这种架构最终可以节省成本吗?

场景需求

  • 是否遇到需要使用 TiKV 支持共享存储的场景:是。在多个项目中,尤其是在涉及大规模数据分析和高并发访问的应用场合下,我们遇到了对共享存储的强烈需求。
  • 期望满足的要求/需求:主要希望通过 TiKV 支持共享存储来提高系统的可扩展性、减少数据冗余、简化备份恢复流程以及降低整体拥有成本。同时,期望能够提升数据的安全性和可用性,确保在任何情况下都能快速响应业务需求。
  • 期望使用的共享存储类型:S3 和 NAS。这两种存储方式在业界有着广泛的应用基础,能够很好地平衡性能与成本。
  • 业务中数据读写比例及负载情况:通常情况下,我们的业务场景呈现较高的读取频率,读写比约为 7:3。在高峰期,系统可能面临极高的请求量,此时对存储性能的要求尤为严格。
  • 使用共享存储的具体场景、规模、架构方案:计划在现有微服务架构的基础上,引入 TiDB 作为核心数据库,利用其分布式特性来处理海量数据。初期预计集群规模为 10 个节点左右,未来根据业务增长进行横向扩展。

痛点描述

  • 遇到的问题:使用直通盘 NVMe SSD 存储解决方案时,尽管性能优越,但也暴露出了一些不足之处,如高昂的硬件成本、有限的扩展能力、数据保护机制相对单一等。
  • 对业务的影响:这些问题直接导致了系统维护成本的增加,尤其是在需要频繁进行数据迁移或升级时,给业务连续性带来了挑战。
  • 期望解决的痛点:希望通过引入 TiKV 对共享存储的支持,能够有效缓解上述问题,特别是在降低成本、增强数据安全性和提高系统灵活性方面。

功能需求

  • 支持多种共享存储类别:希望 TiKV 能够灵活对接 S3、块存储、NAS 等不同类型共享存储,以适应不同的业务场景。
  • 指定数据副本数量及同步策略:允许用户根据实际需求设置数据副本的数量,并且能够选择合适的副本同步策略,保证数据的一致性和可靠性。
  • 混合存储模式:支持在同一 TiKV 集群内部署多种类型的存储介质,以便于用户根据数据的重要性和访问频次合理分配存储资源,进一步优化成本结构。
1 个赞

1、数据归档场景,性能和qps要求不高,但存储量极大,
2、没遇到啥问题
3、支持指定共享存储类别、指定 TiKV 数据副本数量

  1. 场景需求: 暂无,目前 TiDB 水平扩展机制已经满足业务系统需求 ;
  2. 痛点描述: TiKV多副本存储间接增加了数据存储成本,也许共享存储可以减少数据存储成本;
  3. 功能需求:支持指定共享存储到 S3,可指定 TiKV 数据副本数量,副本同步依赖共享存储实现。

应该不需要,共享存储会有性能等相关的问题,如果基于备份的话,可以考虑支持云存储,比如s3,dbfs等。

可以支持,毕竟不同的场景有着不同的客户需求!!!!

场景需求:暂时没有。
痛点描述:虽然 NVMe SSD 提供高性能,但仍需进行适当的性能调优,包括调整 TiDB 的配置参数,如 block-cache-size 和 write-buffer-size,以充分利用 NVMe 的高速读写能力。
功能需求:共享存储应当支持快速故障检测和数据的自动恢复,确保在任何单一节点失败的情况下,整个数据库系统的持续运行和数据的可用性。

  1. 场景需求: 暂无;
  2. 痛点描述: 暂无;
  3. 功能需求:支持指定共享存储,指定副本在共享存储将对数据快照方面将有很大提升;

场景需求:在做本地应用,对数据备份方面,需要支持NAS 和 云备份。
痛点描述:软件是基于 MySQL 开发,还没有做 TiDB 适配。
功能需求:同时支持 S3 OSS NAS 中的一个或几个,以及问题发生后的数据还原。

  1. 场景需求: 数据归档场景,存储量大,低频查询
  2. 痛点描述:也不算是太大的痛点,上面问题系统维护成本增加
    3.功能需求:暂无

场景需求:
数据归档,而且归档数据还会不定时的查询,保存单副本即可,在需要查询数据的时候可以进行数据恢复
你期望通过 TiKV 支持共享存储减少归档数据的备份频次
希望使用NAS来支撑该场景
痛点描述:
当前采用直通盘 Nvme硬件成本较高、扩展能力有限
功能需求:
期望 TiKV 可以支持nas来支持保存但副本数据

场景需求
高可用,有点类似oracle的rac场景,管理磁盘组的方式

痛点描述
目前所用高可用场景大多是采用同步的方式,当然各有利弊,共享存储的方式不会导致数据有延迟或者不一致的情况

功能需求
支持集群高可用,可以多节点同时使用

场景需求:无
痛点描述:无
功能需求:无

场景需求
暂无。

痛点描述
tiup 操作机节点是不是可以用共享存储解决,拓扑在每个机器上都可以操作

功能需求

tiup 操作机节点是不是可以用共享存储解决,拓扑在每个机器上都可以操作

  1. 场景需求: 我有好多表数据量很大都是百亿级别的,业务需求偶尔会有用户查询到历史记录,就必须保存全量数据,如果有更便宜好用的共享存储就可以把这部分冷数据放上去。
  2. 痛点描述:ssd性能是强,但是成本也高,目前还没有成熟的raid卡支持nvmessd的。
  3. 功能需求:我期望可以实现按条件指定数据存储到共享存储上。