数据库选型:摒弃传统认知,紧扣业务核心

数据库选型:摆脱固有认知,紧扣业务根本

在这里插入图片描述数据库选型:摒弃传统认知,紧扣业务核心

" />

文章目录

    • 分布式数据库的“光环”与真相
    • 数据库选型的正确路径
      • 1. 明晰业务需求与难点
    • 为分布式数据库“去神化”
      • (1)“分布式应用”情形
      • (2)“分布式用户”情形
      • (3)“分布式标项”情形
    • 金仓数据库的选型指引
      • 1. 分布式应用需求
    • 2. 多租户需求
    • 3. 集中式高可用数据库需求
    • 4. 真实分布式数据库需求
    • 结语

文章内容出处:https://mp.weixin.qq.com/s/LtavxuEoJJ0sqgIVGZuY3Q
文章出处公众号:特大号

在当下数字化时代,数据库作为数据存储与管理的核心工具,其重要性不言而喻。然而,随着技术的不断发展,特别是分布式数据库的兴起,不少企业在选择数据库时陷入了一种“误区”——认为“选数据库就该选分布式”。这种观念在一定程度上干扰了企业理性选型。本文将结合近期一篇微信公众号文章《数据库:用户心中的成见是一座大山》,深入探讨数据库选型的正确思路,助力企业打破成见,回归业务本质。

分布式数据库的“光环”与真相

过去几年,分布式数据库发展势头强劲,仿佛成了解决所有数据及应用相关问题的“万能钥匙”。数据查询慢?用分布式!应用频繁故障?上分布式!业务体量庞大?还是分布式!KPI考核不达标?依旧是分布式!这种“分布式无所不能”的观念,将分布式数据库的作用过度夸大。

但这种光环背后存在现实挑战。分布式数据库的最大优势在于横向扩展能力,能轻松应对超大规模数据和并发请求,这确实契合互联网业务场景,比如电商平台、社交媒体等。这类场景通常具备海量用户、快速扩张、峰值秒杀等特点,需要强大的扩展性和高并发处理能力。

然而在传统企业级场景中,分布式数据库的优势并不突出,甚至可能存在劣势。例如,某银行曾尝试用600台x86服务器承载分布式数据,替换一个三节点的Oracle RAC。虽说性能和扩展性有所提升,但运维成本大幅增加,涵盖人力、电费、机房空间和备件等方面的支出。这表明,分布式数据库并非包治百病的良方,技术选择需回归业务本质,而非盲目追逐技术潮流。

数据库选型的正确路径

1. 明晰业务需求与难点

企业在选择数据库时,首要任务是明确自身的业务需求和难点,有的放矢。若业务面向海量用户,拥有超大数据量和增长潜力,且具备高峰值并发、秒杀型的典型互联网业务特征,那么分布式数据库确实是不错的选择。例如,电商平台在“双十一”期间,需要处理海量订单和高并发访问,分布式数据库能够有效应对此类场景。

但如果业务场景是复杂业务计算和数据热点集中的情况,像12306客票系统、医院HIS系统、外汇交易系统、生产调度系统和ERP系统等,采用集中式数据库或许更为合适。这类系统对数据的一致性和事务性要求极高,集中式数据库能提供更稳定、可靠的性能保障。

2. 为分布式数据库“去神化”

在实际应用中,许多所谓的“分布式场景”与分布式数据库并无紧密关联。以下几种常见误区需特别留意:

(1)“分布式应用”情形

部分客户期望通过分布式云原生架构,比如微服务化、分布式应用,来支撑敏捷开发DevOps。分布式应用的本质是将上层业务模块解耦、拆分,每个模块可独立开发、维护和扩展,并实现容错隔离。若只是应用解耦,而数据库未变,那么该过程与数据库是否分布式并无关系。即便在应用解耦时,同时将数据库拆解并绑定到特定微服务应用中,数据库面临的压力也会减小,同样与分布式数据库关联不大。至于敏捷开发、CI/CD、DevOps等开发运维理念,也与数据库是否分布式无关。

