主要观点:Noria 是为高性能 Web 应用设计的新流式数据流系统,基于相关论文,可作为读密集型 Web 应用的快速存储后端,自动更新缓存结果,减少内存开销并支持动态数据流和查询更改。它有 MySQL 适配器,能让现有应用轻松切换到 Noria,还提供 Rust 绑定和 MySQL 适配器两种交互方式,以及 CLI 和 Web UI 用于数据检查,代码结构包含多个子 crate 和外部工具,开发时可通过 cargo 命令进行测试、构建文档等操作,其许可证为 Apache 2.0 或 MIT 许可,贡献需遵循相应条款。
关键信息:
- Noria 基于 Jon Gjengset 的博士论文及相关论文,像数据库但预计算缓存关系查询结果以提高读取速度。
- 有 MySQL 适配器可实现二进制 MySQL 协议,如运行 Lobsters 类似工作时吞吐量提高 5 倍。
- 遵循服务器-客户端模型,需启动
noria-server
二进制文件且 ZooKeeper 运行,需 nightly Rust 编译。 - 可通过 Rust 绑定或 MySQL 适配器与 Noria 交互,前者有相关文档和示例,后者需确保适配器运行。
- 有 CLI 和 Web UI 用于检查数据,包括 MySQL 客户端和 Noria 自己的 Web 界面。
- 代码结构包含多个负责不同组件的子 crate,如
noria
、applications
、server/src/
等。 - 许可证为 Apache 2.0 或 MIT 许可,贡献需遵循相应条款。
重要细节: noria
crate 提供 Rust 绑定,noria-mysql
为 MySQL 适配器。- 运行
noria-server
时可指定部署、地址和分片等参数。 - 测试套件使用
cargo test
,构建和打开文档使用cargo doc --open
。 - 可通过 ZooKeeper 发现 Noria 的 REST API 地址和端口,基本图形 UI 运行在
http://IP:PORT/graph.html
,还可部署更高级的 Web UI。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。