数据库:用户心中的固有看法似巍峨巨嶂

4天前发布 gsjqwyl
5 0 0

文章标题:

数据库:用户心中的既定印象似巍峨山峦

文章内容:文章来源公众号:特大号

不知从何时起

选数据库就得选分布式”成了一种风尚

图片

数据查询迟缓?用分布式!

应用频繁卡顿?用分布式!

业务规模庞大?用分布式!

KPI考核未达标?用分布式!

图片

“分布式数据库”的功效

就此被神化了

与数据和应用相关的各类疑难问题

仿佛都能靠“分布式之法”来解决

图片

真的是这样吗?只能说

用户心里的“固有观念”,像一座大山

过去几年分布式数据库宣传过度

不论何种场景,都一股脑应用起来!

这座大山是如何形成的?

前一个十年,互联网公司业务迅猛发展,让互联网模式备受追捧。

互联网大厂的业务模式、中台理念、应用架构以及分布式数据库,乃至互联网公司的从业人员,都成了热门之选。

图片

那么,由此衍生的热门之一“分布式数据库”,究竟怎样?

不可否认,确实不错!

分布式数据库的最大优势在于其横向扩展能力,能轻松应对超大规模数据与并发请求,例如电商平台、社交媒体或其他高负载应用。

图片

而这,恰好契合互联网业务场景的特点↓

海量用户、快速扩张、峰值秒杀、众多高水平技术人员负责运维保障…

图片

然而,一旦脱离互联网业务,进入传统企业级场景,你会发现↓

分布式数据库并非那般神奇,甚至存在一些劣势——

图片 图片

业内曾有一个知名案例:

某银行开展分布式数据库试点,用600台x86服务器承载分布式数据,替换了一个三节点的O记RAC。

性能与扩展性看似提升,但运维成本大幅增加(人力、电费、机房空间、备件)。

图片

所以,技术的选择应回归业务本质,而非追逐技术潮流。

分布式数据库绝非包治百病的良方,任何场景都需对症下药。

数据库究竟该如何选择?

一、需明晰自身业务需求与痛点,再有的放矢↓

若为面向海量用户、超大数据量及增长潜力,且具备高峰值并发、秒杀型的典型互联网业务特征,这确实是分布式数据库的适用领域。

图片

若为复杂业务计算与数据热点集中的场景,采用集中式数据库更为适宜,例如12306客票、医院HIS、外汇交易、生产调度、ERP等业务

图片

二、要破除对分布式的盲目追捧,很多所谓的“分布式场景”,与分布式数据库并无关联。

1、“分布式应用”场景:

部分客户期望采用分布式的云原生架构,比如微服务化/分布式应用,支持敏捷开发DevOps。

分布式应用的本质是将上层业务模块解耦、拆分,每个模块可独立开发、维护、扩展,并实现容错隔离。

若仅为应用解耦,而数据库保持不变,显然此过程与数据库是否分布式无关。

图片

若在应用解耦过程中,同时将数据库拆解并绑定至特定微服务应用,那么数据库面临的压力会变小,也与分布式无关。

至于敏捷开发、CICD、DevOps等,与数据库是否分布式同样无关。

图片

2、“分布式用户”场景

有些用户本意是节省成本,期望一套数据库能满足多个部门、多个应用的需求。

他们认为分布式数据库能更好地满足多部门、多业务需求。

图片

这种情况与分布式毫无关系,这是数据库的多租户场景,采用支持多租户模式的集中式数据库成本更低、效果更佳。

图片

3、“分布式标底”场景

前两种仅算“错误认知”,而这一种堪称荒诞。

有人仅因觉得分布式数据库更热门、更炫酷,便将其写进采购标底。

图片

结果采购回来,实际部署时却当作单机版、集中式部署,妥妥“冤大头”。

要知晓这种将分布式数据库当集中式部署的情况,综合性能远不及原生集中式数据库。

图片

以上三种“分布式”场景,均无需“分布式数据库”。

此时,选择合适的集中式数据库,可获得更优性能、更佳运维体验及更低成本。

选择金仓,应对企业全栈场景

接下来,以金仓数据库为例,阐述面对各类业务需求时的具体选型。

作为国产数据库领域的领军企业,金仓数据库产品线丰富,既有集中式产品,也有分布式数据库,广泛适配各类业务需求。

图片 图片

第一、分布式应用需求

初看分布式应用复杂,实则每个拆分后的微服务应用,相较单体应用,功能更纯粹、简单,反而对数据库的要求大幅降低。

所以,能承载大型单体应用的金仓数据库,应对分布式应用这一“小问题”,自然游刃有余。

