《中国数据库前世今生》——2000年,跨时代的年份,这个10年是革新的10年,是突破的10年,是腾飞的10年。

00年代数据库

00后,最富有朝气的一代,时代在发展,社会在进步,曾经早上七八点钟的太阳已经达到了晌午时分,正式年富力壮的时候,是该由他们扛起新一代的科技发展重担了。

本期的嘉宾是陈琢,负责腾讯云TDSQL的产品负责人。他11年毕业后在人大金仓工作到17年。一直在参与国产数据库的研发,19年到的腾讯,是一位非常谦逊的技术人。

千年虫

这里提到了一个词y2k,也就是2000year的缩写,00年以前时间的写法一般是简写的,例如1975年,就直接写成了75年,如果90年减去75年也就是15年,这是正常计算的,但是在90年之后发现问题是马上到2000年了,00-75这就变成负数了,肯定不行啊,所以就出现了千年虫危机,这个问题其实不是什么大问题,就是重构一下代码,替换运行以下即可,但是当年的程序是没有主从设备可以容灾的,想处理这次问题就必须重新启动服务,重新启动服务的几十秒就是可以大做文章的时候,记得当时还拍摄了一个美国大片呢,一个老头带着一个佳丽成功的通过这几十秒将所有陈年烂账的小额度金额都转移到了他们自己的账户上了,其实想一想有点不太可能,又不知道数据库密码,则么连接上的,况且数据库操作有log日志,怎么可能找不到人。

在实际的工作中的实例就是99年的时候各大厂商处理的SQL都挨个的对时间进行排查,如果是简写的【yy】都改成【yyyy】格式,这样就解决了这个问题。没有什么我们程序员解决不了的电脑问题,如果有,那就重启一下。还不行就换个电脑,哈哈。

而且当时也真没出事啊,2000年钟声敲响的时候程序员们都很紧张的盯着自己的程序,也没出什么bug,安稳的度过了。

Customer Relationship Management_CRM——数据仓

千年虫实践过去之后就算到了软件开发的一个爆发时期,大家都在做RCM,银行,电信等大型企业都在搞,CRM大家都也知道,这个是搞客户关系的,所有的客户交流信息也都在数据库里面存储着,这个数据量是非常大的,在后端收集完毕这些数据后也都有做用户画像数据分析,也就可以把它看成是一个数据仓了,算是最早的大数据原型。

2000年新数据库的出现

主持人的知识量还是非常大的,他说了一款Sybase IQ: Sybase公司开发的列式数据库,用于高性能数据查询和分析。

提升一千倍速度的查询——列式数据库,虽然说的有些夸张,但是主持人用他的实际工作说明了一下,原本七八个小时的工作在使用了IQ之后发现一个小时就搞定了,这个工作效率真的是大幅度的提升了呢,也就是代表这个方向发展肯定是正确的。

IQ也代表了中国的列式数据库正式的进入了。HBase、‌Hive、‌ClickHouse、‌Sybase等数据库更多地被视为典型的列式数据库。‌这些数据库的发展和应用,‌反映了数据库技术朝着更高效率、‌更适应大数据分析需求的趋势发展,例如动感地带这个套餐就是大数据分析对年轻人单独推出的一个组合套餐。

数据有了,那么很多企业的老板们也会想着是否能从数据反推业务流程,随之OLAP数据库仓库就出现了,IMB,微软,Oracle都有对应是数据库版本,也包括我们国内的腾讯云数据仓库TCHouse-D的出现。有OLAP那么随之也出现了OLTP数据库。

数仓理论之争

Bill Inmon:

数据仓库理论的创始人之一,提出了“自顶向下”的数据仓库设计方法。

Ralph Kimball:

数据仓库领域的另一位重要人物,提出了“自底向上”的数据仓库设计方法。

两个人两套数据仓库,但是都没有成功。

数据库读写分离的出现

