23-【cmu15-721】【高级数据库系统】【卡内基梅隆大学】【中英字幕】

1. Facebook meta开源了许多数据库系统项目,包括Cassandra、RoxyB、Presto等。
2. Velox是一个用于构建高性能单节点查询执行引擎的库,不包含SQL解析器和元数据目录。
3. Velox支持推送式向量化查询处理,并与Arrow格式兼容。
4. Velox提供了自己的类型系统,包括标量类型和复杂类型。
5. Velox可以用于构建自己的数据处理平台,或集成到现有系统中。
6. Velox是Apache Arrow的扩展,支持额外的编码方式,如增量编码和RLE。
7. Velox提供了一个表达式引擎,将表达式树编译成使用中间表示(IR)的程序。
8. Velox允许开发者使用其函数API实现自己的内置函数。
9. Velox根据数据系统的要求,支持向量处理和逐行处理两种方式。
10. Velox具有连接器和适配器,可以与不同的存储系统和格式进行交互,如HDFS、S3、Parquet和Ork。
11. Presto是Facebook开发的一款查询引擎,后来分叉出了PrestoDB和PrestoSQL,后者更名为Trino。
12. Trino和PrestoDB都是基于Belocks的,Belocks提供了核心功能和内置函数支持。
13. Trino的开发团队认为优化查询计划和运行时活动比重写引擎更重要,而PrestoDB的开发团队则持相反观点。
14. Substrate是一个用于定义查询计划的开源规范,可以用于不同数据库系统的集成。
15. Data Fusion和Pollers是两个与Belocks类似的项目,可以作为构建大型系统
16. 在未来的十年中,与Python等语言的接口以及查询计划的优化将变得非常重要。
17. Trino可能有一些突破,但需要权衡选择,比如查询计划的准确性和性能。
18. Vellux无法提供索引功能,如果需要索引,需要进行额外的操作。
19. 添加索引后,需要在Vellux中实现使用该索引的功能。
20. 对于Vellux的扩展功能,不需要进行硬分叉,只需对其API进行接口调用。