当前位置:首页 > IT知识 > 正文

一文读懂火山引擎云数据库产品及选型

发布:2022-12-06 12:20:00 464


1. 为什么要做数据库选型

1.1 数据库选型的重要与难点

开展数字经济是当下各行各业的重要方向。支撑数字经济的底座是软件,特别是根底软件,可以说根底软件是整个数字经济的坚实底座。在根底软件领域,有三大根底软件,分别是操作体系、数据库体系和中间件。咱们每天日常日子中的方方面面,背面都离不开这些根底软件的支撑,其间数据库体系是事务数据的载体,比如银行卡上的余额,是十分重要的数据,不能有任何过失,数据库在一切 IT 体系中的位置都是重中之重。

数据库作为根底软件的重要显而易见,各行各业的数字体系都离不开数据库体系。但不同职业特色不同,职业需求也就不同。面对着业界上百种数据库类型,究竟应该怎么依据自己的事务特征去挑选最适宜的数据库体系?这个问题十分的重要,因为假如数据库挑选不适宜,可能会让事务体系停摆,形成严峻经济损失。所谓适宜的数据库体系,不仅仅要满意事务需求,还要尽可能降低本钱,减轻运维办理难度,满意事务未来的开展等等。这是个杂乱的问题, 因为各行各业的事务场景各不相同,对数据库的需求和运用场景差异很大,可挑选的数据库体系也是几十上百种,如此一组合下来,关于非数据库专业人士,挑选杂乱度十分高。

本文的意图便是要测验答复这个重要且杂乱的问题。假如您方案将 IT 事务体系布置在火山引擎之上,可以参阅本文的思路,挑选适宜的火山引擎云数据库服务,为事务运用打造坚实的数据库底座。

1.2 数据库开展与类型简介

数据库体系在上世纪 70 年代初呈现,至今现已开展了半个多世纪,其理论、技能与产品现已十分丰厚,呈现出百家争鸣的现象。依据其特色可以大约分为联络型数据库办理体系(RDBMS),非联络型数据库(NoSQL),NewSQL、云原生数据库、分布式数据库等等。每一类数据库中运用不同的技能完成,又可以分化出不同的产品类型。依据 DB-Engines 的核算,数据库产品数量现已有将近 400 种,数据库厂商也有几百家,如下图所示,不同数据库产品的实践运用规划也大有不同,其间联络型数据库办理体系是一切数据库中运用最广泛的一类。一起,依据卡内基梅隆大学保护的全球数据库信息库(dbdb.io)显现,数据库体系品种现已多达 870 种,可谓是蒸蒸日上,让人目不暇接。

图片1.png

纵观整个数据库开展史,联络型数据库体系是前史最悠长而且运用最广泛的一类数据库体系,其理论根底是依据 IBM 研究员 E.F.Codd 博士在 1970 年提出的“联络模型(Relational model)”。联络型数据库也是曩昔几十年里各行各业运用最多最广泛的数据库类型。

跟着 2000 年之后移动互联网的大规划迸发,催生出了五光十色的面向互联网的运用,这些运用一起的特色是并发量十分高,数据量特别大。依据这些互联网的新场景与新需求,又呈现了 NoSQL 数据库技能,其理论根底首要是由 Eric Brewer 提出的 CAP 定理以及 Dan Pritchett 提出的 BASE 准则。

再往后,业界将联络型数据库与 NoSQL 数据库的优势进行了交融,呈现了 NewSQL 数据库,跟着云原生技能的进场与迸发,又有了云原生数据库。

图片2.png

联络型数据库将数据存储于二维表格之中,数据以行为单位,一行数据表明一个实体信息,每一行数据的属都是相同的,经过 SQL 言语进行操作,简略了解,广泛运用于企业的 ERP、CRM、财政体系和买卖体系等中心事务体系。其最大的特色是支撑事务,遵从 ACID,确保数据强共同。业界常见的联络型数据库又分商业数据库与开源数据库,其间干流的商业联络型数据库代表有 Oracle、SQL Server、DB2 等;干流的开源联络型数据库代表有 MySQL、PostgreSQL、MariaDB 等。