这个功能出自于铁路部门的12306,当时对12306网站的要求太大,每天卖出的票平均是1800万张,大家在商讨过程中发现大部分实际操作还是查询部分,是查询完毕之后再去购票,那么就可以将读取数据库与写入数据库分开,也就出现了最早的读写分离,包括数据的分库分表也都是在这个时候出现的。

轻量嵌入式数据库茁壮成长

00年过后出现了很多的小型的可携带设备,这些设备也都是需要数据库的,现阶段我们使用的Android机比较多,大家也都知道SQLite,还有SQL Any where,这个东西不仅仅是小,是省电的代表啊,跑起来的运行内存消耗也低,使用超级方便。这是一种嵌入式的数据库。

这个发展之路还是比较有前景的,按照主持人的说法,数据库服务器你一年卖不出去多少台,但是手机一年得卖多少呢?

一个数据库给人家厂家一毛钱,那都是天文数字,包括现在很多电器设备也都要嵌入这种数据库,需求量就会非常的大。

数据流和复杂数据处理

当数据不以存储为形态,而是以流动为核心形态,也就是数据量,不管最终的存不存。CEP(复杂数据处理)更加强调的是数据的复杂度和复杂处理。这个用的最好的就是华尔街的交易算法。

其实在这个地方我也有些发言权,我在17/18年的时候是写交易所程序的,当时涉及到很多的撮合交易,这个撮合交易注意的就是算法,难度还是相当的大的,我记得当时第一个版本每分钟能处理的交易量只有几百单,后来通过算法优化,分布式微服务的方式,各种中间件处理,最后每分钟能达到万单的撮合交易,但是想运行完还是得5分钟左右的。毕竟写入的内容太多,再读写分离也是得写的啊。

这些复杂的流数据就得有一个新的处理方式,SyBaseEP就是做这个的。

数据流的价值还是非常大的,毕竟我们不可能将所有出现的数据都存储起来。这时候郑晓军老师就说了一个存储有价值数据的方法,数据流的流量非常大,但最终存储的数据是这些数据在几秒钟内的平均值。最大值,最小值,方差,标准差等,其实这是股票交易的K线就差不多了。这个时候出现一个新的产品ILOG,IBM收购的一家公司,提供业务规则管理系统和优化解决方案。帮助金融企业,制造企业,销售企业带来时时的数据分析。

NoSQL——从No SQL转变Not only SQL的出现

Hadoop对于做大数据的人们来说是非常熟悉的,08/09年的时候出来的免费工具。并且PC机都能用,就很方便。成本比较低,并且能处理的数据量也特别大,直接进行裸key-value操作。当然Hadoop也只是个过度,后面数据湖等一些列内容也随之出现,hive spark flink等有关大数据处理的内容越来越多,开源的产品也是特别的多,工具也多,各种各类的百花齐放,现阶段大数据的技术人要掌握的内容也是多的不行,其实最终还得靠SQL来统筹全局。

金仓达梦的初期——持续被MySQL打压

0809年的时候大家商业化的节奏不是很快,但是随着国内发展的情况的迅速,倒逼着国内数据库的发展,我们国内的用户也愿意配合将自己的核心数据转到国产的数据库上,这个时候对金仓达梦这类数据库就是一个非常好的锤炼。但是这个时候MySQL数据库已经发展起来了,相信大家对MySQL数据库的熟悉程度肯定会比金仓和达梦的熟悉,所以国产数据库想在这个竞争中挣扎出来还是非常有难度的。

这个时候主持人说了一段话,我觉得非常有价值。主持人说到,你别指望一个大学的老师在上课的同时还能攻坚及时,并且还得考虑到商业运作,并且对政府关系还非常熟练,这是不可能的。

这点看腾讯当下对数据库的投入可能还是有希望在这一片天地开拓出属于国人自己的数据库的。

总结

00年代的数据库发展,从解决了千年虫的时间字符问题开始,到了各类数据库征战市场,NoSQL的出现在竞争中又划分出多条的赛道,这些都是为了迎接10年代大数据时代的到来,那么本次3小时的对话就到此结束了,希望各位能持续关注《中国数据库前世今生》系列的对话内容。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