哪个数据库优秀不一定都能达成一致的意见
在1.4日的PG上海生态大会上,我发言大致是:每个人都有自己主观意愿。比如MySQL和PG的争论,无论线上还是线下都是难解难分。主观意愿定了,很难改变。即使心里认,但是嘴上也不说。
但是如果说到Oracle几乎所有人,都认为从技术、架构、理念和产品等综合来说是当之无愧的第一。而这也是几乎,不能说100%。只是没有其他数据库那么分裂。
拿一个好的能替换一个稍微差一点的数据库吗?
大家都知道去IOE,阿里系用MySQL替代了Oracle。这期间技术团队做了多少工作很多人是不知道的。那么问题来了,如果一个企业用的是MySQL,那么用Oracle去替换MySQL可以吗?是不是反过来就没有那么多工作?
我只能说工作量也不少。
首先:两个数据库语法上有差异,所以要大量改SQL。
其次:可能一个系统用了大量的MySQL是微服务或者分库分表再或者试其他的。那么现在用一个来替换,那么应用程序也要大量的改造去掉这些调用关系。最终系统架构是简化了,但是工作量也不小。最后会发现用不了这么多人和这么多机器也行。
当然还有其他的。不过不管怎么说都能知道要改程序。所以决策者一般来说不会去改。
这里不要说兼容性做到了100%,应用程序一行不改。我不信!(在同样的硬件环境下保持和原来一样的效率,能不能白纸黑字写下来?)如果说要堆原来10倍的机器才能达到一样,那么这种我是相信的。
这种当然也体现在信创上。原本系统用的好好的,现在要替换。别说替换的不如我现在用的,因为这个存在争议。即使新的比现在好没有争议的,那也受不了。
所以很多时候(我说是很多时候,不是说所有时候)并不会因为一个数据库优于另外一个数据库,就去换。即使现在用的不合适,不到万不得已也不太会去换。这和开发语言一样。不会因为今天新出了一个,就马上用这个新的当红语言把之前的全部重写一遍。
如果在10年前还有这种可能性的话,那么在今天这个经济形势(大家心知肚明,不太相信报道中的稳中向好)的情况下,几乎不可能了。
有哪些可以去替换的
1.因为数据库选型错误原有系统实在是维护不下去了,正好也有钱重做一遍。(实在不行和有钱,二者缺一不可)
2.有自主可控邀请,正好也有钱重做一遍。(有信创要求和有钱,二者缺一不可)
3.一个全新的系统,正好也有钱招人新开发一套系统。(有新系统机会和有钱,二者缺一不可)
4.需要统一技术栈,正好有钱可以做替换重构。(有统一诉求和有钱,二者缺一不可)
5.确实觉得新的数据库好,有未来。正好有钱可以慢慢的将系统迁移到新的数据库上。(新数据库有前景和有钱,二者缺一不可)
未完待补充。。。。
看上去共有的一个特点是有钱。没钱的就算了。为什么这么说呢?没钱谁干活,总不能都是为爱发电吧。再有觉悟也不能说不要钱干个几年是吧。
对每一种数据库的坚持都值得尊敬
比如对Oracle DB2 SQLSERVER这种数据库喜爱的用户来说,这些数据库带来了价值也带来了情怀。
对这些数据库坚持的DBA来说,这些数据库给DBA带来了成就,也带来了收入。
对开源数据库MySQL PostgreSQL这些数据库喜爱的用户来说,这些数据库降低了一些数据库的成本,当然也增加了一些设备和人的成本(只是企业没意识到)。不过也存在这,企业就是不给人钱,没有意识到人这些人需要很多的钱。本质上还是对人和知识的不够尊重。
对这些数据库坚持的DBA来说,这些数据库给DBA带来了成就,也带来了收入。
对国产数据库喜爱的用户来说,国产数据库带来了政策上的价值。
对于这些数据库坚持的DBA来说,这些数据库给DBA带来了成就,也带来了情怀。这里似乎没提钱,钱也是有的但是不多。毕竟我们市场就这么小,现在已知盈利的就3家吧,其他还在亏损或者说在国内是亏损的。
换数据库和数据库好坏无关
在分布式中OB和TiDB我觉得是做的比较好的。如果说某个用户需要分布式,但是用了这两个以外的,我觉得不一定是比他们两个有多好。而是关系确实比他们两个好。
这两个都是LSM-tree的数据结构,所有LSM-Tree的优点他们都有,缺点也都多少会带一点。就像原子弹是核裂变一样,两个国家都做原子弹的话,做出来的效果都差不多。氢弹是核聚变,那么两个国家都做氢弹的话,做出来的效果都差不多。
我说这些是当下你看看纷纷扰扰的替换中,未必用的就是最合适的,最合适的未必用的上。很可能就是不适合或者自己不喜欢的,但是也只能硬着头皮用。