转载自微信公众号: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年,是第一个时期,这个阶段属于数据库的前期阶段,大概分成四个阶段:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

而在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、阿里巴巴这些云计算厂商成了这个时期数据库发展的主要源动力。给我们创造了主要的核心数据库新技术,推动我们继续不断向前。

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

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

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

  1. 嘉年华回顾丨Eygle带你领略数据库技术和生态的发展演进

    2020年数据技术嘉年华倒计时2个月,相信大家期待值也越来越高.数据技术嘉年华组委会在此精心为大家准备了"嘉年华回顾",挑选往届大会中热门的演讲.从本期开始,小编带大家回顾往届的高 ...

  2. 数据库技术的历史和发展

    数据库技术是本世纪60年代开始兴起的一门信息管理自动化的新兴学科,是计算机科学中的一个重要分支.随着计算机应用的不断发展,在计算机应用领域中,数据处理越来越占主导地位,数据库技术的应用也越来越广泛. ...

  3. ACOUG 联合创始人盖国强:万象更新,数据库技术和生态的发展演进

    2019数据技术嘉年华于11月16日在京落下了帷幕.大会历时两天,来自全国各地上千名学术精英.数据库领袖人物.数据库专家.技术爱好者在这里汇聚一堂,围绕"开源 • 智能 • 云数据 - 自主 ...

  4. 从金融40年发展,看科技与产业共舞 | 战略地图

     关注ITValue,看企业级最新鲜.最价值报道! 本文摘自钛媒体与阿里云共同出品的<云栖战略参考>,4位来自银行.保险.证券的资深技术专家,仔细回顾了金融行业 40 年的发展,以及金融行 ...

  5. 5G技术—移动通信制式演进发展历程测试题目

    一.判断题(共10题.每题2分.共20分) 1.提升信噪比是提升小区通信容量最有效的方法.(×) 2.我国提出的"5G之花"9个技术指标被ITU接受9个.(×) 3.在5G NR中 ...

  6. 7 自动开启网卡_从Qlogic发展历程看与RDMA网卡的关系

    只要是身处数据中心行业中的人,有一个品牌名字大家绝对是如雷贯耳,那就是Qlogic品牌.众所周知,Qlogic公司源自美国,始创于1985年,是一家拥有悠久历史的专业提供光纤通道主机适配器(HBAs) ...

  7. java development kie_Java Development Kit (JDK) 发展历程 及新特性

    "JDK1.5"(开发代号猛虎)的新特性 1.泛型(Generic) C++通过模板技术 可以指定集合的元素类型,而Java在1.5之前一直没有相对应的功能.一个集合可以放任何类型 ...

  8. 从物联网发展历程看区块链挑战

    2009年,中本聪发布了第一个比特币节点,五年后区块链俨然成为一个规模巨大的产业. 虽然看起来,基于区块链的新的商业时代距离我们似乎只有一步之遥,但在2016年,我们已经意识到区块链产业不会那么快获得 ...

  9. Web开发技术十年发展历程

    回顾web开发技术这十年发展历程: Ajax 03年的时候我上六年级,那时候网吧刚在小县城的角落萌生.传奇,大话西游第一代网游一时风靡.我抱着试一试的心态给了网吧老板两块钱想申请个号玩玩,然后接下来的 ...

最新文章

  1. PYTHON高级全栈开发工程师-老男孩教育
  2. phpjson多层乱码解决
  3. JavaScript 仿LightBox内容显示效果
  4. how to undo git commit
  5. 数据库迁移mysql到sqlserver_数据库迁移(sqlserver至mysql)
  6. HTML5链接tcpUDP,UDP/TCP协议 网络调试工具源码(C#)
  7. 关于CAS服务器磁盘占用的问题,锁定目录惹的祸
  8. 轻松搞定ServerCore初始设置
  9. [蓝桥杯]试题 基础练习 FJ的字符串
  10. mvc设计模式_MVC设计模式
  11. 在linux系统下安装redis
  12. 如何配置cocos2d-x安卓开发环境?
  13. 【区块链】Decentraland 挖矿教学
  14. java下载不了怎么_如何下载和安装Java
  15. 高速EDA设计课程报告(三)
  16. 没有事业的女孩子很悲惨 - - - 一位老总的话!
  17. us、ms、s 单位转换,不会的都是大傻子!!!
  18. 跟着团子学SAP PS:SAP PS模块常用报表介绍及增强建议
  19. 学习日记day31 平面设计 字体构图风格2
  20. 怎么压缩gif图大小?试试这个图片压缩攻略

热门文章

  1. 过度拟合现象的解决方案
  2. 【超简单、超实用】Pytorch生成标签的one-hot矩阵
  3. IM实战:Android接入环信 IM SDK
  4. 用编程语言写一封情书
  5. android 子系统 windows,微软搞什么?Win10手机内藏完整Android子系统
  6. LF 和 CRLF 的区别
  7. 烤仔建工 | 2022,“虎”力全开
  8. 数据分析之车险理赔业务
  9. 小仙女必备宝藏App
  10. WePy--使用zanUI组件