2023,又回到底层系统
原创 · 约 8 分钟阅读 · 阅读 --

2023,又回到底层系统

作者: 字与码


古董级程序员,大厂出来后一直在创业公司,现在仍活跃在一线做 AI 相关的开发。这个专栏会慢慢写从 1990 年代到今天的 IT 变化,也会夹带一些自己的旧事。更完整的更新写在微信公众号「字与码」,若觉得这些回忆和观察对你有用,欢迎顺手关注。

2023 年,我进入一家规模比较大的创业公司,做图数据库。

离开微博以后,这个选择有点像回头路。

从 2002 年进入 Linux 公司,到后来的文件系统、快照、同步、集群管理,再到 2010 年进入百度、2012 年进入微博,我在互联网业务里待了很久。2023 年重新做图数据库,像是从应用和平台的潮水里退出来,又回到系统软件的岸边。

只是这一次,我已经不是当年那个只从机器和代码看系统的人了。

图数据库不是把表换成点和边

图数据库听起来很直观:点、边、属性、关系。

但真正做起来,它不是把关系型数据库的表换成点和边那么简单。图查询的难点在于关系扩展、路径搜索、模式匹配、执行计划、索引、存储布局、并发控制和性能可预期性。

一个看起来很短的查询,可能因为图结构膨胀,变成非常大的搜索空间。

这和传统业务系统里写 SQL 的感觉不一样。关系型查询通常强调集合运算,图查询则经常要面对局部关系的爆炸。你要知道什么时候该剪枝,什么时候该用索引,什么时候该改变执行顺序,什么时候不能让用户随便写一个会拖垮系统的查询。

图数据库系统架构

图数据库很容易在演示时漂亮,在生产里困难。

因为真实图数据通常不均匀。某些点连接极多,某些关系噪声很大,某些查询带着业务假设,某些场景对延迟极其敏感。系统要能处理这些不均匀,才算真正可用。

C++ 和 Rust 的两种气质

这段时间主要写 C++ 和 Rust。

C++ 我很熟。它强大、灵活、贴近底层,也很容易让复杂性失控。一个成熟的 C++ 系统,性能可以很好,但工程纪律必须很强。对象生命周期、内存所有权、线程安全、异常边界、编译依赖,每一项都需要经验。

Rust 则像另一种回答。

它不允许你轻易绕开所有权和生命周期。刚开始写会觉得不顺手,甚至觉得编译器像在跟你较劲。但当系统复杂起来,Rust 的约束会让很多问题提前暴露。

我不会简单说 Rust 比 C++ 好。两者的生态、历史、性能场景和团队要求都不一样。但 Rust 让我重新感受到一件事:语言设计本身可以改变工程行为。

好的约束不是束缚,而是把错误挡在更早的位置。

带着互联网经验看底层系统

这次回到底层系统,和 2000 年代做 Linux 公司时最大的不同,是我带着十年互联网经验。

以前看系统,容易先看技术:存储结构、执行引擎、性能指标、协议、线程模型。现在会多看一层:这个系统到底为谁解决什么问题?业务怎么接入?数据从哪里来?出错以后谁排查?性能问题会如何影响用户决策?

图数据库如果只是一个漂亮的内核,很难产生足够价值。

它必须落到场景里:风控、知识图谱、推荐、供应链、金融关系、企业数据治理、社交关系、网络安全。不同场景对查询能力、实时性、可解释性、成本和稳定性的要求完全不同。

底层系统最终也要接受业务检验。

创业公司里的系统软件

创业公司做系统软件,和大公司做基础设施很不一样。

大公司有稳定业务,有内部用户,有长期投入,有庞大团队。创业公司要同时面对产品、客户、交付、融资、竞争和技术债。你不能只说技术路线正确,还要证明它能卖、能交付、能维护。

这让很多技术判断更现实。

一个功能是否要做,不只看它是否优雅,还要看客户是否真的需要;一个架构是否要重构,不只看它是否先进,还要看团队是否撑得住;一个性能优化是否值得,不只看指标提升,还要看它是否解决关键场景。

2023 年让我重新靠近系统软件,也让我更清楚地看到:技术深度和商业现实之间,永远有一段需要工程师跨过去的距离。

下一年,AI 会更强烈地卷入这家公司,也卷入我自己的职业路径。图数据库还没写多久,行业风向又变了。

2023 年 IT 大事记

  • GPT-4 发布。 2023 年,GPT-4 让软件行业继续重新评估大模型能力。生成式 AI 从聊天和写作,进一步进入代码、分析、工具调用和复杂任务推理。
  • Llama 2 发布。 Meta 发布 Llama 2,并允许研究和商业使用。开放权重大模型路线开始形成更强影响力,很多本地模型和行业模型实践由此加速。
  • 数据基础设施重新被讨论。 知识库、向量检索、图数据库、权限、数据质量和模型上下文开始被放在一起讨论。AI 应用让企业重新审视自己的数据底座。
  • Rust 继续扩大影响。 Rust 在系统软件领域的影响力继续扩大,C++ 仍然是大量高性能系统的主力语言。安全、性能和工程约束之间的平衡成为系统开发的重要议题。
  • 图数据库与 AI 产生新连接。 关系数据、知识图谱、检索增强和企业问答让图数据库重新获得想象空间。底层系统如果要进入 AI 场景,必须更贴近数据和业务现场。

参考资料

打开原图 ↗