如火如荼的国产数据库,能否替换Oracle数据库?
一、蓬勃发展的国产数据库
2020年5月20日,蚂蚁金服100%自主研发的分布式关系数据库OceanBase,以7.07亿(707,351,007)tpmC的在线事务处理性能,打破了OceanBase自己在2019年10月创造的6088万(60,880,800)tpmC的TPC-C世界纪录。
榜单上第二名是Oracle,成绩是30249688tpmC。
这几年,国产数据库的进步也是有目共睹的,国产数据库和传统数据库厂商之间的差距在逐渐缩小,某些层面甚至有赶超之势。纵观这几年国产数据库的发展模式分为两个不同的路径:
最早的是以Oracle为参照的达梦数据库、人大金仓和面对数据分析为主的南大通用等几家公司为主;另外就是近年来迅猛发展的、以中国的通信企业和互联网企业为代表的自研数据库,如华为的GaussDB、阿里的OceanBase和PolarDB以及腾讯的CynosDB、TDSQL、TBase。这些企业从业务,或者成本等方面考虑,以Oracle为代表的数据库产品无法满足自身需要,从而为了自己业务发展而走向了自研的道路。
以Oracle、IBM、微软等为代表的传统厂商凭借先发优势吃掉了数据库市场的很大份额,虽然国产数据库起步较晚,但是云技术的发展还是让国产数据库搭上了快班车,市场份额也在逐年增加。
这些从电信行业,互联网行业里面发展起来的国产数据库,有深厚技术储备、有大量应用场景、有海量资源投入,在数据的规模,数据库产品的功能和性能的要求,以及业务的复杂性方面,都经过了严苛的实际考验,可以说已经具备了相当强的竞争能力。
随之而来也衍生一个问题,国产数据库能否替换Oracle数据库呢?
二、国产数据库能否替换Oracle数据库?
这是近期的db-engines的排名
从市场份额来看Oracle毫无疑问还是主流数据库,那么国产的数据库可以替换Oracle吗?我从日常工作情况和环境中了解的信息方面,谈一谈我个人的想法,衷心希望国产数据库能够发展起来。
先抛出结论,国产的数据库能否替换Oracle?答案是能!但困难一定很多,因为替换不仅仅是技术问题。
替换Oracle数据库,这个问题很多年前就已经提出了,当年阿里首次提出去IOE:在阿里巴巴的IT架构中,去掉IBM的小型机、Oracle数据库、EMC存储设备。事实证明阿里做的很成功。近几年国产的数据库越来越多,也有一些企业进行了替换。
对于Oracle能否被国产数据库代替这个问题,这个问题需要考虑多方面的因素:
一、应用维度
选用一个数据库,这不是拍脑袋的决定,同样的替换一个数据库,也并非一蹴而就的事情。首先需要考虑的是业务场景,举个例子,你让一个基于OLAP业务的数据库去支持OLTP,那肯定是不行的。
传统的IT架构,都是经过多年时间一步步演化而来的。上到应用层、中间层下到操作系统、存储等和数据库都是有一定耦合程度的。不同的数据库有不同的特点,基本的区别比如隔离级别、锁类型支持等,涉及到底层数据库的更换肯定影响上层应用的修改适配。
国产的数据库,大都有自己的适应场景,并不能单纯的说全盘替换Oracle数据库。唯有适合才是替换的核心要求。
二、技术维度
技术维度其实就是产品的成熟度,这一块Oracle是当之无愧的南波万。毕竟是经历了多年的技术洗礼,并且经受了全世界各种业务场景的考验。
1、性能
性能有没有Oracle好,这本身就是一个伪命题,大部分国产数据库不见得比得过Oracle,但也不见得差。某些特殊场景Oracle会逊色于一些从互联网业务场景诞生的数据库,毕竟今天中国互联网业务场景的复杂性和规模之大肯定是Oracle设计之初没有想到的。
当然了,抛开业务场景谈性能有耍流氓之嫌,可以肯定的是,国产数据库不管是自研内核还是基于pg或者MySQL的内核改造,性能不会差Oracle多少。
2、兼容性
这才是最令人头疼、也是代价最高花费精力最多的地方。据我了解目前国产数据库没有100%兼容Oracle语法的。所以对于需要迁移的Oracle,SQL改写是个大问题,尤其是你的系统又写了很多存储过程。
当然了,工作虽然繁琐但还是有各种办法落地的,只要舍得投入人力。
保险起见,迁移后双系统运行一段时间,Oracle和新的数据库也需要数据实时同步,确定完全无问题后方可关闭Oracle。
3、架构和稳定性
架构上应该差别不大,Oracle的架构很成熟,国产数据库架构也不差,比如双机,HA,日志同步等方式。
三、生态维度
数据库生态这一块我觉得还挺重要的,很多企业都有过去O的想法,但没人敢一步迈出去,说到底和技术生态有很大关系。
举个例子,假如你想学习Oracle数据库技术,舍得花钱那简直就是一条龙服务,包教包会包就业;不想花?网上各个技术社区,技术文档也足够学以致用了,这是一种技术行为习惯。如果在所有搜索引擎上进行一个测试,基于Oracle的技术文章、问题讨论、原理分析等等的知识一定会远胜于其他,这就是Oracle放水养鱼数年之后形成的巨大生态。这种生态不是一朝一夕就可以扭转的。
承认目前国产数据库的生态不如Oracle主流数据库,虽然非一夕之间可以扭转,但我们总归开始追赶了,建立整个生态圈,我们终究会走到这一步。
三、后话
重要信息领域国产自主化是国家战略,国产化大背景的驱动下,这是国产数据库发展最好的时代,未来的DB市场格局一定是会向多元化方向发展。
对于数据库相关从业人员要做的就是顺势而为。
聚焦技术与人文,分享干货,共同成长!
更多内容请关注“数据与人”
如火如荼的国产数据库,能否替换Oracle数据库?相关推荐
- oracle数据库内容替换,国产数据库能否替换oracle数据库?
国产数据库能不能替换oracle?能,但是困难一定很多.没有什么数据库是无法替代的,只是替代的代价到底有多高.迁移替代需要考虑很多方面: 1 性能 首先是性能有没有oracle好.其实是大部分国产数据 ...
- 国产数据库替换oracle,国产数据库能否替换oracle数据库?
对于Oracle能否被开源系衍生的数据库代替这个问题,个人觉得需要从两个维度去看. 第一个维度,技术维度.从技术维度来展开的话,首先需要看的就是产品的成熟度,这一点来讲,Oracle从三足鼎立的时代发 ...
- oracle数据库物理结构包含,Oracle - 数据库物理结构
● 一个数据文件只能属于一个数据库 ● 当数据库空间用完时,数据文件可以按照预定的设置自动扩展. ● 一个或多个数据文件形成了数据库中的一种逻辑结构-表空间. 当需要时,数据文件中的数据通过数据库操作 ...
- 如何将DB2数据库转换成Oracle数据库,这一篇告诉你
墨墨导读:众所周知,数据库升级.转换.迁移是数据库运维必备的日常技能,本文详细介绍一则将DB2数据库转换成Oracle数据库的案例,希望对大家有帮助. 1. 前言 记录一则使用sql develope ...
- Jsp之使用纯Java数据库驱动程序(sqlserver,Oracle数据库为例)
1.首先,先下载sqlserver数据库驱动程序和Oracle数据库驱动程序,下面我将用到sqljdbc.jar和ojdbc6.jar,这里的sqljdbc.jar是属于SQL Server 2005 ...
- MYSQL数据库迁移到ORACLE数据库
一.环境和需求 1.环境 MySQL数据库服务器: OS version:Linux 5.3 for 64 bit mysql Server version: 5.0.45 Oracle数据库服务器: ...
- oracle数据库基础测试,ORACLE数据库基础测试题oracle数据库复习题.docx
<ORACLE数据库基础测试题oracle数据库复习题.docx>由会员分享,可在线阅读,更多相关<ORACLE数据库基础测试题oracle数据库复习题.docx(18页珍藏版)&g ...
- myeclipse文档链接oracle,[数据库]MyEclipse 连接Oracle数据库(初学者必看)
[数据库]MyEclipse 连接Oracle数据库(初学者必看) 0 2015-05-06 22:03:18 前言:刚接触Oracle数据库,便有一个需求,编写控制台程序,实现主人登录.数据库为Or ...
- oracle中毒,oracle数据库中毒恢复 oracle数据库解密恢复 服务器中勒索病毒解密恢复.Hermes666...
oracle数据库中毒恢复 oracle数据库解密恢复 服务器中勒索病毒解密恢复.Hermes666 客户名称 保密 数据类型 oracle 11G 数据容量 100 gb 故障类型 服务器中毒,文件 ...
最新文章
- 【matlab】我要自学网笔记总结 1.3
- Microsoft PowerToys for Windows XP
- CF498C Array and Operations(数论 + 最大流)
- 你会不会用mysql查询近7个月的数据?没有记录默认为空
- react ui框架 移动端_你必须要知道的移动端UI组件设计宝典
- python getattr_Python中的getattr()函数详解
- Office资源汇 | Office 365 微助理功能介绍 4
- JavaScrit学习笔记(1)
- Stream、FileStream、MemoryStream的区别
- 快速搭建论坛系统看这里,社交系统ThinkSNS助你快人一步!!!
- 终于等到了!新一代AirPods正式发布:新增无线充电盒
- Centos下安装MySQL全过程(linux下安装MySQL)
- linux 下安装SQLServer
- 韦东山第3期嵌入式Linux项目-视频监控-2-从零写USB摄像头驱动(UVC驱动)
- 白盒测试技术—逻辑覆盖方法
- 多任务学习(Multi-Task Learning)
- 手机软件测试普通话准确吗,语音输入法到底谁最准?我花了3天时间做了12项对比,评测结果你一定想不到!...
- 多可文档管理系统的手机版
- Linux从零学习记录(四)
- Iframe简单的嵌套用法
热门文章
- 黑马程序员----------java7K面试题之银行业务调度系统
- 问题解决:Word文档打开后文档名变成文档1,保存或关闭弹窗提示【保存对此文件的修改】
- 都是技术人员,还要分三六九等区别对待?
- 【墨刀】用墨刀勾画原型--20230420
- mysql inner join_MySQL JOIN 语法说明与 INNER JOIN 语法用法实例
- oracle多个innerjoin,SQL语句多表inner join的用法
- Flutter 列表卡片设计
- 鲁大师赴港上市,周鸿祎的另一支“奇兵”,暗指智能硬件?
- 前目的地罗伯森是谁_《前目的地》:我杀我自己
- Spring boot 连接MySQL,使用数据源hikaricp