Hive 0.13发布 增加ACID特性
什么是ACID,有什么作用? ACID代表数据库事务中的4个特性,原子性(任何一个数据库操作要么被完整执行,要么完全不执行)、一致性(一旦应用程序执行了一个操作,操作的结果对于每一个之后的操作都是可见的)、隔离性(一个用户的操作不会对其他用户产生意料之外的副作用)、持久性(一旦一个操作被完成,这些操作也将被记录下来,即使机器或者系统出现故障,也要保证这些记录的完整性)。这些特性一直被认为是事务功能的重要组成部分。 在最近发布的Hive 0.13中,事务的原子性、一致性和持久性在分区层得到保证,隔离性则通过开启ZooKeeper或内存中可用的锁机制来保证。通过在Hive 0.13中加入事务,实现在行级提供全部的ACID语义,这样的话,一个应用程序可以添加行,而另一个应用程序可以从同一分区中读取数据,互相之间不会产生干扰。 采用ACID语义的事务机制被添加到Hive中来处理以下的用例: 数据流摄取(streaming ingestof data)。许多用户都会使用Apache Flume、Apache Storm或Apache Kafka之类的工具,这些工具可以将数据写入到Hadoop集群...