返回首页
最新
可视化大量人群在10万人容量的体育场中。使用Three.js制作的因果氛围编码的工作进展,期待反馈 :)
事件溯源是一种架构,它将系统中的每一次变化都记录为不可变的事件,而不仅仅是存储最新的状态。这样一来,你不仅知道数据当前的样子,还能保留完整的历史记录,了解数据是如何演变到现在的。在一个简单的 CRUD 应用中,这意味着每一个被删除、更新或创建的条目都会存储在事件源中。这样,当你重放事件时,就可以重建应用在任何特定时间的状态。
大多数开发者将事件溯源视为一种技术安全网:
- 从故障中恢复
- 重建损坏的读取模型
- 审计能力
在面对模式变化时能够轻松应对。
这确实很合理,重放事件流常常让人感到压力重重。出现了故障,你需要修复它,同时希望一切能够顺利重建。
如果重放事件历史不仅仅是为了应急呢?如果它成为构建系统的日常一部分呢?
与其将重放视为恢复机制,不如将其视为开发工具——用来演进数据模型、改善逻辑,并随着时间的推移塑造数据的新视角。更令人兴奋的是,这意味着每当需求变化时,你可以从事件历史中衍生出全新的模式。
你的数据库不再是唯一的真实来源,而是回归其本来的目的:成为数据的快速、便捷的缓存,而不是锁定所有逻辑和假设的地方。
拥有完整的事件历史后,你可以自由地尝试新的读取模型,毫无顾虑地调整数据结构,并将数据塑造得完全符合新的用途——例如丰富字段、填补缺失值或为 AI 消费构建专用模型。重放不再是修复故障,而是持续改进你所构建的内容。
这带来了重大影响——尤其是在 AI 和 MCP 服务器方面。
大多数应用数据库并不是为自然语言查询或 AI 驱动的洞察而构建的。它们的模式是为事务设计的,而不是为了理解。数据分散在规范化的表中,关系和假设深深嵌入结构中。
但当你将事件历史视为真实来源时,你可以将事件重放到专门构建的读取模型中,特别为 AI 消费而设计。
需要高效语义搜索的扁平化、非规范化表?没问题。
想要创建一个以用户为中心的视图,带有预先连接的上下文以便更好地提示?轻而易举。
你不再受限于应用的模式——你可以将数据塑造得完全符合 AI 的消费需求。
而这里变得更加有趣的是:AI 本身可以帮助你探索数据历史,发现有价值的信息。
与其猜测哪些字段应该包含,不如使用 AI 来审视原始事件,发现空白、识别模式,并指导你设计更智能的读取模型。这是一个反馈循环:你的 AI 不仅仅是查询数据——它帮助你塑造数据。
因此,与其强迫 AI 与事务表作斗争,不如为其提供干净、专用的模型,优化以便于发现、推理和洞察。
最棒的是?你可以不断迭代。随着 AI 用例的发展,你只需调整流程并重放事件以重塑模型——无需迁移、无需填补、无需重新设计。
SCANOSS 发布了一款预提交钩子,可以在文件提交之前扫描暂存文件中未声明的开源组件。它轻量、开源,并且能够轻松集成到任何使用预提交框架的 Git 工作流中。该工具有助于及早发现许可和归属问题,而不会干扰开发进程。<p>仓库地址: https://github.com/scanoss/pre-commit-hooks
还可以查看这个网站:<a href="https://book-finder.w3spaces.com/" rel="nofollow">https://book-finder.w3spaces.com/</a>