������ADB PG ���Laser ���������������������
���������ADB PG ������
ADB PG ������������������������������������������������ACID ������������������������������������������
���������������������������������������������������������MPP ������������������������������������������������������������master ���������������������work ���������
master ������������������������������������������������������������������������������������������������
MPP ������������������������ADB PG ���master ���������������������������������������������master
���������������������������������������������������������
work ���������������������������������������������������������������������������������������������������������
������������������������������������������������Batch ���������codegen ���������������Fusion Scan ������������������������������������������������������������������������������������������3~5 ���������������
������������������������������������������������������������������������������������������������������������������
���������������Parquet���ORC ������������������������ADB PG ���������������������������������������
OSS/HDFS ���������������������������������������������������������������������������������������������������������������������
���������������������Laser ������������
������������������PG ������������������������
���������PG ������������������������������������������������������������������������TP ������������������������������������������������������������������������������������
���������PG ���������������������������������������������������������������������������������������������������
���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������
��������� PG ���������������������������������������������������������������������������������������������������������������������������������������������������������������
��������� PG ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������
���������PG ���������������������������������������������������������������������������CPU ������������
���������������OLAP ������������
���������ADB PG ������������������������������������������������������������������OLAP ������������
���������
���������������������������������������������������������������������������������
������������������������������������������������������������������������������������������������������������������������������������������������������������
������������������������������������������CPU ���������������������������������������������������cache
���miss������������������������������������������������������������������������������������������������������������������������OLTP ���������������,������������������������������������������������������������������������
������������������������������������������Codegen ���������������������������������������������������PUSH ������������������������������������������������������
������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Codegen ���������������������������������������������������������������������������������������������������������������
���������������PUSH ������������������������������������������������������������������������������������������������������������������������Cache miss ���������������������������������������Spark ��� Peloton���
ADB PG ���������������������������������������������������������������������������������������������ADB PG ������PG ������������������������������������������������������������������������������������������������������������������������������������
���������������������������������������
������������������������������������������������������������ClickHouse���PG11���Spark���ADBPG������������������������ClickHouse ���ADB PG���PG11 ���������������������������Spark ������
���������������������
���������������������ClickHouse ���������������������PG11 ���������������Spark ���������������ADB PG ���������������������������������������������������������join���AGG ���������������������������������group by���hashtable ���������������������������������������������������������������������
���������������������ClickHouse ������������������LLVM���PG11 ������������������LLVM���Spark ������Stage Java ������,ADB PG ���������������LLVM ������������������LLVM ������������������������������������������
���������������������ClickHouse ���PG11 ���������������������������Spark ������FPGA ���������ADB PG ������IR ������������������������IR ������������������������������������,������������GPU ���������
������laser ���������������������������
Laser ���������������������������������������5 ������:
1. ������������������
2. ���������������������
3. JIT ������
4. SIMD ������������
5. FUSION SCAN
������,���������������������������������������������������������������������������������������������������������������������BATCH ������������������������������������������������������������������������������������������������������������������CPU ���������������������
���������������������������������������������������������������������������������������������������������mini batch���mini batch ������������������������������������������������������������������������������������������������������������������������������������������������������������
������������������������������������JIT ���������������������������LLVM CodeGen ������������������������������������IR ������������������������IR ���������������������������������������������������������������������������������������������������������������������������
���������������������������������������������������������������������������������������CPU ���SIMD ���������������������������������������������������������������������������������������������������
������������������������������������������FUSION SCAN ���������������������������������������������������������������������������������������������������
���������������������������
���������������������������������������SUM ������������������������������������������������������������n������������������������n ������������������������������������������������������sum ������������������������������������������������������������������������������������������������2048 ���������������������2048 ���������������������sum ���������
���������������������������������������
���������Sum ������������������������n ���������n��2048���������������������
������������������������������������������������������������������batch������������������������SIMD ���������������������������������������������������������������������
���������������������������������������AGG ���JOIN������������AGG ���JOIN ������������������������������������������������������������������������������������������������
������������������������������������������������������������������������������������������������������������������������MemoryPool ���������������������������������������������������������������������������������������������������������������������������TPC-H ������������������������������������������Q1 ���������120%���Q18���������190%���
���������SIMD������������
������������������������������������������CPU ���SSE���AVX ���������������������������������512bit ���������������
���������TPCH ������������Lineitem ���������������������������������������SIMD ������������������������������������1 ������������������200 ������������������4 ���������������������
���������Just-in-Time ������������
ADB PG ���������������������������CodeGen������������������������CodeGen���������plan���node ������������CodeGen ���������������Executor���CodeGen ������������plan node ������code(IR)���Executor ���������������������������������������������IR ���������������������������������������������������������������������������master ���������������������
������������������������������������������������������where a>10 and b<5���������������������������������������������������������������1���a>10���2���b<5���3���and ���������
������������LLVM GIT ������������������������������������������������������LLVM ������������������������������������������������
���TPCH ������������������������JIT ���������������������������������20%~30%���������������������������,���������������������������������������������
���������Fusion Scan ������
Fusion Scan ���������������������������������������������������������������������������������������������������������
������������������������������������a ������3 ���b ������6 ���a���c*d ������������������������������������������������������������������a ������3 ���b ������6 ���������������������������������������������
Fusion Scan ���������������������������
������������������������������������������a ������b ������������������������������������������������������������������������������������������������������������������������������������������������������������������bitset���������������������������������������a ������������������mini batch ������
���������������������project ������������������������������������������������������������������������������c ������d ������������������������������������������������������������������������������������������������������������������c ������d ������������������������������������������mini batch ������������������
������������������������������������������������������IR ���������������������������������������������������������������
���������������������������������������
���������������������������D���E���F���G ������������
������������������������������������������������������c ������d ������������������������������������IO���������������������������������������������������������c ���d ������������������������������c ���d ������������������������������������������������
���������������������������Fusion Scan ���������������block ������������������������������block
������������������������������min ���max������������������min ���max ������where ������������������
������������������������������������������������������block ���������������������������������������block���
������Fusion Scan ������������������������������Scan ������������������������3 ���������������������
���������������������-HashJoin
HashJoin ���������������������������������������Hybrid Hash Join���HashTable ���������������������������������
HashJoin ���������������������������������
1. ���������probe ������������������������������Hash ������
2. Hashcode ������������entry ���������������������������������
3. ���������������������������entry ���������������������������������������������������������������������join key���
4. ������join key ������������������probe ���������������������������������������������������������������
������������������������������������������������?
1. ������������������������������������
2. ������CodeGen ������������������hash code ������
3. ������hashcode ������������������hash table������������������������������
4. ������������������������join ���������������������������������������������������������������������������������������
���������������������������������������������������������������������������������
1. ���������������
2. ���������������
���������������������
���������������������ADB PG ���������������
ADB PG ������������PG ���������������Laser ������������������������������������������������SQL ���pattern ������������������������������������������Laser���������������������������������������������������������������������������������������������������������SQL pattern ������������������������������������������������������laser ���������������
Laser ���������������������������������������������������������������������������������������������������������������������������������������������PG ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������PGdameon ������������������������������������������������LASER ���������
������������������������������stub ���������ExecutorStart���ExecutorRun���ExecutorEnd���
���������TPC-H ������
2020 ���5 ���20 ���������������������TPC-H 30TB ������������������������������������������������������������������������SQL Server 2019������������������������290%������������������SQL
Server ���1/4���
���������������������������Laser ������������������������������������������������������������������PG ���������������������������������������������������������������������������������������������������������������������������������������������������������JIT ���������������������������������������������������������������Fusion Scan���������������������������������������Fusion Scan���������������������������������������������������������������������������������������SIMD ������������������
���������������������������������
������������������������������������������������������
���������2020 ���12 ���������������������������������������������������������������
���������2020 ���3 ������������������motion ���������
���������2020 ���6 ������������������������������������������������������������������������
���������2020 ���9 ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������
������������������������������������������������������������