ORACLE TO POSTGRESQL 来自2天上海的印象

news/2024/12/24 22:15:07/

开头还是介绍一下群,如果感兴趣polardb ,mongodb ,mysql ,postgresql ,redis 等有问题,有需求都可以加群群内有各大数据库行业大咖,CTO,可以解决你的问题。加群请联系 liuaustin3 ,在新加的朋友会分到2群(共1000人左右 1 + 2 + 3)新人会进入3群

d849754c40f18994bd8751d5f5e51f0b.png

最近去了上海一趟,主要与某个企业在从 ORACLE 数据库转型到POSTGRESQL 有关,2天的行程下来感触也挺多。首先在我们传统的意识中,只有国内的那些XX单位,才要摆脱ORACLE 搭上 POSTGRESQL 这班车,什么原因 ZC原因,而本次转换到POSTGRESQL的原因,却不是ZC原因,而是 CB原因,虽然知道ORACLE  TO  POSTGRESQL 的主要两个原因分别是 ZC 和 CB ,但是一些世界500强也开始算计成本,也让我有点“惊诧”。

因为向来这些企业本身都是对于稳定性有更高的要求,ORACLE 可以带来的东西可不是 “免费” 软件可以比拟的,但如今这样的企业也开始要吃免费的“餐食” 也是有点意思。

当然转型期间,必然有痛苦,500强们习惯了ORACLE 给付的稳定性,但换到了POSTGRESQL 就遇到了以下的一些问题,因为本次主要是和开发的一些同学进行了沟通,所以也了解了大家的一些问题。

在使用POSTGRESQL 的时候,到底是像使用ORACLE 一样的开发模式,继续开发,存储过程,函数,以及OLTP 混合着OLAP的风格,还是根据POSTGRESQL 本身的特性来一次 “根除” 模式的开发方式的转变,这是一个重点。

基于ORACLE 数据库开发的模式中,有一种模式是依赖数据库提供的功能的基础上进行软件开发的模式,同时这样的开发方式中,由于ORACLE本身能承受更多的一些不同的项目,不同的目的的软件,将数据集中在一个物理库上,基于ORACLE 先进的一些对于连接的管理使用,和强大的SQL优化方式,同时辅助于ORACLE周边的各种的优化方式,从上到下都可以武装到牙齿的方法,让一些开发方式还是可以继续的。

反过来,换一个数据库本身就会导致开发模式的转变这样的事情很多的公司并未意识到,还用昨天的酒 放到今天继续的卖,那么吃亏的必然是今天的顾客。结果就是,继续这样的开发方式和模式,导致原来在ORACLE可以的事情,到了POSTGRESQL 不可以了。

这都是基于对于新的数据库不了解原理和工作模式导致的问题,比如MVCC的在不同数据库完成此项功能时所付出的代价,以及不同的特性导致你做某些操作后对数据库本身的稳定性和性能产生的影响。这些都是要被开发的人员了解,并逐步熟悉的。

同时在本次的工作中,还发现一个问题就是让我感受到,这些开发人员从心底的呼唤,DBA is stupidity. 当然人家当面没有说,但是我已经深刻感受到交流中,对于他们内部的一些 D B A 工作模式的困扰,比如开发在热火朝天的进行 ORACLE TO POSTGRESQL 的工作,并希望得到 DB 的一些支持,而DB 给出的第一句话就是 ,ORACLE 行,为什么POSTGRESQL 不行。从这话里面的意思我已经听出一点点,怎么你们搞不定POSTGRESQL ,POSTGRESQL 无法完成ORACLE的一些功能和性能,那你们为什么不继续 ORACLE,或者这事与我们无关,我们DB 就是运行维护,其他的事情 It is not our dba's business.

如果每次都是开发现行,而不是DBA 先行,然后和大爷一样把所有的数据库问题都推卸到开发,我作为一个 DB 我都看不过去,对于这样的DB 我只想说,shame on you !  我以为抱着一个数据库吃一辈子的DBA 就是一个故事,你真的给我演绎的一个真实。

