说起这个问题其实要说到N个礼拜前和大佬们进行了一次有意义的“聊天”。这个问题或许没有什么答案,这个问题如同问你,下面二位你觉得那个更有成就。不会有同样的答案的,也不会有所谓正确的答案。只有不同的思维模式,而产生的产品。

数据库,到底谁推动了谁_java

                              

数据库,到底谁推动了谁_人工智能_02

不如我们先看看过去,在看看现在,数据库是从上世纪60年代产生的,而数据库的产生来自于一个伟大的发明,computer ,对computer, 如果没有这个东西,那么恐怕连数据的定义都不会有,就更没有数据库什么事情了。当时还在两种数据模型的定义中左右摇摆,codasyl or a hierarchical 当然别问我这是什么,我还没有出生。

时间过的飞快,70S 关系型的数据库产生了1974 到 1977  POSTGRESQL 的鼻祖ingres 出现了,在此之间Entity-Relationship 理论产生了,也就产生了ER图。

80S 产生了我们现在熟知的SQL,一种比任何语言都要流行的语言,一个是IT 都不好意思说不会的语言,将不同的数据库,在不同的系统上的操作统一了。

90S 数据库的一切好像刚刚开始,ODBC,我记得我最早的数据库是FOXBASE ,FOXPRO ,这样的东西,在486上的WIN32上滋滋响的磁盘。

2000S 迎来了新的数据库NOSQL ,好像当时只是一种概念,很多人不认为不写SQL的软件能被叫做数据库。

直到现在,身边的数据库种类越来越多,什么都可以叫做数据库,或者只要是存储数据的就叫做数据库,ETCD或许也可以叫数据库键值分布式数据库。

回到数据库的本质,到底数据库解决了什么问题

1  不断改进的数据传播和共享,以及逐步升级的数据安全

2  有效的数据整合

3  数据存储的可信赖和持续性

4  数据的形态变换与隐私性的保护

5  提供不断增长的业务的支持

6  数据获取的更便捷

期间也有不同的想法,数据库应该是和容器一样清澈透明,还是和一个海洋一样,什么都有。所以数据库定义一直在被升级,被重新定义,期间伴随着逻辑和硬件的变迁。

但不可否认改变数据库的定义截止目前有如下的一些事情

1  数据量变得越来越大

2  数据的格式变得种类多样

3  数据访问在同一个时刻的人越来越多

4  数据之间的关系和这个世界的关系一样越来越复杂

数据库,到底谁推动了谁_分布式_03

回到这个题目的问题,到底是硬件发展决定数据库的发展,还是数据库技术的进步倒逼这硬件的发展。这个问题并无黑白,而是一个灰色,灰色的地带。

到是需求,需求是推进这两样发展的动力是无可置疑的,其实两者到底谁推进了谁,谁倒逼了谁,互相成就。如同数据库截止当前的设计,还有机械磁盘优化的影子,虽然SSD 磁盘已经多年了,但是对于磁盘的访问的方式有多少数据库有了实质的变化。

而因为硬件的问题,让数据库匆忙的进入了分布式的数据库设计当中,不知道是分布式的理论被绑定了太多的“贞节牌坊”, 还是硬件对于分布式还没有达到一个让分布式躲过那些“贞节牌坊”的层层锁定。性能一直是分布式数据库的“盲点”,一时半会,不少人都希望分布式数据库能获得 更强悍的硬件和传输的速度,来躲避不能言语的性能损耗。

但看起来能够被认同的,当前的数据库理论想被彻底的改变,是不大可能,ACID,CAP ,CAP2 ,ISOLATION ,ROLLBACK,等被推翻的可能性不同,反过来,硬件的提高性能好像并不是一件困难的事情,或许多年以后,我们都不在使用什么SSD ,每个数据库上都配备着和当前内存一样速度的磁盘,而分布式节点的计算也会将计算能力基于数据可以被更快的访问将计算推到可以幂次方的发展速度。

整体的硬件会变化的更快,存储,计算,以及之间的连接方式和速度的提高后,瓶颈的部分还是在软件的设计上,低效的使用硬件的方式,以及改变不了的想法到是一种加锁,让设计不能更天马星空的进行,处处还是要循规蹈矩。

这里不得不提的一个事情,就是包含云数据库POLARDB 的设计中,还是要遵循,POLARDB FOR  MYSQL OR  POLARDB FOR Postgresql, 并不是这两个数据库是当今最好的选择,而是因为他们是流行的,不用学习的不用做广告的一种推广的方式,到底谁在束缚着谁,或许又不是硬件,也不是软件的设计,倒是人心。

商业化是一种将各种想法,拉到地面的最有力的方式,你在怎么设计还是怎么做,最终的要求是,你要能卖出,要能拉来投资,要能养活成百上千的工作人员以及他们的家庭,这才是这些干数据库人的最大的需求。

所以到底是硬件推动了数据库得发展,还是软件倒逼数据库硬件的发展,或许都不重要,到是需求在不断的推动商业客户,让他们提出的要求,被通过各种方式来满足,让我们这些吃着数据库“饭”的小蚂蚁们,继续搬砖。

数据库,到底谁推动了谁_java_04