四、Hive和数据库的区别
(1)数据存储位置不同
Hive中处理的结构化数据存储在HDFS中,元数据存储在mysql的Meta store中;
数据库将数据保存在块设备或本地文件系统中;
(2)数据更新
Hive是针对数据仓库设计的,主要用于读,所有的数据在加载时已经确定好,适合处理静态数据;
数据库通常是实时进行修改的,增删改查,适合处理动态数据;
(3)执行机制
Hive大多数查询的执行是通过Hadoop提供的MapReduce实现的;
数据库通常是用自己的引擎innodb;
(4)执行延迟
Hive因为没有索引、利用MapReduce框架执行查询,所以Hive本身的延迟较高;
数据库的延迟较低,但是不太适合处理PB级别以上海量数据;
处理海量数据时,Hive的优势就显出来了;
(5)可扩展性
Hive是建立在Hadoop上的,所以Hive也具备可扩展性,并发运行;
数据库由于ACID语义的严格限制,扩展性非常有限,例如目前最先进的并行数据库oracle在理论上扩展能力也就只有100台左右。
很明显,除了都用sql语句,Hive和数据库其实没啥太大关系。
————————————————
版权声明:本文为CSDN博主「攻城狮Kevin」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/wx1528159409/java/article/details/84667658
网友评论