欧易

欧易(OKX)

国内用户最喜爱的合约交易所

火币

火币(HTX )

全球知名的比特币交易所

币安

币安(Binance)

全球用户最多的交易所

2020数据库选型攻略:专用VS多模

时间:2022-10-10 18:10:52 | 浏览:759

数据库选型越来越难,据DB-Engines数据库流行度排行榜显示,目前全球有多达359个开源和商业的数据库。  从应用类型看,有OLTP事务型数据库,有OLAP分析型数据库,还有HTAP混合型数据库。  从存储方式看,有关系型数据库和非关系

数据库选型越来越难,据DB-Engines数据库流行度排行榜显示,目前全球有多达359个开源和商业的数据库。

  从应用类型看,有OLTP事务型数据库,有OLAP分析型数据库,还有HTAP混合型数据库。

  从存储方式看,有关系型数据库和非关系型数据库(NoSQL)之分。而NoSQL数据库又依据支持的数据模型不同,分为键值数据库、文档数据库,列式数据库,图形数据库等。

  如果从架构类型看,又分Share Everything、Share Storage、Share Nothing。

  数据库市场百花齐放虽然给企业带来了更多选择,但也导致选型变得更加困难。

  专用 VS 多模

  关于专用数据库与多模数据库之争,由来已久。其中,AWS属于专用数据库派,认为数据库就应该像汽车一样,不同的汽车解决不同的运输需求,不同数据库去解决不同场景需求,而不是通过关系数据库来一刀切。

  因此,AWS提供的数据库产品组合多达十几种。

AWS 数据库服务一览图

  而甲骨文、微软、SAP则属于“瑞士军刀”派,即多模数据库派。通过扩展其SQL查询功能或添加功能(如R或Python支持)来实现多模功能。

  去年,DeveloperWeek一组调查数据显示。有将近一半受访者实际上使用了不止一种数据库来支持其业务应用程序,而不是单个数据库!使用多个数据库的比例为44.3%,使用一个数据库的比例为55.7%。虽然看起来使用一个数据库的比例还是更多,但不能忽略一点,多数据库的使用在过去10年出现了爆炸式增长。

  数据显示,75.6%的多数据库类型组合使用了SQL和NoSQL数据库。这进一步说明,对于许多企业来说,并不能一刀切。

图片及数据来源:ScaleGrid

  显然,数据格式、应用场景纷繁复杂,很多需求已经不是单一数据库能解决的。同时,微服务架构的崛起,也在推动企业不同业务场景采用不同的数据库,如果选择不当,会导致服务的性能上不去。

  因此,选型时不要将企业的数据库限制在一种数据库上,相互补充才能填补数据库需求的空白。

  选型要点

  1、业务场景

  任何脱离业务场景需求的数据库选型都是耍流氓。

  数据库选型的决定性因素是结合业务应用场景,分析目前已有的需求和未来可能会出现的新需求,来考量选择何种数据库。

  业务用数据库来做什么?分析还是交易?或者两者兼而有之?业务要处理什么样的数据?对数据库性能需求是什么?

  如果是传统的ERP、CRM、财务等企业内部应用,需要事务完整性,保证ACID事务,那么,毫无疑问,关系型数据库是最佳选择。如果业务要做物联网数据采集和监控,需要高频、实时、持续的写入,那么,时序数据库是正确的选择。

  业务要处理什么样的数据?结构化?半结构化?非结构化数据?决定需要支持的数据模型。原则上“什么数据模型,就用什么库。”

  如果你要存储和处理的是图片、音频、视频等非结构化数据,那么,NoSQL数据库会是最佳选择。进一步来说,业务要存储游戏场景中的角色信息、经验道具信息、好友排名等信息,而这些信息一般都和 ID(键)挂钩,那么,键值数据库是个很好的选择。

  业务需要处理的多大的数据规模、并发吞吐量、响应时间需求是什么?决定了对数据库的性能需求。

  如果业务是秒杀,春节火车票等,有超高峰值业务,那么,分布式数据库会是一个不错的选择。

