支持共享存储,利旧设备可以使用并且可以当备份介质使用
场景需求
暂无
我觉得直接搞 ssd 挺好的,依靠 TiDB 的多副本就可以实现高可用,还省成本
场景需求:
暂无。
痛点描述:
性能损耗:直通盘 NVMe SSD 可能在某些情况下无法提供最佳性能。
数据丢失风险:硬件故障可能导致数据丢失。
功能需求:
支持多种共享存储类别:如 S3、块存储、NAS 等。
混合存储模式:支持将共享存储与传统存储结合使用,以优化性能和成本。
- 场景需求: 目前除了BR备份的时候使用外接的共享NAS盘,其他没有;
- 痛点描述: 其实是否共享存储,主要还是成本的问题,如果能在使用共享存储的基础上还能保证数据安全和数据稳定,那肯定好,毕竟能减少不少成本,但是如果不好保证数据安全或者实现快速恢复等功能那意义不大;
- 功能需求:暂无。
场景需求
1、数据库节点使用外置存储。
痛点描述
1、信创主机不支持NVME磁盘raid。
2、通过存储实现数据复制。
3、通过存储快照实现某个时间点数据获取。
功能需求
1、数据库可以在外置存储上运行,类似单机版本集中数据库。
2、存储复制到另外一个站点,另外一个站点可以基于这份存储启动数据库。
3、基于存储快照,这个快照点数据库可以启动。
一、需求分析
- 数据读写比例及负载情况和读写延迟的重要性
- 了解数据读写比例有助于确定存储系统的优化方向。如果是读多写少的场景,可以考虑增加缓存机制以提高读性能;如果写操作频繁,需要关注存储系统的写入性能和并发性。
- 负载情况反映了系统在不同时间段的压力,高负载时可能需要考虑扩展存储容量或优化存储架构。
- 读写延迟直接影响业务的响应速度,对于实时性要求高的业务,低延迟是关键需求。
- 对共享存储的期望要求
- 高可用性:确保数据在任何时候都可访问,避免单点故障。例如,在存储节点出现故障时,能够自动切换到其他可用节点,不影响业务的正常运行。
- 可扩展性:随着业务的增长,能够方便地扩展存储容量和性能。可以通过添加存储节点或调整存储配置来满足不断增加的数据存储需求。
- 数据一致性:保证多个节点对共享存储的读写操作能够保持数据的一致性。在分布式环境下,这是一个关键挑战,需要有效的一致性协议来确保数据的正确性。
- 性能优化:提供高效的读写性能,包括快速的响应时间和高吞吐量。可以通过优化存储引擎、缓存机制和网络通信等方面来提高性能。
- 共享存储类型的选择
- 分布式文件系统:如 HDFS、Ceph 等,具有高可用性、可扩展性和大容量存储的特点。适用于大规模数据存储和分析场景,但可能在小文件读写性能上有所不足。
- 分布式对象存储:如 Amazon S3、阿里云 OSS 等,提供简单的 API 接口和高可靠的存储服务。适合存储非结构化数据,但对于频繁的随机读写操作可能性能不佳。
- 共享块存储:如 SAN(存储区域网络),提供高性能的块级存储,适用于对 I/O 性能要求高的数据库等应用。但成本相对较高,且管理复杂。
二、场景、规模和架构方案
- 场景分析
- 多租户应用:多个用户或业务共享同一个存储系统,每个租户的数据相互隔离。共享存储可以提供统一的数据存储平台,方便管理和资源分配。
- 数据分析平台:需要存储大量的历史数据,并支持多个用户同时进行数据分析和查询。共享存储可以提供高容量和高并发的存储服务,满足数据分析的需求。
- 灾备恢复:将数据存储在共享存储中,可以方便地进行数据备份和恢复,提高系统的可靠性和可用性。
- 规模考量
- 数据量:根据业务的数据增长趋势,估算所需的存储容量。考虑未来的扩展需求,选择能够满足长期存储需求的共享存储方案。
- 并发用户数:确定同时访问存储系统的用户数量,评估存储系统的并发处理能力。如果并发用户数较多,需要选择具有高吞吐量和低延迟的存储方案。
- 节点数量:如果是分布式架构,需要考虑存储节点的数量和分布情况。合理规划节点布局,确保数据的均匀分布和高可用性。
- 架构方案设计
- 存储层选择:根据业务需求和数据特点,选择合适的共享存储类型。可以结合多种存储技术,如分布式文件系统和对象存储,以满足不同的存储需求。
- 数据复制和备份:为了提高数据的可靠性,需要进行数据复制和备份。可以采用多副本策略或定期备份到其他存储系统。
- 访问控制和安全:确保只有授权用户能够访问共享存储中的数据。可以采用身份验证、访问控制列表(ACL)等安全措施来保护数据的安全。
- 性能优化:通过缓存、索引、分区等技术来优化存储系统的性能。根据业务的读写模式,选择合适的存储引擎和优化策略。
总之,在考虑使用 TiKV 支持共享存储时,需要综合考虑业务需求、数据特点、性能要求和成本等因素,选择合适的共享存储类型和架构方案。同时,进行充分的测试和评估,确保共享存储能够满足业务的要求,并提供稳定可靠的服务。
如果在使用直通盘 Nvme SSD 存储解决方案时,可能会遇到以下问题:
一、性能损耗方面
- 可能出现的问题:
- I/O 瓶颈:在高并发场景下,可能会出现 I/O 瓶颈,导致读写性能下降。例如,多个进程同时对磁盘进行读写操作时,磁盘的响应时间可能会增加,从而影响整体性能。
- 随机读写性能不稳定:Nvme SSD 在随机读写方面的性能可能会受到多种因素的影响,如文件系统的碎片整理、磁盘的磨损均衡等。这可能导致随机读写性能不稳定,影响业务的响应速度。
- 对业务的影响:
- 延迟增加:性能损耗可能导致业务的响应时间增加,影响用户体验。对于实时性要求高的业务,如在线交易、游戏等,延迟的增加可能会导致用户流失。
- 吞吐量下降:性能损耗还可能导致系统的吞吐量下降,影响业务的处理能力。对于数据密集型业务,如数据分析、大数据处理等,吞吐量的下降可能会影响业务的效率。
二、数据丢失风险方面
- 可能出现的问题:
- 硬件故障:Nvme SSD 虽然具有较高的可靠性,但仍然存在硬件故障的风险。例如,闪存芯片的损坏、控制器的故障等都可能导致数据丢失。
- 软件问题:文件系统的错误、数据库的崩溃等软件问题也可能导致数据丢失。此外,如果没有及时进行数据备份,一旦出现问题,可能无法恢复数据。
- 对业务的影响:
- 业务中断:数据丢失可能导致业务中断,影响用户的正常使用。对于关键业务,如金融交易、医疗系统等,数据丢失可能会带来严重的后果。
- 数据恢复成本高:如果发生数据丢失,需要进行数据恢复。这可能需要花费大量的时间和资源,影响业务的恢复速度。
三、硬件成本过高方面
- 可能出现的问题:
- Nvme SSD 的价格相对较高,尤其是在大容量存储需求的情况下。这可能会增加企业的硬件成本,影响企业的经济效益。
- 随着业务的增长,需要不断增加存储容量,这可能会导致硬件成本的进一步增加。
- 对业务的影响:
- 成本压力:硬件成本过高可能会给企业带来成本压力,影响企业的盈利能力。对于小型企业或创业公司来说,硬件成本可能是一个重要的考虑因素。
- 资源限制:硬件成本过高可能会限制企业的资源投入,影响业务的发展。例如,企业可能无法购买足够的存储设备来满足业务的需求,从而影响业务的扩展。
四、架构技术调整困难方面
- 可能出现的问题:
- 兼容性问题:直通盘 Nvme SSD 可能与现有的架构和技术不兼容,导致架构调整困难。例如,可能需要对操作系统、数据库等进行调整,以适应 Nvme SSD 的特性。
- 技术复杂性:Nvme SSD 的技术相对较新,可能需要较高的技术水平和经验来进行架构调整和优化。这可能会增加企业的技术难度和成本。
- 对业务的影响:
- 业务转型困难:架构技术调整困难可能会影响企业的业务转型。例如,如果企业需要采用新的技术架构或业务模式,可能会受到现有存储解决方案的限制。
- 技术升级滞后:架构技术调整困难还可能导致企业的技术升级滞后,影响企业的竞争力。在技术快速发展的今天,企业需要不断进行技术升级,以保持竞争力。
五、运维复杂性方面
- 可能出现的问题:
- 监控和管理困难:Nvme SSD 的性能和状态需要进行实时监控和管理,以确保系统的稳定运行。然而,由于 Nvme SSD 的技术复杂性,监控和管理可能会比较困难。
- 故障排除复杂:如果出现故障,排除故障可能会比较复杂。需要对硬件、软件等多个方面进行排查,这可能会增加故障排除的时间和成本。
- 对业务的影响:
- 运维成本增加:运维复杂性可能会导致运维成本的增加。企业需要投入更多的人力和资源来进行存储系统的监控、管理和维护。
- 系统稳定性下降:运维复杂性还可能导致系统的稳定性下降。如果出现故障不能及时排除,可能会影响业务的正常运行。
期望通过 TiKV 支持共享存储来解决以下痛点:
- 性能优化:TiKV 的分布式架构可以提供更高的性能和可扩展性,解决直通盘 Nvme SSD 在高并发场景下的性能瓶颈问题。
- 数据可靠性:TiKV 具有多副本机制和数据校验功能,可以提供更高的数据可靠性,降低数据丢失的风险。
- 成本控制:通过共享存储,可以降低硬件成本,提高资源利用率。同时,TiKV 的开源特性也可以降低软件成本。
- 架构灵活性:TiKV 的分布式架构可以更容易地进行架构调整和技术升级,适应业务的发展需求。
- 运维简化:TiKV 的自动化管理和监控功能可以简化运维工作,降低运维成本,提高系统的稳定性。
一、存储类别指定功能
- 支持指定共享存储类别:
- S3 存储:如果 TiKV 能支持 S3 作为共享存储,将带来诸多好处。S3 具有高可扩展性、数据持久性强以及成本效益高等特点。例如,对于大规模数据存储和长期备份需求的场景,利用 S3 可以轻松应对不断增长的数据量,而无需担心存储容量的限制。同时,S3 的多区域复制功能可以确保数据在不同地理位置的可用性,提高数据的容灾能力。
- 块存储:块存储通常具有低延迟和高吞吐量的优势。对于对性能要求极高的业务,如金融交易系统或实时数据分析平台,指定 TiKV 使用块存储可以确保快速的数据读写操作。此外,块存储可以提供更精细的存储管理,例如可以根据实际需求调整存储块的大小,优化存储效率。
- NAS(网络附加存储):NAS 提供了文件级的存储访问,易于使用和管理。对于需要共享文件或进行文件级操作的场景,如多媒体文件存储和共享、文档管理系统等,TiKV 支持 NAS 作为共享存储可以方便地实现数据的共享和协作。同时,NAS 通常具有较高的性价比,适合中小企业或对成本敏感的业务场景。
二、副本数量指定功能
- 指定 TiKV 数据副本数量:
- 灵活性:能够根据不同的业务需求和数据重要性程度,灵活指定 TiKV 数据的副本数量。例如,对于关键业务数据,可以设置较高的副本数量,以提高数据的可靠性和可用性。而对于一些不太重要的数据,可以适当减少副本数量,以降低存储成本。
- 性能优化:根据实际的存储环境和负载情况,调整副本数量可以优化系统性能。在存储资源有限但对性能要求较高的场景下,可以适当减少副本数量,以释放更多的存储资源用于缓存和其他性能优化措施。而在存储资源充足且对数据可靠性要求极高的场景下,可以增加副本数量,确保即使在多个存储节点出现故障的情况下,数据仍然可用。
- 灾难恢复:指定副本数量可以更好地规划灾难恢复策略。例如,在多数据中心部署的情况下,可以根据数据中心之间的网络延迟和带宽等因素,合理设置副本数量,确保在发生灾难时能够快速恢复数据。
三、副本同步依赖共享存储功能
- 副本同步依赖共享存储实现:
- 高效同步:利用共享存储作为副本同步的媒介,可以实现更高效的数据同步。共享存储通常具有高带宽和低延迟的特点,可以快速传输大量数据,确保副本之间的数据一致性。例如,在分布式数据库系统中,当一个节点的数据发生变化时,可以通过共享存储快速将这些变化同步到其他副本节点,提高数据的更新速度和一致性。
- 简化架构:依赖共享存储实现副本同步可以简化系统架构。无需在每个节点之间建立复杂的点对点同步机制,而是通过共享存储集中管理副本同步,降低了系统的复杂性和维护成本。同时,共享存储通常提供了丰富的管理工具和接口,可以方便地监控和管理副本同步过程。
- 跨地域同步:对于跨地域部署的系统,共享存储可以提供更好的副本同步支持。通过利用云存储服务或分布式文件系统等共享存储解决方案,可以实现不同地域之间的数据同步,提高系统的容灾能力和可用性。
四、混合存储模式支持功能
- TiKV 支持混合存储模式:
- 性能与成本平衡:混合存储模式可以结合不同存储介质的优势,实现性能与成本的平衡。例如,可以将热数据存储在高性能的固态硬盘(SSD)上,以提高读写速度;将冷数据存储在大容量、低成本的机械硬盘(HDD)或云存储上,降低存储成本。TiKV 支持混合存储模式可以根据数据的访问频率和重要性,自动将数据分配到不同的存储介质上,提高存储系统的效率。
- 数据分层管理:混合存储模式可以实现数据的分层管理。根据数据的生命周期和访问模式,将数据分为不同的层次,如热层、温层和冷层。不同层次的数据可以采用不同的存储策略和技术,例如热层数据可以采用高速缓存和实时同步,冷层数据可以采用定期备份和归档。TiKV 支持混合存储模式可以方便地实现数据的分层管理,提高存储系统的灵活性和可扩展性。
- 适应不同业务需求:不同的业务场景对存储的要求各不相同。有些业务需要高性能的存储来满足实时处理的需求,而有些业务则更注重存储成本和容量。TiKV 支持混合存储模式可以根据不同的业务需求,灵活配置存储方案,满足各种业务场景的需求。
- 场景需求: 业务中暂且未遇到需要使用 TiKV 支持共享存储的场景,但是随着技术发展和共享存储的趋势,想着将 TiKV 做 JuiceFS 元数据的存储可以放在共享存储之上,支持 S3 的存储方案即可。
- 痛点描述:现在有些需求或场景提出统一存储的场景,如果 TiKV 以传统方式,显然和其他服务使用共享存储是做不到统一存储的,所以目前这个比较明显,至于 Nvme SSD 我们的业务中没有这么优秀存储的机器出现过。
- 功能需求:支持指定共享存储类别(例如 S3、块存储、NAS 等),指定 TiKV 数据副本数量,副本同步依赖共享存储实现,TiKV 支持混合存储模式。
- 场景需求: 暂无,目前的扩容方案很完善了
- 痛点描述: 成本有点高,管理还算简易,只要节点够多,不会丢失数据;
- 功能需求:支持指定共享存储到 S3,我觉得混合存储不错,冷热数据独立?
- 场景需求: 没有资源使用共享存储
- 痛点描述: 共享存储解决扩缩容的无感和数据安全,还有性能问题
- 功能需求:完美是混合,但是还是需要支持最通用的存储,如s3
场景需求
暂无要求,有足够的资源。
痛点描述
1.存储可靠性
2.存储性能
功能需求
1)支持华为的 Dorado等共享存储
2)性能至少不大幅度降级,可靠性和性能优先,另外数据保密性和安全性也是很重要的一个因素;
不久的将来会常态化。
- 场景需求: 暂无
- 痛点描述: 当前使用Nvme SSD本地盘来存储、成本较高
- 功能需求:支持S3的话,可以把冷数据放在对象存储中,节省存储成本
感谢大家参与本次 TiKV 共享存储的调研!参与积分奖励已发放~~
也恭喜 @Hacker007 @huanglao2002 @zhaokede 获得最新款金属手机支架奖励,请这三位小伙伴联系 TiDB Robot 微信(tidbai)发送你的邮寄信息并领取奖励❤️~