23-【cmu15-721】【高級(jí)數(shù)據(jù)庫(kù)系統(tǒng)】【卡內(nèi)基梅隆大學(xué)】【中英字幕】

1. Facebook meta開源了許多數(shù)據(jù)庫(kù)系統(tǒng)項(xiàng)目,包括Cassandra、RoxyB、Presto等。
2. Velox是一個(gè)用于構(gòu)建高性能單節(jié)點(diǎn)查詢執(zhí)行引擎的庫(kù),不包含SQL解析器和元數(shù)據(jù)目錄。
3. Velox支持推送式向量化查詢處理,并與Arrow格式兼容。
4. Velox提供了自己的類型系統(tǒng),包括標(biāo)量類型和復(fù)雜類型。
5. Velox可以用于構(gòu)建自己的數(shù)據(jù)處理平臺(tái),或集成到現(xiàn)有系統(tǒng)中。
6. Velox是Apache Arrow的擴(kuò)展,支持額外的編碼方式,如增量編碼和RLE。
7. Velox提供了一個(gè)表達(dá)式引擎,將表達(dá)式樹編譯成使用中間表示(IR)的程序。
8. Velox允許開發(fā)者使用其函數(shù)API實(shí)現(xiàn)自己的內(nèi)置函數(shù)。
9. Velox根據(jù)數(shù)據(jù)系統(tǒng)的要求,支持向量處理和逐行處理兩種方式。
10. Velox具有連接器和適配器,可以與不同的存儲(chǔ)系統(tǒng)和格式進(jìn)行交互,如HDFS、S3、Parquet和Ork。
11. Presto是Facebook開發(fā)的一款查詢引擎,后來(lái)分叉出了PrestoDB和PrestoSQL,后者更名為Trino。
12. Trino和PrestoDB都是基于Belocks的,Belocks提供了核心功能和內(nèi)置函數(shù)支持。
13. Trino的開發(fā)團(tuán)隊(duì)認(rèn)為優(yōu)化查詢計(jì)劃和運(yùn)行時(shí)活動(dòng)比重寫引擎更重要,而PrestoDB的開發(fā)團(tuán)隊(duì)則持相反觀點(diǎn)。
14. Substrate是一個(gè)用于定義查詢計(jì)劃的開源規(guī)范,可以用于不同數(shù)據(jù)庫(kù)系統(tǒng)的集成。
15. Data Fusion和Pollers是兩個(gè)與Belocks類似的項(xiàng)目,可以作為構(gòu)建大型系統(tǒng)
16. 在未來(lái)的十年中,與Python等語(yǔ)言的接口以及查詢計(jì)劃的優(yōu)化將變得非常重要。
17. Trino可能有一些突破,但需要權(quán)衡選擇,比如查詢計(jì)劃的準(zhǔn)確性和性能。
18. Vellux無(wú)法提供索引功能,如果需要索引,需要進(jìn)行額外的操作。
19. 添加索引后,需要在Vellux中實(shí)現(xiàn)使用該索引的功能。
20. 對(duì)于Vellux的擴(kuò)展功能,不需要進(jìn)行硬分叉,只需對(duì)其API進(jìn)行接口調(diào)用。