- 博客(177)
- 资源 (3)
- 问答 (1)
- 收藏
- 关注
原创 从业务系统的奇怪问题,看银行的数据架构
简单说,银行的业务系统通常会采用 “主库写数据、从库读数据” 的架构,用户领取优惠券的操作会先写入主库,再同步到从库。当工作人员点击 “领取新人优惠券” 按钮后,奇妙的事情发生了 —— 明明显示领取成功,可切换到优惠券列表界面,刷新了好几遍,屏幕上还是空空如也。这时候工作人员开始慌了,手指在屏幕上飞快地戳来戳去,一会儿检查微信绑定是否成功,一会儿翻找短信通知,嘴里还念叨着:“不对啊,平时都好好的,怎么今天没显示呢?” 我看着她反复做着同样的操作,忍不住说了句:“别着急,可能系统反应慢,再等等看”。
2026-01-21 10:00:13
357
原创 CPU爆满,IO躺平:一次数据库迁移引发的“血案”
这让我联想到在 MySQL 中类似的情况:当查询需要读取大量数据,并按某个未在查询条件中的列(例如主键或某个索引列)排序时,优化器可能会选择基于该列执行,从而导致性能下降。如果缺乏对查询质量的关注,这类问题很难在开发阶段被发现。进一步观察发现,在 CPU 负载升高前后,系统唯一的变化是数据库被迁移至信创环境(操作系统与处理器架构发生变化),而数据、查询模式等均未调整。鉴于无法立即从根本上重构查询逻辑,我们采取了折中方案:新建一个集合,仅将近期数据迁移至其中,从而大幅减少排序操作涉及的数据量,缓解查询压力。
2026-01-15 21:51:46
233
原创 MySQL的replace使用分析
其实在这种前提下,d2表是 id+time的联合主键,那么d1表时间只要改变,那么送过来的数据都会重复的落在d2表中。这里由于d2表的time列是有默认值的,所以这样就会产生重复数据了。然后再次执行replace into 发现逻辑和之前的不一样了。
2026-01-09 09:46:07
522
原创 AI编程:爽感背后的成本与隐忧
AI编程确实带来了前所未有的便利,也带来了新的挑战和思考。成本、需求表述、系统稳定性等问题依然存在,但更重要的是,我们需要重新思考技术在业务中的定位和价值。在实践中探索,在探索中优化,最终找到最适合自己、最适合业务的AI应用之道。
2026-01-07 22:40:05
693
原创 2026年焦虑是无法避免的
2026年开年,体感到的这些悲观信号,并非是危言耸听,而是我们必须直面客观存在。当系统性、行业性的风险叠加于个人职业生涯的焦虑之上时,任何轻飘飘的鼓励和鸡汤都显得苍白无力。作为一个同样身处其中的个体,我也没有什么“一招制胜”的锦囊妙计。如果非要说点什么,那可能就是:放下过往的幻想,认清形势,放弃侥幸心理。不要再执着于寻找那个能让你“逆天改命”的风口,而是扎扎实实地“求生存”。降低不必要的消费和负债,保持现金流的健康;
2026-01-06 10:11:38
611
1
原创 2025 年度个人回顾总结
2025 年的实践让我在数据库与 AI 融合应用、行业生态建设等领域积累了丰富经验,也通过荣誉认可与价值创造实现了个人职业成长。2026 年,我将聚焦三大方向持续发力:一是补齐开发短板,深化 AI 与数据库技术的融合创新;二是扩大行业赋能范围,通过更多元的分享形式传递专业价值;三是强化企业内部技术落地,研发更多贴合业务需求的高效工具,为行业发展与企业进步贡献更大力量。
2025-12-22 16:29:35
681
1
原创 一次DDL引发的数据库异常关闭
InnoDB: We intentionally generate a memory trap.InnoDB: Submit a detailed bug report to http://bugs.mysql.com.InnoDB: If you get repeated assertion failures or crashes, evenInnoDB: immediately after the mysqld startup, there may beInnoDB: corruption in
2025-12-02 16:30:11
930
原创 OceanBase的嵌入式数据库:vscode+python+seekdb
在实验前需要具备的前提条件是:1要安装好vscode2 要安装好Python环境3 需要seekdb4 需要powermem5 Jupyter插件(非必须,但是实际用过以后还是装吧)这里的1和2做开发的人都知道。3和4其实知道的人很少。
2025-11-21 15:35:19
511
原创 OpenTenBase V5的全新简易安装
我们可以看到输出 ------- Master CN Connection Info ------- 部分,已经贴心的把如何连接库写上了。看到====== Installation completed successfully ====== ,代表已经安装成功了。执行 visudo 命令,然后搜索wheel,可以看到%wheel开头的两条配置,分别去掉最左边的#,保存退出。3)准备三大件(一键部署工具、内核包、部署的配置文件),都放入/data/opentenbase/ 目录中。3.2)准备好内核包。
2025-11-10 22:07:20
709
原创 踩坑!数据库分页 LIMIT 100,200 居然查了 300 行?90% 开发都中招
可以看到这个SQL查了10行返回10行。可以看到这个SQL查了20行返回10行。
2025-11-04 20:32:47
420
原创 Oracle和MySQL数据库中做线性回归
广告投入 13 万元 → 预期销售额:97.31 万元。广告投入 20 万元 → 预期销售额:96.15 万元。广告投入 28 万元 → 预期销售额:94.83 万元。广告投入 35 万元 → 预期销售额:93.68 万元。可以看出简直是什么都不是了。销售额预测(业务场景)
2025-11-01 16:09:03
780
原创 堵车、体检和系统故障
因为慢才堵,SQL是根源,读取数据量过多导致。真实的需求一定不是大海捞针的检索,一定是通过高质量索引完成的。如果不是那需求基本就是扯淡,无法拿到台面上说的。一慢毁所有,各种问题都出来了。有时候只要多一点,就会带来全局性的拥堵和等待。
2025-10-10 20:48:50
312
原创 又是一年DTCC,承载着回忆与展望
就像在北京上海看到了城市的交通建设,回到自己的县城怎么做呢?早些年我就是这样被打击的。所以我的演讲更贴近于实际应用。让大家听了我的能够重拾信心。从我昨天的演讲效果来说应该达到了。演讲过后,两个人听了我的去买书了。今年我又是在最后一天的下午演讲。多年的参会得出的经验是第三天下午,参会人会少很多。大家也调侃我的PPT页数会比台下的听众人数多。这么多年下来,几乎每个站台都有熟悉的朋友。每年这个时候是最开心的时候。认识了一些新的朋友。有些都是一年才能借着这个机会见到一次的。我始终认为大数据是数据库的一部分。
2025-08-24 11:20:59
705
原创 写在国测公布之后-恭喜崖山
崖山数据库是深圳市(副省级)科创局下属的深圳计算科学研究院的产品。从这个角度可以说是是根正苗红。纵然现在国产数据库还是有上百家。但是真正全自研的(从0开始)其实并不多(最多5个)。崖山数据库是其中之一。
2025-08-22 17:45:07
279
原创 当MySQL的int不够用了
很多时候看到int(8)这样的定义,其实这是工具导出的不专业。int是范围,不是长度。在开发有了共识(知道这个长度不算数,要看范围)以后,上来就是所有的类型都是bigint。
2025-08-19 23:42:35
679
原创 身份全景图
(工信部下属开放原子基金会) OpenTenBase (TDSQL的社区版) 社区委员会委员。(浪潮旗下开务数据库) KWDB(kaiwuDB的社区版) (合作暂无称号)PostgreSQL分会 PostgreSQL ACE。(华为稼先社区) cantian数据库(合作暂无称号)(成章数据库) EloqData (合作暂无称号)(中电科旗下) Kingbase(合作暂无称号)(深算院) 崖山数据库 (合作暂无称号)虚谷伟业 虚谷数据库 (合作暂无称号)OceanBase 观察团团长。
2025-08-14 22:00:25
232
原创 当varchar和Nvarchar关联
有开发人员反馈,两个字段关联,一个是varchar、另外一个是Nvarchar,会有性能问题吗?这个问题其实不能说一定有。通过实验来说明吧。
2025-08-10 21:11:37
449
原创 故障是试金石:从一次Oracle宕机看成熟IT系统的韧性
上个月有一次有人反馈低代码平台不能用。一看是低代码的应用停了。这个怎么停了?是只有他停了吗?再去看看应用连接的数据库也停了。那么就启动数据库吧。启动以后看看日志,之前发生什么问题了。结果从日志上看到从7月23的13点后就没有日志了。然后就是7月28下午15点的启动。按说不应该啊,一般遇到问题导致异常关闭,应该有错误信号和日志。但是这里明显没有。仔细想来想去,充分相信Oracle这种成熟的产品如果没有任何记录,那只有一种可能。问题根本不在这里。那么操作系统会不会有一些信息?
2025-08-08 08:55:36
405
原创 In-memory不要全加载怎么做?
可以看到USED_BYTES在不断变化。OPULATE_STATUS也在变化,直到加载完毕。然后观看执行计划已经识别到了(而且在 v$im_column_level 的数据字典中都看到5列全部识别)big表执行sum(n)可以用到列存计算而执行 sum(n)不可以,因为m列没有加载。full表执行count(*)和 sum(n)任意一列都可以用到列存计算。但是其实并没有加载到内存(可以看到实际占用还是0)执行一下,需要50毫秒就完成了。做两个从表结构到数据一模一样的表。执行一个命令把full表全部加载。
2025-08-05 19:28:02
392
原创 44岁遇见NDBC42届:我的数据库人生下半场,从工程师到学术新兵的觉醒
本次大会在长春,当我踏入第42届NDBC(中国数据库学术会议)会场时,一个念头突然击中了我——这个学术盛会已经走过了42个春秋,几乎与我的生命等长。这是我的问题,我来晚了。它提醒我:在数据库这条长河里,技术是船,学术是帆,而真正的航行才刚刚开始。我意识到——技术人的终极战场,不在运行日志里,而在思想碰撞处。当技术人推开学术之门时,最动人的不是已知的解决方案,而是黑暗中摸索时,那束突然照进认知裂缝的光。面对这个承载着中国数据库研究厚重历史的殿堂,我心中涌起一丝迟到的遗憾——仿佛错过了半生的风景。
2025-08-05 09:39:26
290
原创 Oracle MCP本地部署测试
https://www.oracle.com/cn/database/sqldeveloper/technologies/sqlcl/download/界面如下当然要求要安装JDK8.我看了我是23,应该满足了。 [oracle@oracle19ocp ~]$ java --version java 23.0.1 2024-10-15 Java™ SE Runtime Environment (build 23.0.1+11-39) Java HotSpot™ 64-Bit Server VM (b
2025-07-25 14:15:03
1158
原创 一次意想不到的ADG中断
检查日志,果然是发生过重启。但是没人告知求助者。最后问下来,有人承认重启过。按说重启也没问题,但是就是因为不是spfile启动(所以配置的参数没有了,这才引起的主从中断)再看看spfile,发现非spfile启动。也就是说可能以前是写入spfile了。但是现在不是以spfile启动。难道说数据库重启了?
2025-07-07 21:31:13
589
原创 还是要感谢一下Oracle
评测机构给与的测评结论:“Oracle 19c 数据库系统”具有较为完备的安全保护能力,在数据库身份鉴别、访问控制、安全审计方面、数据备份与恢复、剩余信息保护、个人信息保护方面安全功能设计完善,能够抵御一定程度的攻击。大约5年前,2020年4月10日Oracle通过公安部“信息安全技术 网络安全等级保护基本要求”(以下简称“等保2.0”)第四级要求中数据库系统的安全防护要求能力测评。数据库多模让我们如果不是深度应用NoSQL的话,那么就可以只用一种数据库就可以完成很多NoSQL的场景。
2025-06-24 19:29:00
919
原创 以下几个国产数据库都还可以
都是主动找到我希望我可以对产品、技术、文档、生态等诸多方面给出建议,甚至是批评的。这点感受非常好。我也愉快的接受了。当然部分也授予了我一定的荣誉,也有的马上就有一些荣誉。与之形成对比的事国内也有不少厂家,你是不可以去说一点负评价的。要么删除文章、要么启动法律程序等。这类也不会去找业内同行去提意见从而改进自己。
2025-06-22 16:09:02
543
原创 闪回还能导致OGG同步失败
如果因为上游数据库都用了很多年了,而下游数据库是后续追加的。下游数据库还承担了多个数据库的数据汇聚,确实后来的没有考虑到各个数据库的闪回要求。这也是很难去事先规划的。
2025-06-10 22:51:33
507
Pulsar问题无法调用SQL命令
2021-08-12
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