Amygoing
作者Amygoing联盟成员·2020-02-25 10:49
产品经理·数据库

“卡脖子技术“排行榜中的数据库知多少

字数 2866阅读 10152评论 0赞 2

科技日报发布了被国外卡住的关键技术之一数据库位列 35 位(简称:“卡脖子技术”)。

《数据库管理系统:中国还在寻找“正确打开方式”》中描述目前全世界最流行的两种数据库管理系统是 Oracle 和 MySQL ,都是甲骨文公司旗下的产品;竞争者还有 IBM 公司、 SAP 公司以及微软公司的产品。甲骨文、 IBM 、微软、 Teradata 、 SAP 等几家美国公司,占据绝大部分的市场份额。数据库管理系统国货也有市场份额,只是个零头,其稳定性、性能都无法让市场信服,银行、保险、证券、电信、电力等要求极端稳定可靠的企业,都是国外数据库产品主宰。

提笔之际同各位读者赘述下什么是数据库,不做过多的延展,行业内资深专家众多,笔者不班门弄斧。

1.什么是数据库
从字面上可以简单地理解为: 存放数据的仓库 ,它的存储空间很大,可以存放百万条、千万条、上亿条、数十亿条、数百亿条等规模的数据。但随便存放可是行不通的,常言道“没有规矩不成方圆”,数据库存放数据一样遵循这个道理,它是按照一定的数据 结构来组织存储和管理数据 :

受多种条件限制,遵循一定的规范,《数据库系统概论》有描述范式,例如:第一范式、第二范式、第三范式、 BCNF 范式等。

一般用程序来读写方式操作数据库,常用的统一标准是 SQL 语言,同时要掌握分库分表、读写分离等原理。
2.数据库分类
数据库诞生至今已经走过了六十多年,随着信息化技术普及,及 PC 互联网、移动互联网、物联网等技术应用不断发展以及业务需求的多样化,数据库的种类也日益增多,下面跟大家分享笔者整理出来的数据库分类表。

备注: 上下维度是区分是否关系型的数据库产品,左右维度区分实时交易的数据库产品还是分析处理的数据库产品;左边实时交易数据库产品再一分为二从技术架构上区分集中式和分布式的数据库产品。
(一)根据数据存储的方式不同,分为: 关系型( E-R )数据库 与 非关系型( Key-Value )数据库。

(二)根据数据处理过程大致可以分为: OLTP (实时交易处理)与 OLAP( 在线分析处理 ) 。

为什么说大致?近些年来有一个比较火的概念(个人观点称之为概念)“ HTAP” 简单的说就是 OLTP 与 OLAP 的结合,借用数学的表达方式就比较直观了, HTAP 是 OLTP 与 OLAP 的交集如图所示,鉴于文章篇幅限制,在这里就不多阐述,有机会再来跟大家浅谈 HTAP 的前世今生。

2.11 什么是关系型数据库:

l 概念:是指采用了关系模型来组织数据的数据库,同时也是一个被组织成一组拥有正式描述性的表格,以行和列的形式来存储数据,一系列的行和列称为表,一组表组成了数据库。而关系模型可以简单的理解为二维表格模型。

l 优点

1) 数据结构同人类认识事物的逻辑方式有相似度,关系模型表达对象间的关联关系,相对其它对象模型,更容易被计算机世界的人理解和描述。

2) 关系型数据库的事务机制使被存储的数据表现出一致性,使数据冗余和数据错误更容易被控制。

3) SQL 语言是关系型数据库领域独属的语言,可以在数据库上对数据做各种复杂的增删改查操作,使计算机世界的人非常方便操作数据。

l 缺点:

1) 关系型数据库为了保证数据的一致性和原子性,一般会执行很多锁操作,当客户端出现高并发请求时,数据库增加的锁等开销负担和操作系统的 I/O 调度会同时影响数据库的性能瓶颈。

2) 在关系型数据库中,数据结构在数据存入前就已确定,后期因业务变更而改变数据结构的成本比非关系型数据库要高。在没有分布式事务数据库计算引擎的控制下,因业务规模扩大而进行数据库的升级和水平扩展,一般也伴随着产生巨大的运维成本。

3) 对海量数据的查询效率相比非关系型数据库低。对多表关联的复杂 SQL ,数据库会对 SQL 进行解析、分析、优化等操作,这也是会致使性能降低的原因。

4) 关系型数据有规范的数据定义规则和范式要求,这也让数据的定义和存储变得有限的灵活。

提到关系型数据库不难想到当今 常见的主流关系型数据库产品及数据库厂商,例如: Oracle 、 DB2 、 Informix 、 Sybase 、 Microsoft SQL Server 、 MySQL 、 MariaDB 、 PostgreSQL 等

2.12什么是非关系型数据库

概念 :也称 NoSQL ,泛指非关系型数据库,不提供关系数据的 ACID 特性,通常具备以下特点:模式自由、支持简易复制、简单 API 操作数据、支持存储大规模数据等。

l 优点

1) 除数据存储的 KEY 结构不可随意变化外,其他具备灵活的数据结构定义,可以根据用户业务变更,灵活改变,数据的扩展性强。

2) 因为没有 SQL 解析、分析、优化等操作,也没有关联查询,在海量数据或高并发场景下的查询效率高。

l 缺点

1) 无事务机制,对数据的一致性表现差,需要用户自己控制。

2) 无领域特定语言,对数据进行直接增删改查操作时不方便。

3) 无法在数据库内做关联查询,关联查询需要用户自己处理。

主流的非关系型据库产品: MongoDB 、 HBase 、 Hadop 、 Redis 、 MemcacheDB


2.2最后用表格的形式再来浅析下 OLTP 与 OLAP 的区别

类型定义应用场景特点主流产品
OLTP联机事务处理基础的、日常操作处理例如:在线购物、在线支付、银行转账、铁路控制系统、电力调度系统、各行各业的缴费系统等1. 实时性要求高,强调各种指标命中率以及并发操作 2. 数据量GB级-数TB级-数百TB级Oracle、MySQL、PostgreSQL、SQL Server、Sysbase、Informix、DM、Kingbase、Oceanbase、HotDB、TDSQL、GaussD100B等
OLAP联机分析处理数据分析挖掘,侧重决策支持,例如:购物喜好推荐、电影推荐系统等1. 实时性要求不高 2. 数据量数TB级-数百TB-PB级 3. 处理历史的、聚焦的、多维的、集成的等数据Greenplum、Gbase8A、Vertica、GuassDB200、TiDB等


以上,主要从两大维度对数据库种类进行了分享,各位读者仔细看文章开始笔者放的数据库分类表会发现,同时还列举了现如今市场上 主流 的分布式事务数据库产品、分布式分析数据库产品、集中式数据库产品。

文章结尾顺带讲下,现在是分布式数据库开花的时代, 是互联网迅猛发展的产物, 集中式数据库已不能完全满足业务的需求,简单的举个银行的例子,世界迅速进入 5G 时代,网民用户激增到空前规模,交易场景复杂化、业务需求多样化、交易数据并发量爆炸式增长等,传统的集中式数据库已很难承受当前的负载,导致银行核心系统很容易发生故障,例如:交易延时、交易失败率高、系统宕机等。一旦故障发生,对银行来说损失将是灾难性的,而分布式事务数据库可以天然地更好规避以上风险。

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

2

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广