大数据处理中的索引、NoSQL 选择与 Lambda 架构案例
1. 索引对性能的影响及类型
索引对于查询性能至关重要,虽然 Hadoop 不像关系型数据库管理系统(RDBMS)那样提供高级索引功能,但仍有一些通用准则可供遵循。
1.1 通用索引准则
- 合理使用索引,过多索引会影响插入性能,索引应与频繁的查询模式相匹配。
- 对于 Hive,索引分区应与表分区在分区列使用上保持一致。可参考 Hive 索引文档 进行全面了解。
1.2 常见索引类型
1.2.1 紧凑索引(Compact Indexes)
- 适用场景 :适用于包含大量不同或唯一值的列,如员工 ID,尤其适用于包含数值的列。
- 存储方式 :在 Hive 中,紧凑索引内部存储为一个排序表,包含要索引的列值以及存储这些值的块。
- 存储格式 :需使用与表格式匹配的最佳格式(如 ORC、Parquet、Avro)存储,并在需要时进行压缩。若表进行了分区,索引也会分区,可按需更改索引的分区结构。
- 配置参数 :设置属性
IDXPROPERTIES 'hive.index.compact.binary