Venice
:PROPERTIES:
:REF: https://engineering.linkedin.com/blog/2022/open-sourcing-venice--linkedin-s-derived-data-platform
:END:
linkedin 开源的数据平台,威尼斯
一个高吞吐,低延迟,高可用,可横向扩展,最终一致的存储系统, 为批处理和流处理工作的输出的摄取有一流的支持
在linkedin 该系统从2016年开始投入生产系统
所有写入都是异步的
push job , 从hadoop 从获取数据并写入到venice, linkedin 每天有超过1400各推送作业在运行,完全自动化
在linkedin 与Feathr 集成使用,主要用于AI训练
支持增量写
除了从hadoop 写入,还可以从Stream processor 写入, 在linkedin 主要从apache samza 进行流处理,目前开源是希望社区添加其他Stream processor 处理器
Stream write, 支持从流处理器写入的数据同时应用到数据集的当前版本和备份版本,多个流处理器可以并发写入同一个数据集
Stream reprocessing, 这一点本人不熟,不关注
局部更新, 不仅可以写入整行,也可以更新列
混合写,不关注
单一查询
批量查询
读取计算,通过DSL 可以支持嵌入查询,主要通过People You May Know (PYMK), 对此不了解,应该此功能是主要亮点
Da Vinci, 一个clinet
Eager cache, 不关注
分区,用client 可以加载感兴趣的数据集的所有分区
Galene, 不关注
多区域
Geo replication
Fault recovery
Multi-cluster
Multi-tenancy , 多租户
Operator-driven configuration , 操作员驱动的配置
Compression, 压缩,支持端到端压缩, 压缩方案是Astandard
重新分区, 支持重新划分数据集, 分区是系统的规模单位,随着数据集的增长,能够改变这个参数时很有用
存储, 可拔插架构,以前是支持BDB-je 存储引擎,目前是RocksDB, 使用两种RocksDB格式, 基于块(为大于RAM的数据集优化,由SSD支持), 基于普通表(为全RAM的数据集优化)
自愈,利用Apache Helix 在每个集群进行分区复制,对硬件故障进行反应,Helix 可以对机架进行感知, 确保一个给定分区最多只有一个副本在同一个机架上
弹性和线性可扩展性,
在RDBMS, key value, document database 下存在stream/batch processor system, venice 可以是下面的组织数据生态系统
[2022-10-14 五 14:58]
- 标题: Venice
- 作者: The Redefine Team
- 创建于 : 2022-10-21 18:28:51
- 更新于 : 2023-05-23 18:52:03
- 链接: https://redefine.ohevan.com/2022/10/21/Venice/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。