NoSQL,Not Only SQL,“不仅仅是 SQL”,广泛运用于以互联网事务为代表的场景。NoSQL 数据库又可以细分为 KV 型 NoSQL 数据库(以 Redis 为代表)、文档型 NoSQL 数据库(以 MongoDB 为代表)、宽列型 NoSQL 数据库(以 HBase 为代表)、时序型 NoSQL 数据库(以 InfluxDB 为代表)以及图 NoSL 数据库(以 Neo4j 为代表)。尽管这些类型都归于 NoSQL 数据库领域,可是不同类型的 NoSQL 数据库所适用的场景各有不同,需求依据事务特征挑选适宜的 NoSQL 数据库。

其间 KV 型 NoSQL 数据库适用于需求超高能,读远多于写,而且可以忍受数据部分丢掉的场景,例如作为联络型数据库的外部缓存,用于提高体系全体的读能,减轻联络型数据库的读压力。

文档型 NoSQL 数据库运用的是一种半结构化的数据模型(json 或 xml 格局),与联络型数据库比较,文档型 NoSQL 是没有 Schema 的,因为没有 Schema 的特,可以随意地存储与读取数据,因而文档型 NoSQL 数据库处理了联络型数据库表结构扩展不便利的问题。

宽列型 NoSQL 数据库,首要用在大数据、OLAP 场景。其特色是可以供给海量的存储容量,PB 等级数据量可以轻松存储,而且本钱较低。

时序型 NoSQL 数据库首要运用在一些与时刻强相关的数据模型,例如 IoT、监控数据等场景。关于时刻序列相关的数据,时序型 NoSQL 数据库的处理与联络型数据库的处理方式是不一样的,时序型 NoSQL 数据库首要是有效地搜集、存储和查询高频发生的各种时刻序列数据,对此做了专门的规划和优化,专门用于这类场景。

图 NoSQL 数据库首要用于处理‘联络’数据。这儿的‘联络’不是联络型数据库中的联络,而是指不同目标之间的联络。例如,交际联络(人与人的联络)、引荐联络(人与物的联络)、相相关络(物与物的联络)等等。这类数据用联络型数据库很难处理,特别是在互联网海量数据条件下更杂乱,所以图 NoSQL 数据库首要是针对这类场景做了专门的规划与优化,用于进行‘联络’数据的存储与查询。

从技能视点动身,数据库可以分为联络型数据库与 NoSQL 数据库。从场景视点动身,数据库又可以分为 OLTP 数据库与 OLAP 数据库。OLTP(Online trancaction processing),是联络型数据库的首要运用,偏重于交互式的事务处理,例如银行买卖、在线订单处理等。OLAP(Online analytical processing) 是数据仓库体系的首要运用,支撑杂乱的剖析操作,偏重剖析决议计划支撑,而且供给直观易懂的查询成果,首要跟大数据体系联络严密。OLTP 与 OLAP 体系之间通常会运用 ETL 进行衔接。

图片3.png

本文首要偏重于 OLTP 体系的选型攻略,也便是上图中圆圈中的规划,包含联络型数据库与 NoSQL 数据库。OLAP 与大数据相关不在本文评论规划。

2. 选型根本方法论

在开端介绍数据库选型方法论之前,首要需求介绍一个理念:“数据库选型没有银弹”。便是说没有任何一款数据库可以满意一切事务场景的需求,找不到一个可以包打天下的数据库。

假如真有“数据库银弹”,那也就不用做数据库选型了,直接用银弹就行,数据库国际也就不会呈现如此多品种的数据库技能和产品类型了。

所以需求依据不同的事务场景、事务需求去挑选一款最合适的数据库体系,这也是本文所要评论的中心问题。

图片4.png

2.1 参加选型的人物

数据库选型不仅仅是一个技能挑选,而是一个大局挑选。后面会从多种视角多个方面来阐明做数据库选型需求考虑的要素,包含运用接口、数据模型、能、安稳、本钱、运维杂乱度、高可用、安全、扩展等方面。