(2)“分布式用户”情形

有些用户期望一套数据库能满足多个部门、多个应用的需求,认为分布式数据库能更好地满足这种多租户需求。然而,这种情况实则属于数据库的多租户场景,采用支持多租户模式的集中式数据库,成本更低、效果更佳。

(3)“分布式标项”情形

更有一些用户仅仅因为分布式数据库更热门、更具吸引力,就将其写入采购标项。结果实际部署时,却将其当作单机版、集中式部署,沦为“冤大头”。这种将分布式数据库当集中式部署的情况,综合性能远不及原生的集中式数据库。

金仓数据库的选型指引

金仓数据库作为国产数据库领域的领军企业,提供了丰富的产品线,既有集中式数据库,也有分布式数据库,能够广泛适配各类业务需求。以下是针对不同业务需求的具体选型建议:

1. 分布式应用需求

对于分布式应用,尽管整体架构复杂,但每个拆分后的微服务应用功能更为纯粹、简单,对数据库的要求反而降低。金仓数据库能够轻松应对这种需求,并且可以依据不同微服务模块的业务特征,搭配不同类型的数据库,以达到最优效果。例如,在一个微服务化的电商应用中,用户服务可采用KES主备集群,商品服务可采用KES读写分离集群(支持Redis迁移),订单服务可采用KES RAC,支付服务可采用KES RAC,统计分析服务可采用KES ADC。

2. 多租户需求

在企业级场景中,不同部门、不同业务系统均有对数据库的需求。以往的解决办法是采购多个数据库,这种方式会造成资源浪费,且运维和升级成本较高。金仓数据库提供了两大类四种场景的成熟多租户解决方案,包括VM级多租户、容器级多租户、数据库实例级多租户和数据库User级多租户。这些方案能够灵活满足不同建设现状、不同隔离级别和不同预算要求,实现资源池化,提升软硬件资源利用率,大幅降低成本。

3. 集中式高可用数据库需求

对于大中型企业的生产级核心应用,需要数据库支持高可用集群,或者希望对Oracle RAC进行国产化替代。金仓数据库的KES RAC是多写共享存储集群,支持2 - 8个节点规模,读写请求横向扩展,提供“RPO = 0、RTO < 10s”的可用性,满足金融级一致性、高事务性和大规模并发读写需求。此外,KES RWC是基于事务级别的读写分离集群,适用于大规模并发查询、读多写少的中/重载业务场景,支持从实例、集群到多中心的高可用保障,数据零丢失,故障秒切换。

4. 真实分布式数据库需求

在企业级市场,确实存在一些真实的分布式数据库需求,比如超大型应用(超高并发、海量存储、横向扩展)、极致高可用(跨中心多活、局部高容错)等。金仓数据库提供了“分布式三剑客”来满足这些需求:KES TDC是基于分布式存储的透明分布式方案,对上层应用完全透明,无需应用改造,可平滑迁移,具备横向扩展能力和节点故障容错能力;KES Sharding是基于分布式中间件的分布式方案,需要应用支持分库分表改造,适用于对并发、容量、吞吐量扩展性要求高的事务处理场景;KES ADC是基于分布式 + 融合多存储引擎的分析性分布式方案,适用于大规模AP或者HTAP场景,例如数据统一汇总平台、大数据分析平台等。

结语

数据库选型是一项复杂且重要的决策过程,企业需打破对分布式数据库的盲目追捧,回归业务本质,根据自身的业务需求和难点进行理性选择。金仓数据库凭借其丰富的产品线和成熟的解决方案,能够为企业提供全方位的支持,帮助企业找到最契合的数据库选型方案。唯有如此,企业才能在数字化转型的道路上稳健前行,避免因错误的技术选择而带来不必要的成本和风险。

相关文章

暂无评论

暂无评论...