图片

同时,针对不同微服务模块的业务特性,可采用不同类型的数据库搭配,以达最优效果。

比如一个微服务化的电商应用,包含用户、商品、订单、支付、统计分析等模块,可针对性进行数据库设计。

图片

用户服务:具事务性、高可靠要求,采用KES主备集群;

商品服务:具事务性,读多写少、缓存需求高,采用KES读写分离集群(支持Redis迁移)

订单服务:事务性强、一致性要求高,并发读写压力大,采用KES RAC;

支付服务:高事务性、金融级一致性,采用KES RAC;

统计分析服务:数据量巨大、实时复杂查询分析,采用KES ADC。

图片

第二、多租户需求

在企业级场景,不同部门、不同业务系统,均对数据库有要求。

以往解决此问题,最简单粗暴的办法是采购多个数据库、多套物理硬件,各自行事,皆大欢喜。

图片

但此方式会造成巨大资源浪费,每个数据库利用率极低,运维、升级需独立进行。

要实现多用户、多部门共享,最佳方案是采用数据库的多租户功能。

图片

针对多租户需求,金仓数据库提供两大类四种场景的成熟解决方案,灵活满足不同建设现状、不同隔离级别、不同预算要求。

图片

1、VM级多租户

适用于客户已建好虚拟化/云平台,金仓数据库可无缝融入,资源硬件共享、基于VM隔离,支持VM级扩缩容。

图片

2、容器级多租户

适用于客户已有K8S容器化平台层,金仓数据库无缝融入,硬件、OS共享、基于容器隔离,支持pod级扩缩容。

图片

3、数据库实例级多租户

适用于中小型应用,低成本投入,单个服务器可跑多个业务系统。金仓数据库天然支持多实例特性,每个业务独占一个数据库实例。

图片

部署时,可利用多台服务器池化,主备实例分开部署,提升数据库冗余能力。

同时,金仓也支持分布式数据库的多实例模式。

图片

4、数据库User级多租户

此模式通过将数据库创建若干资源组,实现整体资源池化,然后创建用户租户,并指定分配的资源组。

从而实现数据库实例部署多租户系统,租户间资源隔离,提升软硬件资源利用率,大幅降低成本。

图片 图片

第三、集中式高可用数据库需求

大中型企业的生产级核心应用,均需数据库支持高可用集群,或更明确地说,期望对Oracle RAC进行国产化替代。

图片

此时,金仓的另两个重磅数据库产品登场。

1、KES RAC,多写共享存储集群

从名字即可秒懂,这是对标Oracle RAC的场景。

KES
RAC集群支持2 – 8个节点规模,读写请求横向扩展(吞吐量加速比超过0.8),提供“RPO = 0、RTO < 10s”可用性,满足金融级一致性、高事务性和大规模并发读写需求。

图片

2、KES RWC,读写分离集群

基于事务级别的读写分离,自动识别SQL语句读写种类,一主多备、一写多读。

KES RWC适用于大规模并发查询、读多写少的中/重载业务场景,支持从实例、集群到多中心的高可用保障,数据零丢失,故障秒切换。

图片 图片

第四、真正的分布式数据库需求

在企业级市场,确实存在一些真实的分布式数据库需求:如超大型应用(超高并发、海量存储、横向扩展)、极致高可用(跨中心多活、局部高容错)等。

针对此类现实与潜在需求,金仓数据库提供强大的“分布式三剑客”。

图片

1、KES TDC,基于分布式存储的透明分布式方案。

该方案对上层应用完全透明,无需应用改造,可平滑迁移,具备横向扩展能力与节点故障容错能力。

适用于超大型集团办公平台、政务核心平台、医疗HIS系统、银行信贷管理系统、港口TOS系统等…

图片

2、KES Sharding,基于分布式中间件的分布式方案。

该方案需应用支持分库分表改造,适用于对并发、容量、吞吐量扩展性要求高的事务处理场景,如运营商网间结算、基金公司TA系统等。

图片

3、KES ADC,基于分布式 + 融合多存储引擎的分析性分布式方案。

该方案适用于大规模AP或HTAP场景,类似数仓、实时数仓,如数据统一汇总平台、大数据分析平台、进出口贸易货物统计系统等。

图片 图片

最后,依旧是那句话:技术的选择应回归业务本质,而非追逐技术潮流。

明白此理,便掌握了消除成见、翻越山峦的核心要诀。

图片

您的数据库选对了吗

图片

![图片](https://i-blog.csdnimg.cn/img_convert/82798e3e33b1

© 版权声明

相关文章

暂无评论

暂无评论...