排行
数据库百科
核心案例
行业报告
月度解读
大事记
产业图谱
中国数据库
向量数据库
时序数据库
实时数据库
搜索引擎
空间数据库
图数据库
数据仓库
大调查
2021年报告
2022年报告
年度数据库
2020年openGauss
2021年TiDB
2022年PolarDB
2023年OceanBase
首页
资讯
活动
大会
学习
课程中心
推荐优质内容、热门课程
学习路径
预设学习计划、达成学习目标
知识图谱
综合了解技术体系知识点
课程库
快速筛选、搜索相关课程
视频学习
专业视频分享技术知识
电子文档
快速搜索阅览技术文档
文档
问答
服务
智能助手小墨
关于数据库相关的问题,您都可以问我
数据库巡检平台
脚本采集百余项,在线智能分析总结
SQLRUN
在线数据库即时SQL运行平台
数据库实训平台
实操环境、开箱即用、一键连接
数据库管理服务
汇聚顶级数据库专家,具备多数据库运维能力
数据库百科
核心案例
行业报告
月度解读
大事记
产业图谱
我的订单
登录后可立即获得以下权益
免费培训课程
收藏优质文章
疑难问题解答
下载专业文档
签到免费抽奖
提升成长等级
立即登录
登录
注册
登录
注册
首页
资讯
活动
大会
课程
文档
排行
问答
我的订单
首页
专家团队
智能助手
在线工具
SQLRUN
在线数据库即时SQL运行平台
数据库在线实训平台
实操环境、开箱即用、一键连接
AWR分析
上传AWR报告,查看分析结果
SQL格式化
快速格式化绝大多数SQL语句
SQL审核
审核编写规范,提升执行效率
PLSQL解密
解密超4000字符的PL/SQL语句
OraC函数
查询Oracle C 函数的详细描述
智能助手小墨
关于数据库相关的问题,您都可以问我
精选案例
新闻资讯
云市场
登录后可立即获得以下权益
免费培训课程
收藏优质文章
疑难问题解答
下载专业文档
签到免费抽奖
提升成长等级
立即登录
登录
注册
登录
注册
首页
专家团队
智能助手
精选案例
新闻资讯
云市场
微信扫码
复制链接
新浪微博
分享数说
采集到收藏夹
分享到数说
首页
/
没有完美的数据库怎么办
没有完美的数据库怎么办
白鳝的洞穴
2023-05-16
376
今年XC很热,国产数据库产品也层出不穷。我们看到更多的是一个数据库厂商明明没多少年历史,不过拿出产品清单来,可以看到这个厂商拥有的数据库产品数量之多,令人惊讶。这说明我们的数据库厂商能力很强吗?恐怕不是这样的。
上星期和一个数据库厂商谈一个客户的项目的数据库测试场景。这个系统数据库很大,核心业务库的测试环境有几十T
B
。应用场景也比较复杂,除了有大批量数据写入,还有一些需要多表关联的批处理业务,因为原来用的是ORACLE数据库,因此还需要保证和ORACLE有一定的兼容性,不能在应用迁移上太复杂了。
厂商的售前人员之间和我沟通的时候表态是没有问题的,不过今天过来交流的两位都是做技术的。他们听了完整的需求后就犯难了。如果说是并发写入和大数据量查询,那么他们有一款数据库是可以一试的,不过这款数据库产品与Oracle数据库的兼容性就很差,而和Oracle数据库兼容性较好的产品则性能上可能无法满足要求。虽然厂商有很多款数据库产品,不过没有一款能够拿出来完整的完成这个替代Oracle数据库的工作。
这是我们搞国产数据库替代时常遇到的场景,虽然可选择的数据库产品很多,不过都有缺陷,只能满足客户的部分需求。在替代一款Oracle数据库的时候,往往需要三英战吕布才行,刘关张无论是谁,单独上去都是去送人头。实际上Oracle当年也不太行,O
LTP
和O
LAP
还得在安装时候选择安装模式,默认的安装也只能满足O
LTP
的需求。现在的Oracle确实能够面对大多数的用户场景了。虽然Oracle从来不标榜自己是HTAP数据库,不过哪怕对于数据量还不是超大的O
LAP
场景,用上软硬一体的E
XADATA
,也还是挺能打的。
反观国产数据库产品,虽然随便哪个国产数据库都敢号称自己是
HTAP
的,但是一旦遇到一些大型的复杂查询业务,大多数国产的交易型的关系型数据库也是会歇菜的。周末的时候看了卢月明老师推送的“明说三人行”和李飞飞的对话,在这期三人行中,飞刀谈到未来阿里云的H
TAP
是基于Polardb和A
DB
的超级组合,利用云的底层能力实现O
LTP
与O
LAP
数据的自动异步复制和行列转换,用户通过一个滑尺按照自己的需求自行设置其需要的复制延迟。
这种行存转列存的手法实际上在业内已经有一定的实际应用了,PingCap的TiFlash就是在行存的基础上增加了一个自动生成的列存副本,从而支撑一些O
LAP
的场景。Oracle的MySQL
Heatweave
则走得更远,直接将
INNODB
中的行存数据生成分布式列的内存缓冲,用于O
LAP
的场景。并且将列存的数据进行了持久化,从而避免数据库重启后大量行列转化的开销。
Heatweave的做法有点类似于飞刀说的Polardb+
ADB
的组合,还结合了飞刀说的PolarDB的轻量级H
TAP
支持的模式,那就是在行数据库中自动生成无持久化存储的列内存缓冲。这种技术最早大规模商用是Oracle的in-memory
database,在去年发布的谷歌AlloyDB里也采用了类似的实现。
不管是飞刀的Polardb的未来形态还是Oracle的Heatweave抑或是谷歌的AlloyDB,这些都是软硬一体的解决方案,特别是延时滑尺这样的强要求的存在,都决定了这一切都只能在公有云上实现,而无法作为通用软件产品直接向用户提供。这也意味着这些解决方案都无法解决特别广大普通用户所面临的问题。
实际上普通用户所需要的功能并不是所谓高大上的H
TAP
之流,而是能够在自己私有部署的环境中能像Oracle一样解决日常应用中的大多数问题而已。数据库的容量并不会太大,几个T
B
到二三十个T
B
就基本上到头了。S
QL
的复杂度也不会嵌套是多层子查询,仅仅就是一些简单的三四张业务表的关联。
这些业务以前在Oracle上都跑得不错,为什么到了国产数据库就必须用那么高大上得解决方案才能解决呢?实际上要做到这些高大上得设计,目前对于国产数据库厂商来说只要投入到位了,还是能够解决底层的问题的,作为技术目标是有实现的可能性的。而做出一个像Oracle这样的C
BO
优化器,并不完全是技术问题。已经修修补补了二十多年的Oracle
CBO
优化器在架构设计上可能已经远远落后于目前的一些国产数据库,但是优化器的能力不仅仅取决于架构与技术先进性,而在于常年的业务积累。
Oracle知道上万种我们的数据库厂商不知道的S
QL
执行遇到性能问题的特殊场景,而我们的数据库厂家并没有如此深厚的积累。这种积累不是通过设计与研发能搞定的,需要时间去沉淀。只有在长期的数据库应用实践中不断地遇到问题,才能不断地解决问题,提升C
BO
的能力。Oracle
SQL
解析器的几千个F
IX
以及数百个参数就是这么一点点的积累出来的。
特别是Oracle不仅仅是一个数据库厂商,还是全球第二大的E
RP
厂商,E
RP
应用具有最为复杂的业务关系,因此其复杂S
QL
的应用场景是最为丰富的,它可以为Oracle数据库提供大量的应用案例,加速Oracle
CBO
优化器的提升。因此如果你的系统的S
QL
特别复杂,想要找一款能够适应你的今后业务需求的数据库产品,那么咨询那些云厂商没啥用,因为公有云上跑的不是比较小的数据库就是大多数复杂问题靠应用解决的互联网应用。这个问题,去咨询用友、金蝶等E
RP
厂商的技术人员可能是更靠谱的。
虽然在做X
C
替代的时候我们找不到完美的数据库产品,不过这也不影响我们的X
C
工作。通过应用修改去避开数据库的坑,或者使用群殴战术打群架,抑或是先用比较高配的硬件去顶一下,都是可行的方案。如果国产数据库的客户群体丰富了,那么再过上三五年,水平自然也就提上来了。
oracle系统
oracle数据库
数据库
oracle
大数据
文章转载自
白鳝的洞穴
,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
领墨值
有奖问卷
意见反馈
客服小墨