《Helios: Hyperscale Indexing for the Cloud & Edge》 2020-10-25 日常 暂无评论 1105 次阅读 - 解决的问题:在“云-边”分布式大数据处理系统中,如何给“日志数据”构建索引。 - 我的理解: - 数据流向:数据生产者 → Helio集群 → 云存储 - 日志数据按时间/条数分成数据块,独立保存到分布式文件系统/分布式对象存储中。 - 用[索引]可以快速定位到候选数据块,而不是定位到数据块中要找的那一行。 - [索引]有Merge/Add/Construct/Update四个操作 - Merge: - 两个[索引]可以用Merge运算,合并成一个[索引块] - 两个[索引块]可以Merge成一个更大的[索引块] - Add: - 两个[索引块]可以Add成一个高一层的[索引](即对这两个索引块的索引) - Construct - 将整个分区的[索引]进行Merge和Add,形成由[索引块]组成的树形结构 - 每一层的最新的[索引块],都可能由于尺寸没到阈值,而没被包含进树形结构中,成为这一层的树根 - Update - 将新增的[索引]与该层的树根进行Merge和Add,加入到高一层的树形结构中。 - 新的[索引块]可能由于尺寸没到阈值,没有加入高一层的树,而是成为这一层的新的树根 - 检索有 向右移动/向下移动 两个操作 - 向右移动: - 找下一层的树根。 - 因为树根(即最新的[索引块])在时间轴的最右边,所以叫向右移动。 - 如果树根没有要查找的[键],说明整个树的索引里都没有。 - 向下移动: - 如果树根有要查找的[键],就用[索引]定位到下一层包含[键]的[索引块] - 直到找到最底层,就可以用[索引]以定位到包含[键]的[数据块] 标签: none 本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。
评论已关闭