摘要:
deletion vector 是通过一组向量, 维护一个文件中被删除的行, 可以理解为一种索引. 这种方式可以以 Merge On Write 的方式, 来避免 Merge On Read 的过程, 从而以写入性能换取读取性能. 对于写少读多, 或者对读取性能有更高要求的场景会比较适合. 避免 M 阅读全文
摘要:
Lookup Store 主要用于 Paimon 中的 Lookup Compaction 以及 Lookup join 的场景. 会将远程的列存文件在本地转化为 KV 查找的格式. Hash https://github.com/linkedin/PalDB Sort https://github 阅读全文
摘要:
数据类型要求 BatchPhysicalHashAggRule match 条件会判断 isAggBufferFixedLength(agg) 为什么要求 aggCall 的类型是 Fixed Length 的才可以使用 HashAggregate ? 因为在 HashAggregate 中, 依赖 阅读全文
摘要:
介绍 目的 Chaneglog producer 的主要目的是为了在 Paimon 表上产生流读的 changelog, 所以如果只是批读的表是可以不用设置 Chaneglog producer 的. 一般对于数据库如 MySQL 来说, 当执行的语句涉及数据的修改例如插入、更新、删除时,MySQL 阅读全文
摘要:
- 这两周从听 #纵横四海 播客 #刻意练习 和笔记的力量开始逐渐关注到双链笔记, 其实最早在听ByteTalk的时候就有听到一期嘉宾介绍到一款双链笔记 #logseq . 其实给我印象最深的是刻意练习中关于对学习的讲解, 其中提到刻意练习最重要的几部分: chunk 和 link. 而双链笔记 最 阅读全文
摘要:
类型有什么作用, 类型可以提供编译期检查, 避免到运行期才报错. # 类型 首先Flink中自己定义了一套类型, 有`LogicalType`和`DataType`两个表示 ## LogicalType `LogicalType`表示的逻辑类型, 并不涉及类型的物理表示, 会包含nullable属性 阅读全文
摘要:
# 二叉堆 二叉堆具有两个性质, 结构性和排序性. ## 结构性质 堆是一棵除了底层以外都被完全填满的二叉树, 叫做完全二叉树, 而最底层从左到右都是满的, 右侧允许有空缺 ![image.png](https://cdn.nlark.com/yuque/0/2023/png/492896/1690 阅读全文
摘要:
# 机制 链表中查询的效率的复杂度是O(n), 有没有办法提升这个查询复杂度呢? 最简单的想法就是在原始的链表上构建多层索引. ![image.png](https://img2023.cnblogs.com/blog/697236/202307/697236-20230723151642781-1 阅读全文
摘要:
在Delta Lake官网上提到的一篇新一代湖仓架构的论文. 这篇论文由Databricks团队2021年发表于CIDR会议. 这个会议是对sigmod和vldb会议的补充. 可以看到这篇论文和前一篇Delta Lake: High-Performance ACID Table Storage ov 阅读全文
摘要:
论文发表于 2020年, 研究数据湖产品的很好的学习资料. # 概要 开篇很明确的表明了为什么要做Delta lake这样一个产品. Databricks尝试将数据仓库直接架在云上对象存储之上, 这种尝试的过程中遇到了对象存储的一些问题, 为了解决这些问题, 提出了Delta lake这套技术方案. 阅读全文