因为社区有个完全一样的问题,偷懒把我在那个问题中的回复复制过来。由于本问题明确是银行场景,因此我建议要更多考虑运维、可靠性和性能。另外由于海量数据业务的有状态容器在金融看到的不多,所以估计这位朋友的业务场景可能更适合使用“集中式存储”。如果有业务场景的信息,可以进一步讨论一下。
这个问题要分两部分来看,一个是容器自身使用的存储,一个是容器中应用使用的存储,估计问题想讨论的是后者。
对容器自身使用的存储 ,分布式较为常见。毕竟容器的几大组件都是从开源软件发展起来的,而配套的开源存储软件都是分布式存储。
但容器中的应用并不是因为使用了容器才需要存储的,而是因为应用本身就需要使用存储。这时存储的需求就主要看应用对存储的需求。当然还有个其次,那就是存储对容器平台调用配置运维的适配能力。
从17年开始进行应用无状态改造进而向容器搬迁,到18年开始和用户讨论有状态容器(当时主要是文件类需求)使用存储的解决方案,到最近使用K8S的CSI接口支持应用和数据库容器化,看到的容器PaaS使用存储最大的困难就来自存储或者难以满足应用的需要,或者和容器对接困难。第一应用的要求往往开源和一些商业式存储难以满足的,尤其是性能、可靠性和运维。另一方面能满足这些需求的企业级存储(无论是集中式还是分布式)与K8S的对接管理长期都不太好。好在现在基于CSI接口,这个问题得到了比较好的解决,但未到完美的程度。
而从应用对存储的需求来看,各种存储都有在容器上使用的需要。高性能块存储用于数据库,高性能文件主要用于海量小文件类应用,海量存储支撑大文件、大数据应用。
所以总结一下,容器云存储选型,首先从应用需求角度看需要哪类存储,再考虑是否满足容器使用的接口能力需求。
收起在选择上,其实首先还是要看自己的需求。
现在分布式存储,高可靠、高可用、易拓展是集中式存储不具备的。而且分布式存储在很多企业都有成功案例,而且已经具备容易平台的成熟解决方案,选择分布式存储可能更加利于将来业务的发展。
存储选型与应用需求的容量、性能、功能、可用性、易维护性等等有关系,对于城商行来说 每个银行的应用情况不一样,运维管理团队配置不同,可以根据实际的情况来决定。
考虑选择集中存储和分布式存储时候,还需要考虑应用规模。因为分布式系统的优势在于规模效应,规模越大收益越大,较小的分布式系统规模,不利于发挥规模效应,同时增加了运维管理的难度。
首先,我们要了解集中式存储和分布式存储有哪些优点,相关的资料在网络上非常多,在此不再多赘述,总体而言,二者核心的选型关键在于几点。
1、硬件标准化,或者说硬件非标的比率方面,如果硬件标准化完成,建议选择分布式存储。
2、容量和性能可以水平扩展的需求,对于数据增长不规律或者突增的情况下,建议选择分布式存储,只有分布式存储才能更好的适配数据快速增长的要求。
3、 存储生命周期,一般而言,集中式存储的生命周期大概在8-10年左右,超过10年的风险就较大,而分布式存储可以通过批量的硬件迭代完成存储生命周期的重构。
4、 业务友好,两者对业务都非常友好,如果有一些海量数据归档、 底层操作、数据隔离的需求,分布式存储更好一些。
以上是二者在选择性方面的考虑。
容器云是通过CSI接口实现对接存储,形成数据持久化能力。市面上绝大多数存储都支持。
至于选择何种存储方案,还是要可业务本身的特性和要求来选择。
集中式存储适合场景:
集中式的存储依然是目前不可替代的,一般用于企业的生产、办公等交互频繁的关键业务。因为集中存储效率高,速度快,这是分布式存储不具备的优势,分布式由于数据分布在不同的区域保存,应用存取自然会损耗一定的存取时延。
集中式存储的物理介质集中布放;数据要上传到中心对机房环境要求高,要求机房空间大,承重、空调等都是需要考虑的问题。
传统的SAN存储,面对PB级规模存储时,成本非常高,数据共享差,难以支撑多用户文件共享。
常见的NAS存储,由于共享网络带宽,并发性能差。
分布式存储适合场景:
大数据、时序数据库,列式数据库,非结构化数据,搜索引擎索引等
海量数据的非结构化数据最适合分布式存储,加快系统的读写速度,提高系统的容错性和可用性。
分布式存储的物理介质可以分布到不同的地理位置,数据就近上传,对骨干网带宽要求低;可采用多套低端的小容量的存储设备分布部署,设备价格和维护成本较低;小容量设备分布部署,对机房环境要求低。