常见的数据类型和应用场景(图片来源:AWS)

  不清楚什么业务场景下应该选用哪种数据库系统的,可以参考上图。

  2、可运维性

  有种说法,数据库选型不考虑可运维性的都应该枪毙。虽然说法夸张,但也有其道理,毕竟,数据库买来最后是DBA来运维,DBA的意见不能忽视。

  自身团队技术储备如何?选型要考虑现有开发、运维人员的技能,尽量选择学习曲线短的。

  数据库选型,很多人会忽略生态,一个好的数据库不仅自身强大,周边生态完善很重要。与周边上下游产品的兼容性,配套软件、工具、技术人才等都对可运维性产生极大影响。

  每一种数据库都不简单,掌握都需要一个过程。数据库发生问题,如何快速定位并解决问题?如果有个活跃的用户社区,DBA会有信心很多。

  如果选择了一种数据库,但招不到DBA,一旦人员流失,让数据库处于无人维护的境地,那也挺要命的。

  良好的工具生态可以节省企业的开发及运维人员投入。例如:迁移工具,AWS DMS早在2016年3月就已推出,可以让用户轻松地将其数据库迁移过来,同时避免停机。事实证明该服务很受欢迎,AWS官方数据显示,截止到目前,DMS已经帮助20万个数据库进行迁移。

  如果你选择的是云数据库,那么,有Serverless(无服务器)模式的云数据库会让运维更轻松,以AWS为例,Amazon Aurora Serverless,Amazon DynamoDB,Amazon TimeStream,Amazon Keyspaces,这些都是无服务器版本的数据库,数据库可以根应用程序需求来自动启动、关闭以及扩展或缩减,而无需管理任何数据库实例,能极大降低数据库管理的工作量。因为,手动管理数据库容量需要占用宝贵的时间,也可能导致数据库资源的使用效率低下。

  3、成本

  数据库选型不仅要考虑部署数据库的硬件资源成本、软件成本、服务成本和人力成本,还要考虑隐形的成本,比如迁移成本、维护成本、学习成本,运营成本等。

  随着开源数据库的流行,存在一种选型误区,认为开源数据库省钱。其实,开源数据库未必就比商业数据库成本低,虽然没有License费用,但对技术团队要求很高,对于一般传统行业是玩不转的,如果你的技术团队不具备这种能力,还不如商用数据库更省心甚至省钱。

  如果想在两者中取得平衡,那么,一些结合了新技术新硬件的新兴数据库可能是不错的选择。比如:AWS Aurora,既兼容主流的开源数据库MySQL和PostgreSQL,又具备商业数据库的性能优势。用大白话说,就是既能省钱,性能又要优于开源数据库。

  分布式数据库虽然很火,但也不要盲目赶时髦,要用对地方,要清楚什么场景适合分布式数据库,什么场景不适合,否则,不仅达不到预期效果还更费钱。

  写在最后

  虽然,数据库领域各种新技术新概念不断涌现,但还谈不上谁替代谁。

  目前,没有万能的数据库,只有最合适的数据库。数据库选型还是要根据业务需求来选择最合适的产品,切勿盲目赶时髦,去追新求热。

相关资讯

数据库:什么是数据库,数据库管理系统,数据库系统,数据库管理员?

数据库 : 数据库(DataBase 简称 DB)就是信息的集合或者说数据库是由数据库管理系统管理的数据的集合。数据库管理系统 : 数据库管理系统(Database Management System 简称 DBMS)是一种操纵和管理数据库

数据库超详细讲解,MySQL数据库的简介、及常用数据库介绍

数据库简介数据库:顾名思义,就是数据的仓库,它是长期存储在计算机内,有组织的、可共享的数据的集合。数据库管理系统(DBMS: 用来对数据进行存储、管理等操作的软件)数据库分类数据库通常分为:层次式数据库、网络式数据库和关系式数据库三种。而不

什么是数据库DataBase?数据库和数据记录的概念简单讲解

大家好,在讲数据库之前,我用了很长的时间,和大家分享了很多VBA方面的一些知识点,其中很多是我个人对VBA的理解。从这讲开始我们要在原先的基础上深入的讲解一些VBA的提高利用,就是我们要开始讲解的数据库。在《VBA与数据库利用》中我会讲解到

数据库看这一篇就够了!MySQL、Redis、Mongodb等常见数据库教程

数据库是系统健康和用户行为健康的重要指标。数据库中的异常行为可能会引起应用程序中的问题。或者当应用程序中存在异常时,都可以使用数据库指标来帮助加快调试过程。先来认识下市面上常用的数据库:关系型数据库1. MySQL数据库2. Microso

为什么要使用数据库,什么是数据库

1、为什么要使用数据库持久化(persistence):把数据保存到可掉电式存储设备中以供之后使用。持久化的大多数时候是将内存中的数据存储在数据库中,当然也可以存储在磁盘文件、XML数据文件中。方便管理数据(例如:快速的检索等)2、什么是数

