
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
数据库架构开发是大多数后端编程开发程序员都需要熟练掌握的一个编程开发技术,而本文我们就通过案例分析来简单了解一下,分布式数据库应用解决了哪些问题。
分布式数据库解决了传统集中式单机数据库时期的问题,单机数据库面对海量数据在处理能力、存储能力、性能等方面都存在瓶颈。分布式数据库需要解决数据一致性的问题,数据跨的节点越多,风险就越高。分布式数据库的高可用能力保证不会因为单点故障而影响整体的可用性,这保障了金融、电信等对高可用需求较高业务的连续性。应用存在波峰波谷,分布式数据库通过灵活扩展的设计做到了成本优化。
随着互联网场景快速增长的数据量,我们需要数据库系统支持水平扩展,这种支持可能是两个方面:数据存储和数据计算。在这个层面上来说,更多的是让数据存储实现水平扩展。实现此的前提则是保证整个分布式数据库的性能、可靠性等有更好的表现。从我实际接触的场景来看,更侧重于解决水平扩展的问题,让扩展方式更优雅。
分布式数据库的本质还是数据库,所以也会具备传统数据库的关键特征,分布式数据库需要解决的核心问题之一是扩展,解决研发团队按需扩容、不需要按照业务波峰额外准备硬件资源的问题;然后是高可用问题,集中式数据库的系统可用性很大程度构建在可靠硬件的基础上,分布式架构将高可用问题转变为软件解决;后在上述问题基础上,如何低成本地将现有应用平滑迁移至分布式数据库,整个过程需要一些方法论。
分布式数据库要解决区域间数据的一致性,映射到互联网行业主要是如下两点:
一是分布式数据库内置HA功能。过去主要采用商业数据库结合存储的模式,靠硬件解决HA问题,后来这套架构逐渐在主流互联网公司中消失,取而代之的是一些MySQL的高可用方案,但这与分布式原生数据库提供的能力差别很大,切换时的中断是业务可以感知到的,分布式数据库本身就可以提供多机房或者异地机房等部署方式,提升了高可用性及数据安全性
二是横向扩展问题。虽然业务峰值可能不如几大主流电商平台大促期间那么高,但也是存在明显的波峰波谷,似K8s这样的技术已经很好地弥补了应用的弹性诉求,但数据库层面的弹性一直是欠缺的,分布式数据库提供的动态伸缩功能,解决了数据库层的弹性问题。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。