我想了解将rdbms用于hive元数据而不是文件系统的设计原则在我看来,rdbms提供了-并发控制酸性亚秒延迟等。文件系统可以提供-数据复制使用zookeeper可以实现并发在Hive的设计过程中,还有什么影响这个决定的因素吗?
6tqwzwtp1#
据我所知,他们选择这种在rdbms中存储配置单元表的元信息的方法,而不是将这些信息存储在hdfs中,因为他们需要元存储(模式、分区、其他信息)非常低的延迟。
xeufq47z2#
您可以在本文中找到hive使用rdbms的原因:“hive:map-reduce框架上的仓库解决方案”。其描述如下“metastore的存储系统应该针对具有随机访问和更新的在线事务进行优化。像hdfs这样的文件系统并不适合,因为它优化了顺序扫描,而不是随机访问。因此,metastore使用传统的关系数据库(如mysql、oracle)或文件系统(如local、nfs、afs),而不是hdfs。因此,只访问元数据对象的hiveql语句的执行延迟非常低。但是,hive必须显式维护元数据和数据之间的一致性。”
jw5wzhpr3#
使用rdbms存储元数据的原因:不可能执行crud操作,不允许编辑hdfs中存在的文件或数据,元数据使用rdbms存储元数据以提供较低的查询延迟,hdfs读/写操作是耗时的过程。
3条答案
按热度按时间6tqwzwtp1#
据我所知,他们选择这种在rdbms中存储配置单元表的元信息的方法,而不是将这些信息存储在hdfs中,因为他们需要元存储(模式、分区、其他信息)非常低的延迟。
xeufq47z2#
您可以在本文中找到hive使用rdbms的原因:“hive:map-reduce框架上的仓库解决方案”。
其描述如下
“metastore的存储系统应该针对具有随机访问和更新的在线事务进行优化。像hdfs这样的文件系统并不适合,因为它优化了顺序扫描,而不是随机访问。因此,metastore使用传统的关系数据库(如mysql、oracle)或文件系统(如local、nfs、afs),而不是hdfs。因此,只访问元数据对象的hiveql语句的执行延迟非常低。但是,hive必须显式维护元数据和数据之间的一致性。”
jw5wzhpr3#
使用rdbms存储元数据的原因:不可能执行crud操作,不允许编辑hdfs中存在的文件或数据,元数据使用rdbms存储元数据以提供较低的查询延迟,hdfs读/写操作是耗时的过程。