不过沟通中,开发人员的积极和努力,以及对于POSTGRESQL 本身的兴趣也让我吃惊,很多的问题,都在想办法自己处理,并且发起了学习POSTGRESQL 的一个非常有热度的氛围。相信加以时日,很多开发者都会理解基于POSTGRESQL 数据库开发的一些特性和习惯。让自己变得更值钱,更符合当前的经济情况下的,更加白热化的 成本 竞争。

通过交流我也在自己找到很多自身的不足,设计上我并不是一个自己坐在象牙塔里面的DB,我更愿意了解,应用的业务逻辑,以及业务的一些特性,通过了解这些,结合POSTGRESQL 本身的一些功能,让开发业务更轻松,这是我一直秉持的初衷,开发一些思维模式 + DBA 基础,或许能有更多的想法,解决更多“很有意思”的业务逻辑导致的开发中要求数据库能进行架构改变后,让开发更顺畅,让系统更稳定,性能更流畅的方法。

同时从本次的沟通中,自己也通过沟通,发现了更多开发针对POSTGRESQL有意思的想法,并且也启发了我针对POSTGRESQL 在一些公司转变中对于数据库一些 DBA 不曾想起来的一些特性的研究。

最终你的价值,不来自于你自己的认为,而是来自与你解决了多少人的需求,那才是你真正的价值所在,而很多开发者在了解POSTGRESQL的左左右右,上上下下,他们会带来更多的价值与需求,所以开发和DB 是互相帮助的 partner 而不是和某些DB 对于在开发中数据库转换中带来的那句,为什么ORACLE 行 PG 不行,这不是对某个数据库的耻辱,是你对你自己职业的羞辱。

最后基于这些开发者提出的一些问题,我也会思考,并试图找出更好的解决方案, wait and see what happens .

a06197d70a514acf7a0a65866a61d0cb.png


http://www.ppmy.cn/news/943054.html

相关文章

337. House Robber III 打家劫舍 III

在上次打劫完一条街道之后和一圈房屋后,小偷又发现了一个新的可行窃的地区。这个地区只有一个入口,我们称之为“根”。 除了“根”之外,每栋房子有且只有一个“父“房子与之相连。一番侦察之后,聪明的小偷意识到“这个地方的所有房…

死亡退出

最近做了一道非常有意思的题,感觉很有用,故记录于此: 题目来源:MOctf 这是一道代码审计题目,但是涉及的知识非常的实用: 题目如下: 发现我们可以通过POST传过去我们想执行的命令,但…

死锁(三)

死锁(三) 文章目录 死锁(三)资源死锁概念死锁出现的四个必要条件(同时具备以下四个)处理死锁的方法 死锁的预防死锁的避免安全序列银行家算法 死锁的检测和恢复对单体资源类的死锁检测对多体资源类的死锁检…

史上最恐怖FLASH游戏咒怨(附通关攻略)

这个游戏被我评为恐怖游戏之最,恐怖感巳远超PS2上的零系列,我冒着被吓死的危险终于把这个游戏通了,下面是全攻略: 游戏要输入名字时,要在两个横杠上都输入字母,这游戏音效绝赞,建议开…

杀死僵死进程

杀死僵死进程 急用的小伙伴,可以直接使用以下命令杀死所有僵死进程 ps -A -ostat,ppid,pid,cmd | grep -e ‘1’ | awk -F" " ‘{ print $2 }’ | xargs kill -HUP 其它查看的命令如下 1. 检查僵尸进程top命令 当zombie前的数量不为0时,即…

day-3-1-3

死锁问题 多线程以及多进程改善了系统资源的利用率并提高了系统的处理能力。然而,并发执行也带来了新的问题,即死锁。所谓死锁是指多个线程因竞争资源而造成的一种僵局(互相等待),若无外力作用,这些进程都…

house系2

这里我们续接上回,https://blog.csdn.net/njh18790816639/article/details/126235581 接着分析高版本的Glibc利用手法,而高版本的利用手法,大都涉及到了io_file以及虚表这类函数指针等 House_OF_Kiwi 这篇文章house of kiwi介绍了这种手法&…

生死门问题

问题描述:公元某年某月某日,你迷失在一个山洞里,在你面前有两个门,一个生门,一个死门,分别有两个人守护这两个门,一个人永远说真话,一个人永远说假话,他们彼此知道对方是…