被 MySQL 宠坏的一代程序员,终于要为“随便建表”付出代价了
“把金额存成float,月底报表差了两千万,老板当场把键盘摔我脸上。

”

这不是段子,是上周三深圳湾某SaaS公司财务对账现场。
同一时间,信通院《大数据标准化白皮书》悄悄上线,第一次把“字段原子化、元数据管理”写进官方框架。
我盯着屏幕只想问:都2024了,怎么还有人在订单表加json字段塞整个收货地址?
真别笑。
我翻了近三年接手的十几个项目,80%的MySQL库一打开就是灾难现场。

同一列里“2023-10-1”和“10/1/23”肩并肩;price字段里躺着“99.9、99.90、99.9元”;索引页比数据页还厚,select跑30秒起步。
最离谱的是一张用户表,nickname叫“name”“nick_name”“userName”的兄弟排排坐,BI拉个DAU能跑出三个数。
老板问哪一个是真?
我只能现场编故事。
以前流量疯涨,业务先跑再说,坑就坑了。

目前增量见顶,大家开始抠利润,数据对不上直接等于钱没了。
国产数据库趁机抢地盘:OceanBase去杭州网商银行替Oracle,TiDB在北京地铁实时清算,人家自带严格事务和字段校验,想乱建表都给你打回。
工具端更卷,阿里DataTrust、腾讯WeData一键扫全库,把“float金额”“json大杂烩”标成血红色,想装看不见都不行。
拉勾Q3数据工程师岗位同比翻1.2倍,JD第一句就是“能写规范模型优先”,只会CRUD的简历直接进回收站。
说到底,老板们终于算清楚一笔账:

一条烂数据在报表里被人工来回洗,成本是程序员的十倍;
洗不干净捅到投资人面前,估值砍半。
于是“先建模后开发”从没人理的标语,变成考核OKR。
我们组目前规矩简单:
金额一律decimal(19,4),时间统一datetime,字段名中英对照表锁死,上线前BI用FineBI跑100次透视,错一行就回滚。

第一周大家骂娘,三周后报表刷新从5分钟缩到18秒,财务小姐姐主动给研发买奶茶。
痛苦归痛苦,把字段拆到最小粒度那一刻,我就知道自己再也不用凌晨三点陪财务对账。
后来谁再往数据库塞json地址,我就用白皮书拍他:
“兄弟,数据资产时代,乱建表等于直接烧人民币,一页一页烧。
”





