从数据库技术的40年发展历程看新征程(四)

转载自微信公众号:BeagleData_

作者:张秋剑

我们上一章讲到,近几年,新的数据库层出不穷,在性能和速度上都有优异的表现。但除掉具体业务场景的和架构方面的一些设计,例如具体不同业务场景的TPS和QPS。但一些最简单的指标,例如IOPS,与MySQL做性能对比测试,还是难以超越。数据库确实不像其他成熟的技术领域,能一两种方案包打天下。比如Java开发发展到今天,基本上就被Spring统治了。而MySQL、Redis、HBase、Hive、MongoDB、RocksDB、CockroachDB等从诞生到发展于今天,并非谁取代谁的关系,而更倾向于每一种都有其擅长领域和适用场景,同时也有其突出短板。讲到这里,我们不得不花点时间回顾一下数据库的历史,这么多的数据库,数据库是怎么产生的。

数据库演进

众所周知,计算机的发明是为了做科学计算的,而科学计算需要大量的数据输入和输出。早期,可以使用打孔机控制灯泡的亮灭表示数据状态,用这些状态输入,输出数据。

1940年,数据可以存储在磁带上,顺序的读取写入磁带。1956年IBM发明了磁带驱动器这个革命性产品,支持随机访问。随着信息化时代的到来,有了硬件存储技术的发展,有大量的数据需要存储和管理。从1940年到2020年,经历了5个时期的发展:

 

(一)从0到1,数据库前期

1940至1980年这40年,是第一个时期,这个阶段属于数据库的前期阶段,大概分成四个阶段:

萌芽阶段:文件系统,使用磁盘文件来存储数据

初级阶段:第一代数据库,出现了网状模型、层次模型的数据库

中级阶段:第二代数据库,关系型数据库和结构化查询语言

高级阶段:新一代数据库,“关系-对象”型数据库

在这个时期,虽然网状数据库和层次数据库已经很好的解决了数据的集中和共享的问题,但是在数据独立性和抽象级别上仍有很大缺陷。用户在对这两种数据库进行存取时,仍然需要明确数据的结构,指出存取路径,而关系数据库就可以较好的解决这些问题。

从数据库技术的40年发展历程看新征程(四)_第1张图片

 

(二)关系型数据库开创新纪元

从1980年数据库进入了一个新的40年发展,在40年的数据库发展的第一个10年,是紧接前段叙述,从0到1的关系型数据库时期。

从数据库技术的40年发展历程看新征程(四)_第2张图片

1981年到1990年属于商业关系型数据库起步阶段,关系型数据库模型是把复杂的数据结构归结为简单的二元关系(即二维表格形式)。例如在新员工入职的时候公司都会给你一个编号,这个编号和该员工是一一对应的,这就是一个二元关系,在关系数据库中,对数据的操作几乎全部建立在一个或多个关系表格上,通过对这些关联的表格分类,合并,连接或者选取等运算实现数据的管理(结构化查询语言,sql语句来对数据进行处理)。

这个时期,Oracle、IBM DB2、Sybase以及SQL Server和Informix等开始逐步崭露头角。

 

(三)互联网与开源世界崛起

1990年至2000年,开源数据库开始展露头角,出现了PostgreSQL和MySQL等。与此同时,出现了一些分析型数据库,因为之前出现的都是OLTP数据库。随着大数据的出现,需要对数据进行分析,为了避免读写冲突,就需要建立专门的分析型数据库系统,因此出现了OLAP。例如:Teradata、Sybase IQ、Greenplum等就快速成长起来。

从数据库技术的40年发展历程看新征程(四)_第3张图片

 

(四)分布式划时代的到来

2000年到2010年期间,以谷歌为代表的互联网公司逐渐推出了面向BigData的数据库计算框架及存储系统也就是所谓的谷歌GFS(Google File System)、Google Bigtable、Google MapReduce ——“三大技术”。Google File System解决了分布式文件系统问题,Google Bigtable解决了分布式KV(Key-Value)存储的问题,Google MapReduce解决了在分布式文件系统和分布式KV存储上面如何做分布式计算和分析的问题。

从数据库技术的40年发展历程看新征程(四)_第4张图片

之所以产生了这“三大技术”,是因为数据强一致性对系统的水平拓展以及海量数据爆发式增长的分析能力出现了断层。因此就需要解决这个问题,把这种数据的强一致性需求弱化,换来能够使用分布式的集群做水平拓展处理。

从数据库技术的40年发展历程看新征程(四)_第5张图片

谷歌“三大技术”在业界诞生以后,很快的衍生了一个新的领域叫NoSQL(Not Only SQL),就是针对非结构化、半结构化的海量数据处理系统。现在也有很多很好的商业公司基于NoSQL发展,比如说文档数据(MongoDB)、缓存(Redis)等大家平常应用开发都会用到的NoSQL系统。

 

(五)New的10年,New的时代

从数据库技术的40年发展历程看新征程(四)_第6张图片

而在2010年之后,到今年——2020年的这个新的10年,AWS Aurora、Redshift、Azure SQL Database、Google F1/Spanner(上篇文章——《(三)从Google F1 看HTAP数据库的诞生》中有介绍)以及阿里云的POLARDB和AnalyticDB等都发展起来了。数据从结构化数据在线处理到海量数据分析,从SQL+OLTP的RDBMS到ETL+OLAP的Data Warehouse,再到今天NoSQL+Data Lake的异构多源的数据类型的发展历程。

于是这10年也很快度过,我们于是见证了像Google、Amazon、阿里巴巴这些云计算厂商成了这个时期数据库发展的主要源动力。给我们创造了主要的核心数据库新技术,推动我们继续不断向前。

从数据库技术的40年发展历程看新征程(四)_第7张图片

讲完数据库这五个时期,总结来看,数据库从早先的原始阶段,到关系型数据库到NoSQL、NewSQL,不断地在向云原生、分布式、多模和HTAP的能力演进。总体而言,我们可以展望,未来10年,也就是在今年这个承上启下的一年所开始的下一个10年,会是HTAP和Cloud Native DB、Real-Time SQL主导的时期。

不知道各位有没有做好准备来迎接新的时期呢?别着急,我们会通过后面的文章,带领大家一同走入这个时期,毕竟你我都是这个时期的见证者,更是参与者,也是共同缔造者。让我们携手共进,创造新篇章。

你可能感兴趣的:(数据库)