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

开头还是介绍一下群,如果感兴趣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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/40948.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

.NET网络编程——TCP通信

一、网络编程的基本概念 : 1. 网络 就是将不同区域的电脑连接到一起,组成局域网、城域网或广域网。把分部在不同地理区域的计算机于专门的外部设备用通信线路 互联成一个规模大、功能强的网络系统,从而使众多的计算机可以方便地互相传递信息&#xff0c…

netty组件详解-上

netty服务端示例: private void doStart() throws InterruptedException {System.out.println("netty服务已启动");// 线程组EventLoopGroup group new NioEventLoopGroup();try {// 创建服务器端引导类ServerBootstrap server new ServerBootstrap();// 初始化服…

了解交换机接口的链路类型(access、trunk、hybrid)

上一个章节中讲到了vlan的作用及使用,这篇了解一下交换机接口的链路类型和什么情况下使用 vlan在数据包中是如何体现的,在上一篇的时候提到测试了一下,从PC1去访问PC4的时候,只从E0/0/2发送给了E0/0/3这是,因为两个接…

【SpringⅡ】简单高效地存储读取对象

目录 🧥1 配置扫描路径 🧤2 类注解实现 Bean 对象的存储 🩱2.1 五大类注解的使用 🎁2.2 五大类注解之间的关系 🎏2.3 Java 项目的标准分层 🎃3 方法注解实现 Bean 对象的存储 🎈3.1 Bean…

【论文阅读】一些多轮对话文章的体会 ACL 2023

前言 本文是对昨天看到的ACL 2023三篇多轮对话文章的分享这三个工作都是根据一些额外属性控制输出的工作,且评估的方面比较相似,可以借鉴 方法 这几篇文章都不是做general任务的,倾向于通过一些额外信息,来做specific任务 【1】…

【ceph】存储池pg个数如何设置

存储池pg个数如何设置 参考官方文档说明:https://old.ceph.com/pgcalc/参数说明TargePGs per OSD:每个OSD的pg数OSD#存储池包含osd个数%Data存储池写入数据占总OSD容量百分比Size存储池冗余数

vue2watch监听遇到的问题

1 vue 父组件里引入子组件 显示与隐藏是v-if控制时 父传入子的参数通过watch 监听请求接口时 watch 时而监听不到 请求接口的参数就不对 如图 父组件这么引入子组件v-show 和v-if 是有区别的 2 子组件通过watch 监听后 清空页面要展示的列表数据 重新从第一页加载数据&#x…

微服务sleuth+zipkin——链路追踪

一、链路追踪🍉 1.什么是链路追踪?🥝 在大型系统的微服务化构建中,一个系统被拆分成了许多模块。这些模块负责不同的功能,组合成系统,最终可以提供丰富的功能。在这种架构中,一次请求往往需要…

简单了解UML类图

前言 大话设计中,多次使用UML类图来表示,并也给了基本的介绍,这里从书中选出UML图和代码做成笔记,以方便查找。 1、类 注意前面的符号: :public -:private #:protected 抽象类&…

在阿里云linux上安装MySql数据库

我们先远程连接服务器 然后输入 sudo yum update重新运行一下 然后 sudo yum install mysql-server安装 mysql 服务 其中有两次 y n 选择 都选y就好了 然后 运行 sudo service mysqld start启动MySql 然后 我们查看一下MySql sudo service mysqld status

Debian 12上如何关闭nobody共享文件夹,一个能让INSCODE AI 创作助手不知所措的小问题

这个问题之前在Debian 10和11上都没有遇到过,换上Debian 12后Samba的设置就出现了状况,装上Samba后什么都没有设置就在局域网可以看到: 根据之前的经验在/etc/samba/smb.conf里查了很久也没有看出所以然来,后来又问了INSCODE AI…

[洛谷]P8662 [蓝桥杯 2018 省 AB] 全球变暖(dfs)

读题不规范&#xff0c;做题两年半&#xff01; 注意&#xff1a;被海水淹没后的陆地应用另一个字符表示&#xff0c;而不是把它变为海洋&#xff0c;这个点可以便利&#xff0c;但不能被当作起点&#xff0c;不然就只有 36 分。 ACocde: #include<bits/stdc.h> using…

静态数码管显示

学习芯片&#xff1a; EP4CE6F17C8 本次学习使用的为共阴极数码管&#xff0c;即用低电平点亮数码管&#xff0c;同样可知&#xff0c;共阳极数码管的阳极连在一起&#xff0c;即用高电平点亮数码管。 八段数码管示意图&#xff1a; a,b,c,d,e,f,g,dg表示八段数码管时&#…

微服务sleuth+zipkin---链路追踪+nacos配置中心

目录 1.分布式链路追踪 1.1.链路追踪Sleuth介绍 1.2.如何完成sleuth 1.3.zipkin服务器 2.配置中心 2.1.常见配置中心组件 2.2.微服务集群共享一个配置文件 2.2.1实时刷新--配置中心数据 2.2.2.手动写一个实时刷新的配置类 ----刷新配置文件 2.3.多个微服务公用一个配…

FPGA——点亮led灯

文章目录 一、实验环境二、实验任务三、实验过程3.1 编写verliog程序3.2 引脚配置 四、仿真4.1 仿真代码4.2仿真结果 五、实验结果六、总结 一、实验环境 quartus18.1 vscode Cyclone IV开发板 二、实验任务 每间隔1S实现led灯的亮灭&#xff0c;实现流水灯的效果。 三、实…

测试开发面试你需要知道的

面试前的准备&#xff1a; 1.简历优化 选择一个比较简洁明了的模板&#xff0c;简历中突出自己的技能和项目经验&#xff0c;项目经历最好按照时间倒叙阐述&#xff0c;描述清自己在项目中承担的职责&#xff0c;在这个职责中做的一些过程改进&#xff0c;效率提升的内容&…

Redis的缓存问题

说起Redis的缓存&#xff0c;我们知道前端发出的请求到后端&#xff0c;后端先从Redis中查询&#xff0c;如果查询到了则直接返回&#xff0c;如果Redis中未查询到&#xff0c;就去数据库中查询&#xff0c;如果数据库中存在&#xff0c;则返回结果并且更新到Redis缓存当中&…

Linux云服务器,docker compose文件部署多个jar,docker部署多模块boot项目

前提条件 Linux服务器 服务器已经安装docker docker已经安装jdk镜像 docker已经安装mysql镜像 将要部署的项目的jar包打包好&#xff0c;项目是多模块springboot项目 部署过程 项目是3个模块的Spring boot项目&#xff0c;打出来3个jar&#xff0c;将这些jar包拷贝到…

无线电音频-BPA600蓝牙协议分析仪名词解析

1 介绍 2 Baseband基带分析 (1)Delta 是什么含义? "Delta" 有多个含义,取决于上下文。以下是常见的几种含义: 希腊字母:Delta&#x

Halcon机器视觉-15种常用缺陷检测实例

一、Halcon 15种常用缺陷检测实例分享 缺陷检测是一种通过计算机视觉技术来检测产品制造过程中的缺陷的方法。该技术可以检测出产品表面的缺陷&#xff0c;如裂纹、凹陷、划痕、气泡等&#xff0c;并且可以实时监测和诊断制造过程中的问题。在制造业中&#xff0c;机器视觉缺陷…