dbaplus社群

扒一扒Oracle的发展史,看国产数据库是不是笑话?

个人觉得,国产数据库大有可为!

一直以来,数据库都是计算机领域的“高端领域”。

虽然很多人觉得数据库的增删改查,技术含量不高,但是数据库本身的实现,是和操作系统、图形学一样,是技术皇冠之一。

当你实现一个简单数据库的时候,能够用到几乎所有计算机领域的知识。无论是算法的挑战,还是存储的优化,都能够最大限度的锻炼和自我评估个人的技术水平。

而一个世界级别的数据库,譬如Oracle,它的代码行数有2500万行,开发团队将近1万人,和Windows操作系统开发团队人数级别相同。

我这么说,并不是说数据库就高不可攀,国产完全无法进入。

相反,我认为如果我们能够在数据库领域深耕,是培养人才的好地方。哪怕用开源的PG做底,也能培养大量的底层人才,而不是现在“应用级别”程序员泛滥的情况。

那短期之内水平达不到,怎么办呢?

没有问题啊,慢慢进化即可!

不要觉得Oracle这种高端数据库一开始就拉莫优秀,其实一开始也是一个笑话!

今天就八卦一下Oracle,给大家带来点信心!

大家知道,关系数据库的理论基础,来自IBM圣何塞实验室的一篇论文,名字叫《R系统:数据库关系理论》,提出了行、列、关系、主键、约束这些关系数据库的核心概念!

现在的Oracle、SqlServer都是基于那篇论文,都是关系数据库!

但是,家大业大的IBM,就像大象一样,没有那么容易起舞,并没有立刻推出数据库产品。

而另外一个人Larry Ellison则看到了”关系数据库“这些技术的价值,用2000美元和3个同事,一起成了SDL公司,后来才改名为Oracle。

Image

1978年,Oracle推出它的第一个版本Oracle 2,没错,为了让客户以为Oracle是一个成熟的软件,Larry Ellison直接跳过了1版本(笑……

当时的Oracle2,没有事务机制,没有提交/回滚,备份全靠系统拷贝!

某美国制造业客户用其管理生产物料,一次 PDP - 11 断电导致未完成的入库数据写入一半,因无回滚能力,物料库存与财务账彻底混乱,人工核对修复耗时 3 周,直接损失超 5 万美元(那可是1980年左右)。

同时,代码基于汇编开发,无内存管理与异常捕获,复杂 SQL 或多用户并发时极易触发宕机,且无错误日志定位问题,运维只能靠 “重启 + 重试”。用户实际遭遇频繁崩溃、查询报错,用户认为与宣传严重不符,纷纷发起退货!

到了3版本,Oracle终于能够支持事物了,但不成熟。锁机制简陋、无死锁检测,

某金融机构用其处理客户存款。因多柜员并发操作同一账户,频繁出现死锁,导致交易阻塞数小时;更严重的是,事务提交后数据未刷盘,系统崩溃时出现 “提交成功但数据丢失” 的诡异现象,客户投诉至监管机构,险些终止合作。

V3数据库,还无主键 / 外键约束。某零售企业用其管理订单,因应用层未校验重复订单号,导致同一订单被多次录入,库存超卖,财务对账发现近 10 万元坏账,只能通过全表扫描清理重复数据,耗时 2 天。

Oracle 4 支持 Client/Server 模式,但网络传输无校验,某跨国企业分支机构远程查询总部数据时,因网络波动导致数据传输丢包,查询结果出现乱码或错误数值,影响决策制定;且无数据一致性校验机制,用户只能手动对比本地备份。

Oracle 5 支持分布式事务,但两阶段提交(2PC)不完善,某电商用 DBLINK 跨节点同步订单与库存。一次节点通信中断导致事务处于 “悬停” 状态,锁定订单表与库存表,重启节点后锁未释放,业务中断 8 小时,最终只能手动删除事务日志强制解锁,存在数据损坏风险。

Oracle 6(1988)行级锁登场但稳定性仍堪忧,行级锁的 Bug 致业务瘫痪Oracle 6 引入行级锁优化并发,但存在锁升级逻辑缺陷。某电信运营商用其管理用户话费,月末账单结算时,大量行锁被误升级为表锁,导致用户缴费、查询全阻塞,客服系统瘫痪 4 小时,投诉量激增,直接影响月度营收。

一直到Oracle7发布,Oracle才被认为是“成熟的数据库”,被认为技术方面没有明显的短板,成为真正的“数据库之王”!

Oracle 7的发布年份是1992年,距离Oracle公司成立已经过去14年的时间了。

在这里,我们飞跃了Oracle成长的艰苦岁月,这里并没有嘲笑Oracle公司的意思,而是说明一个道理,任何事物都有一个发展的过程。在发展过程中,难免都有一个尴尬时刻,出现一些笑话。但坚持下去,终有胜利的一天!

我们知道,很多国产数据库都是基于Mysql、PostgreSQL这些开源数据库开源而来,当然也有达梦这种原生国产数据库,还有腾讯系、阿里系的云数据库系列,已经初步成效,但也是在起步阶段!

当我们经过漫长的成长期,储备了足够的技术积累,国产数据库一定有自己的春天!

共勉!