数据库选型是一个大局挑选,参加到挑选中的人物首要有三类:

● 开发人员,代表了事务和运用自身。

● DBA,代表了数据库办理人物。

● 财政部门,代表了本钱操控人物。

财政部门首要重视的是数据库体系的本钱,需求依据事务体系的规划、重要等方面决议财政投入,简略说便是预备花多少钱建造与保护数据库体系。投入越多,可以取得更强的数据库才能,也可以延聘更专业的 DBA 进行数据库保护,确保数据库体系安稳运转。企业安排中越是重要中心的数据库体系,会取得更多的资源投入。

DBA,Database Administrator,是数据库办理员的简称。从姓名就能看出来,DBA 是担任办理数据库体系的人物,首要重视数据库的可运维,包含监控告警、备份康复、晋级搬迁、问题确诊东西、调优东西等;安稳,包含高可用、主动主从切换、手动主从切换、会话办理等;能,包含 QPS、时延、吞吐量等;可扩展,包含灵敏变配、核算扩容、存储扩容等;安全,包含 SQL 审计、操作审计、数据加密、数据脱敏等。

开发人员,是运用程序的规划者与开发者,也是数据库体系的实践运用者,开发人员规划的运用程序会直接与数据库进行交互,运用数据库进行数据的高效存取。开发人跟 DBA 的重视点有相似的当地,例如开发人员也会重视数据库的能、安稳、可扩展。但除此之外,开发人员更重视的是数据库供给的接口和支撑的数据模型,这一点直接决议了运用应该挑选什么样的数据库。接口与数据模型包含了是否支撑 SQL、是否遵从 ACID、数据共同等等。

图片5.png

2.2 数据库选型考虑

数据库选型首要需求考虑的应该是事务运用所服务的场景,是 OLTP 场景仍是 OLAP 场景。假如是 OLAP,主张参阅大数据相关选型辅导;假如是 OLTP,可以参阅本文的选型辅导。

接下来是考虑运用的数据模型。数据模型可以是联络型、半结构化、非结构化、KV 型等等。假如是联络型,可以挑选联络型数据库;假如是KV 型,可以挑选 Redis;假如对错结构化或半结构化,可以从 NoSQL 数据库系列中挑选合适的品种,需求看详细的数据模型。

假如事务运用对事务 ACID 是强需求,那么联络型数据库将会是最佳的挑选,例如 MySQL、PostgreSQL 等。

接着要考虑事务运用对数据共同的要求。假如事务运用需求强共同,那么优先挑选联络型数据库;假如事务运用可以承受数据的终究共同,那么各类 NoSQL 数据库都可以成为待选项,详细结合数据模型做进一步考虑。其间,MongoDB 可以经过调整自身的某些参数到达数据强共同的作用,开发人员需求重视。

此外,除了考虑事务运用现阶段的需求,还需求为未来做考虑,这儿面最重要的便是预估事务增量,包含对能、数据量的预估。假如事务在未来增速可能会很快,会需求更强的数据处理才能,或许需求更大的数据容量,那么也需求一起考虑数据库的可扩展,经过扩展来获取更强的数据处理才能以及更大的数据存储空间,以确保事务运用可以平稳运转。

图片6.png

3. 火山引擎云数据库选型参阅

火山引擎云数据库供给了丰厚的云数据库产品类型,包含开源数据库与自研数据库,一起也供给了完好的数据库生态服务,包含数据库搬迁服务与数据库统一办理服务。接下来会简略介绍每一种数据库的特色与适用场景,便于选型参阅。

图片7.png

3.1、联络型数据库 RDS

火山引擎云数据库 RDS 是联络型数据库的合称,RDS 支撑 MySQL 引擎、Postgre SQL引擎、SQL Server(暂未上线,敬请期待)引擎,一起供给了数据库办理、安全、灾备、监控、搬迁等全套处理方案。RDS 依据云原生架构布置,在扩展、弹和价比如面有很大的优势。

