Comparison with Traditional Databases

译自 Hadoop-The Definitive Guide, 4th Edition p476

Schema on Read Versus Schema on Write

传统数据库在数据载入的时候会强制验证表的模式。
Hive只有在查询数据时才会验证。

Schema on Read 在数据初始载入时非常快,只是复制和移动数据不需要按照数据库的格式进行解析序列化。因此我们可以将两类模式应用在同一组数据。

Schema on Write 索引载入的数据使得查询更快,但是会耗费更长的时间载入

Updates, Transactions, and Indexes

Hive不支持就地更新,所以所有的增删该储存在临时表,然后定期合并到表

Hive支持分区级和表级锁

Hive的index可以提升查询速度,目前有两种索引:compact and bitmap
compact存储每个值对应block的标号
bitmap适用于索引低基数列(例如性别或国家)

SQL-on-Hadoop Alternatives

其他的SQL-on-Hadoop框架例如Impala、Presto、Drill、Spark SQL
Apache Phoenix 使用完全不同方法:将查询转换为HBase扫描,Metadata也存储在HBase。