分享一些 500 强信创数据库的有趣故事吧

2024-07-26 10:29:19 +08:00
 HOMO114514
  1. 数据库的集群间节点互访通过 SSL 加密传输来保证安全性,非生产环境下,SSL 证书通过标准的 openssl 自签流程生成。openssl 自签证书的最长有效期是 10 年,然而直到今年 5 月之前,该数据库产品并未在管控平台提供任何证书过期的告警监控。
  2. 某些数据库的规则中,视空字符串''为有效的内容,但是 Oracle 和兼容 Oracle 的数据库会将''视作NULL。 以此为前置条件,使用信创数据库官方的迁移平台进行数据迁移,将某个有NOT NULL列且包含大量''的表迁移到信创数据库中,竟然能够顺利执行。落库后经过查询,发现''被转换成了一个没有内容、不是 NULL 、长度为 0 (正常情况下,NULL的长度为NULL)、显示为空、强转十六进制后显示为0x(即 RAW 值也为空)、无法通过任何 where 条件选中(IS NULL=''等)的东西。
  3. 我们已知该数据库的 Oracle 兼容模式下将''等价为NULL,但是我可以在数据库里创建一个带有列COLNAME VARCHAR(n) NOT NULL DEFAULT ''的表。表现是如果进行INSERT不指定该列的值,直接出发违反约束的 ERROR 。
  4. 客户一直在进行信创数据库的 API 长期测试。信创数据库由内核软件提供一组 API ,再由管理平台对内核 API 进行二次封装。前阵子开发向技术支持反馈,有一个基础功能的 API 接口调用一直有问题,调用失败。客户、驻场 DBA 、技术支持上下游联合调试了两天,最后数据库那边的 Developer 发现,这个接口的定义和使用方法虽然写在了《 API 手册》中,但是数据库本身根本就没有实现,是个虚空接口。
8835 次点击
所在节点    程序员
50 条回复
sun1991
2024-07-26 12:20:19 +08:00
#2 没看懂.
Oracle Not Null 列里面存在了大量空字串''的值? 怎么进去的?
fyooo
2024-07-26 12:40:40 +08:00
哈哈,有意思,谢谢分享
crz
2024-07-26 12:54:55 +08:00
@sun1991 看描述,合理的理解可能是,源不是 oracle 兼容,或者自定义规则空字符串有效,信创库是 oracle 兼容,导入后空字符串因为某种机制转换为无效值
iyaozhen
2024-07-26 13:46:25 +08:00
工作中遇到过类似的事情 问过大领导,我们能不能不做这块

领导说:这块的钱你赚不赚,不赚就可以不做。其实答案很明显,要是马云说吃一口💩给 1w ,我能给马云吃破产。
Lighfer
2024-07-26 14:07:33 +08:00
不用猜,就是达梦
random1221
2024-07-26 14:12:41 +08:00
到底是哪一家啊
forsuperper
2024-07-26 14:22:57 +08:00
500 强 开源,集群节点。。。这个几个合起来就是爱国
kenvix
2024-07-26 14:25:16 +08:00
华为?
HOMO114514
2024-07-26 14:35:11 +08:00
@sun1991
源库里`''`是有效的非空值,比如 DB2 、SQL Server ,但客户方统一规定信创数据库使用 Oracle 兼容模式,即`''`等价`NULL`。
预期当中,这个库里的数据应该根本导入不了信创数据库的,在导入过程就应该触发违反非空约束。
ZZ74
2024-07-26 14:48:26 +08:00
太久没结束数据库,我咋记得 oralce 空 和 null 两码事啊.... 难道记反了 以前写 IS NOT NULL/IS NULL 后面得跟一个是否空的判断
random1221
2024-07-26 14:56:39 +08:00
@ZZ74 你记错了,oracle 不区分''和 null
bugmaker233
2024-07-26 15:14:10 +08:00
又不是不能用.jpg
bug51
2024-07-26 15:27:31 +08:00
华为?
sun1991
2024-07-26 15:53:15 +08:00
@HOMO114514
@crz
哈哈, 明明可以 fail early, fail fast, 就是要搞事情. 就好像修 bug 时, 吃掉 exception 不处理装作一切太平.
AAAAAAAAAAAAAAAA
2024-07-26 16:02:41 +08:00
达梦吗
hihanley
2024-07-26 16:40:42 +08:00
达梦
dbpe
2024-07-26 16:41:25 +08:00
兼容 oracle 达梦么?
dbpe
2024-07-26 16:41:46 +08:00
@Leviathann 真的是套壳就谢天谢地了..最烦的加作料
codingmiao
2024-07-26 16:57:35 +08:00
@HOMO114514 这顿操作没看明白,为了遵守 GPL 开源,但是所谓自主可控后为什么就不需要遵守 GPL 了?那别人用的过程中发现他基于 GPL 的代码痕迹,那他不完蛋了。。
mark2025
2024-07-26 17:16:05 +08:00
人在信创 公众号?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1060229

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX