在Amazon Redhsift中分发 - BTree或Hash

时间:2016-09-05 09:38:29

标签: amazon-redshift

Amazon Redshift用于在群集中分配值:Hash或BTree?

例如,如果我的分发键是格式为日期" yyyy-MM-dd",则后续两天将存储在同一节点上(如果使用Btree)或可能在不同节点上(如果使用哈希,可能就是这种情况)?

谢谢

1 个答案:

答案 0 :(得分:2)

聪明的问题。您知道大多数RDBMS的工作原理。

没有B树。

哈希函数应用于您的分配键,哈希函数的结果决定了哪个切片接收您的数据。

传统意义上没有索引。 Redshift使用其超级块中的信息"确定它是否可以避免对某些查询进行全表扫描。

对于大型数据集,有4种做法可以显着提高您的绩效:

  1. DISTRIBUTION KEY --- The most important design decision in an MPP system.
  2. COMPRESSION -- This can be done automatically as you load the database.
  3. SORT KEY -- Getting a good sort key is extremely important for large tables.
  4. ANALYZE and VACUUM --- This ensures that the SORT Key is optimized and the database has good statistics.
  5. 请注意我的清单中缺少什么?是的,我没有说索引。 Redshift没有索引。