加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 业界 > 正文

一文讲透应用层数据库架构选型及设计

发布时间:2020-05-15 13:37:11 所属栏目:业界 来源:站长网
导读:副标题#e# 在市场变化充满了越来越多不确定性的今天,企业的每一个决策更要做到行之有据、掷地有声。而数据由于能够延伸企业观感、赋予企业洞察,已经被视为当今时代新的生产要素。如果不能掌握和利用好数据,企业就没有灵魂。在这其中,数据库一般担当着数
副标题[/!--empirenews.page--]

在市场变化充满了越来越多不确定性的今天,企业的每一个决策更要做到行之有据、掷地有声。而数据由于能够延伸企业“观感”、赋予企业洞察,已经被视为当今时代新的生产要素。如果不能掌握和利用好数据,企业就没有“灵魂”。在这其中,数据库一般担当着数据共享、保持数据一致性和独立性、实现数据集中管控等诸多“重任”。

所以,拥有一个数据库对企业来说已经成了必选项。但是,由于数据库领域种类繁多、产品复杂,要选择一款适合自己的数据库产品其实并不容易。与此同时,针对不同的业务场景,企业对数据库的性能要求也不尽相同,如何进行合理的数据库架构设计则是另一个重要课题。因此,在本文中,我们将围绕数据库的“选型”和“设计”这两个话题展开。

一文讲透应用层数据库架构选型及设计

数据库类型多、选型难

那么,数据库产品选型究竟有多复杂?这要从数据库的发展历程说起。

20世纪70年代,关系型数据库出现,经过40多年的发展,如今,包括Oracle、MySQL、SQL Server、PostgreSQL等数据库已经得到广泛使用,成为众多应用的核心支撑。

不过,传统数据库大多采用的是集中式架构,随着企业数据量爆炸性的增加,数据库面临海量数据的处理需求,只能走向分库、分表,而分库、分表对应用程序是侵入性的,常常要涉及应用程序的修改,存在很大安全隐患,导致这些数据库很难再支持企业业务的发展。因此,分布式数据库逐渐得到应用,由于可以动态扩展,并且增加开发行为的可追溯性,分布式数据库受到越来越多行业和企业的青睐。但还有另一个问题,传统分布式数据库部署成本较高,如需要专用设备,就会影响其普及。

所以,近年来云原生数据库也流行起来。相比传统数据库,云原生数据天生具有资源弹性,可以灵活扩展、动态伸缩,还能享受到各种最新的技术红利(如RDMA、傲腾内存),而且成本更低,被认为是未来的发展方向。在技术细节上云原生数据库常常采用计算与存储分离的架构,从而极大地提升了存储数据量,同时改进了数据库的性能,并通过数据的多副本(如3副本)来确保数据安全。

当然,数据的存储,最终目的都是为了分析,所以除了OLTP事务处理数据库之外,OLAP分析处理数据库的作用就在于此,它可以在增删改之外,对数据进行统计和分析。具体来说,OLAP可以帮助企业提取数据中的特性,用于更深入的业务价值挖掘。这二者的结合,还进一步衍生出了HTAP混合事务和分析处理数据库,不但避免了繁琐且昂贵的ETL操作,而且可以更快地对最新数据进行分析。

除了上述多几种关系型数据库,随着互联网发展,近些年来,非关系型数据库(NoSQL)也开始盛行起来。具体来说,面对互联网场景下的海量数据激增,关系数据库在处理超大规模和高并发的业务时以及复杂的数据类型时已经显得力不从心,此时,非关系型数据库则由于易扩展、高性能、灵活等特点得到了非常迅速的发展。当然,非关系型数据库的类别也非常多,包括键值、文档型数据库、图型数据库,并且每种类别下的数据库类型也不少,比如MongoDB、Redis、Infinite Graph等等。

百度智能云数据库产品理念:全、稳、智

总的来说,数据库种类琳琅满目,并且各有特点。对企业来说,要做选型,首先就要清楚自己的业务场景需求。对此,百度智能云存储和数据库产品方向负责人崔剑表示:“首先,企业要非常了解自己的应用系统有哪些模块,每个模块可以提供什么样的应用场景和能力;其次,企业还要搞清楚各个数据库的特点,了解它们的优劣势。然后为不同的应用场景匹配对应的数据库。”

以金融行业为例,在向客户提供贷款的业务中,金融机构需要充分了解客户的基本信息、消费行为、信用卡使用情况等各类信息以确定信用等级,这个过程涉及跨表数据处理和分析,因此,使用图型数据库的网状结构就可以更容易且直观地实现金融风控。

再以游戏行业为例,如今的手游最大的特点就是迭代速度非常之快,而每一次功能上新都会对表结构进行改变,从而影响升级。在这样的场景中,以MongoDB为代表的文档型数据库就会更适用。

对此,百度智能云提供了非常全面的数据库产品矩阵,从底层的数据库服务,到OLTP和OLAP,再到NoSQL,覆盖企业业务的各种级别需要。“全、稳、智——这是百度智能云数据库打造产品的一个理念。”崔剑表示。

首先,是“全”。据崔剑介绍,在百度智能云上,用户可以找到很多数据库类型。比如,对于MySQL这样的开源产品,百度智能云除了提供托管服务以外,还投入很多人力进行了大量优化开发,向个人提供更高的性能和体验;再比如, OLTP小型数据库方面百度智能云上有DRDS,OLTP中型数据库方面百度智能云上有DRDB,OLAP方面百度智能云上有PALO,HTAP方面百度智能云上还有FusionDB。

其二,是“稳”。由于数据库承载了企业应用系统的命脉,所以稳定性是一个基本前提。崔剑表示,在过去十年中,百度智能云数据库已经在百度内部业务覆盖了100多个业务线,积累的数据量达到PB级,每日访问峰值PV达到千亿级。而在这样的高流量情况下,百度智能云数据库还能保证其业务95%以上的SOA不出问题。

其三,是“智”。基于百度智能云ABC三位一体的战略,其数据库产品中也融入了大量人工智能技术,形成了一套完整的数据库周边服务性工具,用于辅助用户进行数据库的日常维护,包括数据同步、数据备份等等,都可以通过人工智能技术提供的自动化能力来实现。

数据库架构设计“方法论”

崔剑强调,更重要的是,百度智能云向企业提供的数据库不仅仅是一款产品,更是一项服务。他表示,“如果只是把产品做出来放到云上让用户自己使用,我觉得是不够的。在服务客户的过程中,我们会结合每个企业具体的业务场景,与客户一起分析诉求点,然后提供最合理的选型和配置方案。”

具体在实践中,百度智能云有自己的一套“架构设计方法论”,崔剑称之为“金字塔模型”。

“金字塔”的底层,关键词是可用性。在这一层,百度会和企业一起梳理场景需求,确定不同场景下的具体数据库方案。举例来说,对于金融这样对安全合规要求比较高的行业来说,要实现跨地域的热活,就可以在两个地方各自构建一套MySQL,然后通过网络节点实现跨地域甚至全国范围内的流量调度和分配。

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读