重塑数据库发展路径业界聚焦我国数据库产业发展

人民网北京12月27日电 (记者乔雪峰)近日发布的《软件和信息技术服务业十四五规划》中,明确提出我国“十四五”时期要加快实施国家软件发展战略,不断提升软件产业创新活力,聚力攻坚基础软件,有效满足多层次、多样化市场需求,为构建以国内大循环为主

常见的数据库类型及各种数据库特点的简单介绍

大家好,在上一讲中,讲了数据库的概念及表的概念,通过上讲的内容,我们大概了解了一些数据库的基本知识。其实,在我的日常生产中,数据库和我们也是息息相关的,当我们打电话、上网、去银行交易等等,都要访问不同的数据库,这些数据库各有自己的特点,但都

数据库篇-第一章:数据库基本概念

基础知识学习,面试必备,关注吧 骚年01 第一,什么是数据库?维基百科上是这样定义的:所谓“数据库”是以一定方式储存在一起、能予多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。一个数据库由多个表空间(Tablespace)

C++基础语法梳理:数据库!带你深入浅出了解数据库

基本概念数据(data):描述事物的符号记录称为数据。数据库(DataBase,DB):是长期存储在计算机内、有组织的、可共享的大量数据的集合,具有永久存储、有组织、可共享三个基本特点。数据库管理系统(DataBase Management

数据库指南:一文让你浅显易懂地了解数据库

在数据分析的技能中,数据库与SQL会是性价比最高的技能之一。数据库是逻辑上的概念,它是一堆互相关联的数据,放在物理实体上,是一堆写在磁盘上的文件,文件中有数据。这些最基础的数据组成了表(table),我们把它想象成一张Excel的sheet

数据库技术新版图-Serverless数据库

数据库的发展已走过近四十年,作为基础软件之一,数据库称得上是一个“古老”的领域。而随着新技术的涌现,这个传统的领域也正不断焕发出新的生机。如果说云时代的到来推动了数据库的变革,那么,与 Serverless 的结合,则再次为数据库的发展添了

什么是数据库?用最简单的方法讲明白数据库

数据库基本概念数据库是一个以某种有组织的方式存储的数据集合。数据库(database)是保存有组织的数据的容器。数据库管理系统(DBMS)是一种数据库软件,MySQL是一种DBMS,即它是一种数据库软件,作者使用的数据库管理系统是MySQL

一文读懂Access数据库,从此不用Access数据库

1992年11月,Microsoft Access 1.0版本发布。同时,这也是Access数据库,第一次进入大家的视野。起初,Access的原名并不叫Access,而叫Cirrus。Ciruus开发于Visual Basic之前,当时的窗

闲聊数据库发展历史三个阶段、分类、数据库规范及趋势

概述数据库(Database)是存储与管理数据的软件系统,就像一个存入数据的物流仓库。在商业领域,信息就意味着商机,取得信息的一个非常重要的途径就是对数据进行分析处理,这就催生了各种专业的数据管理软件,数据库就是其中的一种。当然,数据库管理

数据库行业研究报告:数据库,云化底座,百舸争流

(报告出品方/作者:中信证券,杨泽原、丁奇)报告综述:安全可控势在必行,数据库国产替代加速开展,以党政为代表的国产替代先行,并不断向金融、电信等领域拓展。同时,伴随云计算、大数据技术的快速发展, 云数据库、数据仓库、大数据分析等领域快速增长

友情链接

网址导航 SEO域名抢注宝宝起名网妈妈知道币圈西安旅游攻略网广东旅游网丛林穿越运动绍兴黄酒资讯网联想电脑评测网书法艺术官网vivo手机评测网九鼎山旅游攻略恩施大峡谷旅游攻略三只松鼠资讯网积家大师收藏家美度舵手表消毒碗柜资讯网国画书画网茶颜悦色会员日
MYSQL数据库应用网-mysql数据库基础知识、Mysql还原数据库、mysql数据库迁移方案、mysql数据库增删改查、mysql数据备份和恢复、mysql数据迁移工具、mysql数据库迁移详细步骤、mysql数据库存储目录迁移、mysql数据库不停机迁移方法、mysql数据备份和恢复、免费mysql服务器、mysql官网免费版安装教程。
MySQL数据库应用 nincu.cn ©2022-2028版权所有