【导语:6月29日,一位开发者在X上关于微信能聊出几百G的疑问,引发中文技术圈持续两天的激烈争论。云风认为微信开发人员不懂数据存储,主张用纯文本替代SQLite,而众多开发者纷纷表达不同观点。】
开发者在X上的一句疑问,因云风的回复而炸出中文技术圈的大争论。云风作为前网易《梦幻西游》《大话西游》引擎架构师,有相当影响力。他认为微信开发人员不懂数据存储,聊天软件应将文本和媒体文件分开存,文本用一个对话一个文本文件追加,搜索时用grep,性能能满足需求。其推文获26.5万次浏览、79条回复、311条引用。
轮子哥vczh认为是微信连SQLite都用不好,而非该不该用的问题。LIN WEI从用户体验角度质疑,微信用sqlite搜索慢、切换应用消息更新卡住、耗电,而telegram顺滑。数据库专家Vonng从工程可靠性角度反驳,认为以微信体量自研SQLite会比现有差。DCjanus用比喻指出争论荒诞,微信在SQLite上叠加压缩层和哈希索引,架构设计跑偏。
表层是技术选型之争,正方认为SQLite带来索引、查询便利、事务安全,是全球IM应用标准,微信还在此基础上做了WCDB;反方则称聊天场景读写模式简单,SQLite在微信手里成数据腐败温床,很多安卓用户遇聊天记录损坏或消失问题。底层则反映出两代人对“什么算工程问题”定义不同,云风“不用数据库更简单”的反直觉判断让年轻一代开发者困惑和排斥。
编辑观点:此次争论展现了开发者对微信存储技术的关注,不同观点碰撞有助于技术优化,也反映出技术发展中不同理念的差异。