
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 场景必须更贴近数据和业务现场。参考资料OpenAIGPT-4MetaMeta and Microsoft Introduce the Next Generation of LlamaRust FoundationRust Foundation