前言
从古至今,人类会用各种方式记录数据,从原始时期在木头和骨头上刻痕,到古代文明中的竹简、丝帛以及纸张上的笔墨记载,直到20世纪50年代,人类对数据的管理进入数据库时代。在数据库成为当今数字化时代记录和管理数据的主要方式之一,你知道其发展历程吗?让我们一起了解中国数据库的前世今生吧。
国外数据库技术蓬勃发展
为了适应市场竞争和业务发展的需要,同时随着计算机技术的发展,国际上涌现出了众多数据库产品。
20世纪60年代,世界上第一个数据库:IDS,诞生于通用电气公司 ,在当时得到了广泛的应用,为数据库的发展奠定了基础。
IBM紧随其后也研发出了自己数据库:IMS。并在70年代,随着关系型数据模型的兴起,研发出结构化查询语句,也就是SQL语言前身。
70年代末,甲骨文创办者 Larry Ellison 发现数据库的商机,在往后的几十年里一直占据数据库第一宝座的Oracle诞生。
在国外数据库技术蓬勃发展之际,彼时的中国数据库领域又呈现出怎样的态势?
中国信息化起步与发展(数据库技术探索)
1977年,中国恢复高考,第一批大学生重新走进校园,彼时的学生似乎还不太理解数据库这三个字的意义,中国数据库领域也只是在探索阶段。
作为数据库学科的奠基人,萨师煊教授在80年代带领学生进行数据库理论探索和原型研究,培养了中国数据库的第一代人才,为后续国产数据库的发展埋下了一颗种子。
正因没有数据库这样的工具,彼时的中国信息化状态就如《中国数据库前世今生》纪录片所讲:
"当时条件有限,代码要先在纸上写好,再去机房录入。"
"年底做报表数据,数据录入员花费几天几夜的时间将几麻袋的数据手动录入后,再写程序计算统计。"
这一幕幕情景无不彰显出信息化初期发展的不易与坚韧。
而当国外数据库进入中国市场时,老一辈开拓者们惊觉,原来先前在信息化领域的工作和数据库理念竟是如此契合,可见他们在探索道路中的窘迫和被动。
国外数据库商战策略
解决燃眉之急
90年代,正是中国经济飞速增长的时候,各行各业对信息技术的需求急剧增加。但此时我国的信息技术人才短缺,所以急需引进国外厂商服务来解决燃眉之急。
以魏中朝先生为领军人物,率先引领Oracle公司开拓中国市场,随后IBM与Sybase等企业也紧随其后。正是这些国外厂商的引进,才使得中国信息化在90年快速发展,在这10年里,金税工程、金融、电信、电力、政府、航天等很多应用落地,可以说如果没有数据库技术,这些都不成立。
可想而知,当时的中国有多么重视数据库技术。
有多么重视?
以Oracle为例,1997年,Oracle CEO 第一次访问中国时享受的是国宾待遇。今天看来,似乎很难理解一个外企高管为何能享受如此待遇。因为这关系到未来20年的数字经济的发展。
学习先进技术
随着国外数据库技术的引进,不仅解决了燃眉之急,也为中国市场带来启发。为了国产数据库的发展,国家为高校的数据库研究提供经费支持,从而也有了第一代原型数据库,比如东软的Openbase、中软的Cobase和华科的DMDatabase,并逐步应用在可用度不高但保密性高的科研、国防、军工等领域,也意味着打破了国外数据库的垄断。
数据库技术的新格局
雷声大雨点小的千年虫
在2000年新时代来临之前,信息界有个重大的事件:“千年虫”。
由于当时的存储成本很高,为了尽量减少存储成本,会将存储数据进行缩减。例如,如果用四位数字表示年份,编程人员会采用两位数字表示,但是随着新世纪的来临,大家才突然意识到用两位数字表示年份无法辨识公元2000年及其以后的年份,在2000年来临的前几年,一些政府和企业就耗费不少资金来解决千年虫问题。不过,在随后发生的事情,千年虫并没有如预言那样发生重大的灾害消息。
新型数据库的诞生
2000年有个特火的词“CRM”,CRM是一种商业策略,具体来说就是:收集并分析客户数据,生成各种报表和图表,帮助企业了解客户行为、市场趋势,为决策提供数据支持。
当时几乎全民CRM,一些用于数据分析的数据库在这个阶段就发展起来,例如Sybase IQ列式数据库、IBM的DB2(数据仓库)以及OLAP数据库。
那么这些数据库带来哪些效率的提升?
就如《中国数据库前世今生》》纪录片说道:“金融系统每天收盘后的数据,要花费8~9小时去计算和分析,使用Sybase IQ列式数据库后可以压缩到1小时,很大程度上带动了生产力的提高”。
除此之外,还有一个挺大的动静就是NoSQL的出现,例如内存数据库和Hadoop。
国产数据库展露头脚
2000年后期,国家“十一五”规划发布,称要以信息化带动工业化。在国家政策的扶持下,达梦数据库、人大金仓、南大通用和航天神舟开始发展,并称为国产数据库的四朵金花。
开源助力国产数据库弯道超车
从2010年开始,中国互联网迅猛发展,其间数据库领域也经历了变革:以“去IOE”化为先声,开源数据库蓬勃兴起,大数据广泛应用以及云数据库的崛起,共同塑造了数据库技术发展趋势。
去“IOE”化
继阿里提出去“IOE”化后,2010年代互联网掀起去IOE浪潮,目的是为了降低企业运营成本。特别是Oracle除了高昂的版权费用外,还要额外收取年度服务费,为了摆脱强势的 Oracle,一批中国互联网公司转向开源数据库。
大数据席卷而来
随着移动互联网的发展,电商、物流、饮食、出行等众多和日常生活紧密相连的行业,其业务数据呈爆炸式增长。为了能处理这样体量的业务和数据,像Hadoop体系的大数据技术就不断的应用并持续发展。初次之外,一些喊着分布式、强调性能的开源数据库技术Redis、mongodb等NoSQL也被广泛应用。
NoSQL中的“No”是什么意思?我想这是我听过最好的一段解释了:
起初,NoSQL主要是为了应对传统关系型数据库在处理大规模非结构化或半结构化数据时的局限性而提出的。通过键值对(K,V)、列存储、文档存储或图形数据库等模型组织数据,以替代SQL。随着NoSQL的发展,大家又意识到SQL在某些场景下仍然不可或缺,又演进出如Hive、Spark以及Flink这些在NoSQL数据存储之上提供SQL的解决方案。所以,NoSQL的叫法是从“No SQL”的不得已演变为“Not Only SQL”。
从中也可以看到技术迭代之快,纪录片中的“还没理解数仓是什么,数仓都已经落伍了”我想大部分IT人都深有体会。
国产数据库崛起
开源数据库的普及,为国产数据库的发展提供了一定的借鉴,尤其是一些大公司,为了支撑业务自研了多款数据库,也在为后面云时代的到来打下了基础。
2015年左右随着云发展,这些大公司将很好地支撑大体量业务的技术投放到市场上发挥价值,也就是云数据库的建设。一边引入较为主流的开源数据库,如MySQL,Redis,PostgreSQL 等将其托管在管控平台,一边挣扎着解决分布式数据库带来的扩展、吞吐、读写同步延迟等问题,如TDSQL、PolarDB、GaussDB推进国产化分布式数据库的发展。
而TDSQL更是在数据库领域的“奥林匹克”TPC-C榜单登顶
要知道在 2019 年之前,TPC-C 榜单 Top 10 一直被 Oracle、IBM 等国外传统数据库所占据,这一现状标志着国产数据库在性能和技术上取得了重大突破,实现了弯道超车。
在40余年的发展过程中,依然有很多优秀的国产数据库厂商在提升国产数据库的竞争力。
展望未来
随着AI技术的不断发展和应用场景的落地,对数据处理与存储的需求将更加迫切,然而并没有一蹴而就的解决方案,自研之路依然充满挑战。但此时的我们比老一辈境况好的多,在当时面临各领域的封锁,正是老一辈的前赴后继,才为数据经济的发展奠定了基础。我们要传承这样的精神,继续为国产数据库创造竞争力,一路乘风破浪,披荆斩棘。