火山引擎云数据库 RDS 可以广泛运用于互联网电商、游戏、在线买卖等场景,也可以承载传统 ERP、CRM 等事务数据,具有高可用、高能、灵敏易用等特色,已有多个职业的客户正在运用火山引擎云数据库 RDS 承载其在线中心事务体系。

图片8.png

3.2 云原生数据库 veDB MySQL

veDB MySQL 彻底兼容开源 MySQL,选用核算存储别离架构,最大支撑 128TiB 的结构化数据存储,单个数据库集群最多可扩展至 16 个核算节点,包含 1 个主节点与 15 个读节点。依据云原生数据库规划理念,云数据库 veDB MySQL 既交融了商业数据库高能、高牢靠、高可用的特征,又具有开源数据库简略敞开、快速迭代、高效扩展的优势。经过字节跳动内部要害事务场景的锻炼和打磨,veDB MySQL 可以为企业供给安全牢靠、能优胜、功用丰厚的数据库服务。

veDB MySQL 现已在字节跳动内部广泛运用,承载了内部多条事务线的事务,例如抖音、广告、小说等事务。在 2021 年的春晚红包雨活动中,全国总共发起了 703 亿次红包雨互动,其间 veDB MySQL 的读 QPS 峰值到达 500w+,写峰值到达 360w+,杰出的支撑了本次红包雨活动。

veDB 现在正在公测阶段,欢迎试用。https://www.volcengine.com/product/vedb-mysql

图片9.png

3.3 缓存数据库 Redis

火山引擎缓存数据库 Redis 供给的是保管型的缓存数据库服务,兼容开源 Redis 数据库引擎,协助您在云上轻松、快速地构建 Redis 数据库。缓存数据库 Redis 供给了高能且安全的 Redis 数据库处理方案,按需计费结合动态扩展才能可以显著地协助企业降低本钱,一起也有助于消除办理、运维数据库的杂乱。

缓存数据库 Redis 在开源社区 Redis 架构进步行了很多优化,选用字节跳动内部实践的 Achemy 架构,极大提高了 Redis 集群的规划与安稳。

图片10.png

3.4 文档数据库 MongoDB

火山引擎文档数据库 MongoDB 版是一款彻底兼容开源 MongoDB 协议,且具有高可用、高能的在线云数据库服务。文档数据库 MongoDB 支撑多种架构,可以满意事务灵敏布置的需求。除副本集实例架构外,文档数据库 MongoDB 还供给了分片集群架构,以满意海量数据事务场景,一起供给了灾备、备份及康复、监控等全套处理方案。在互联网(游戏、电商、、资讯、交际)、新零售等职业都有广泛的运用。火山引擎文档数据库 MongoDB 行将上线 MongoDB 5.0 版别,敬请期待。

图片11.png

3.5 表格数据库 HBase

火山引擎表格数据库 HBase 是依据 Apache HBase 供给的全保管 NoSQL 服务,兼容规范 HBase 拜访协议,具有低本钱存储、高吞吐、灵敏扩展等优势。

表格数据库 HBase 具有以下优势,协助您构建抱负运用:

支撑 KeyValue 数据模型。

● 高可用架构,Master 为包含两个节点的主备形式,支撑 HA 实时检测。

● 存储和核算别离确保数据的高牢靠,存储选用多副本机制,可用不低于  99.5%。

● 支撑实例变配,包含横向扩容和纵向扩缩容,还供给了监控告警等功用,实例办理简略便利。

图片12.png

3.6 图数据库 veGraph

图数据库 veGrap 是一款以属图为根底结构数据的分布式云原生数据库,供给了海量联络的数据存储和毫秒级的在线查询服务,广泛运用于交际网络、诈骗检测、引荐引擎、常识图谱等场景。

图数据库 veGraph 首要具有如下特:

● 有向属图。依据有向属图(Property Graph),由点、边、点类型、边类型以及属组成。

● 可视化图渠道。查询成果可视化,支撑图形化地展现数据的相关,便于更高效地剖析数据。

● 图办理。供给图办理、Schema 办理和经过图形化界面来装备数据导入等功用。

标签:



分享到