hadoop hive hbase总结
- Hadoop
Hadoop 只能执行批量处理,并且只以顺序方式访问数据。这意味着必须搜索整个数据集,即使是最简单的搜索工作。当处理结果在另一个庞大的数据集,也是按顺序处理一个巨大的数据集。在这一点上,一个新的解决方案,需要访问数据中的任何点(随机访问)单元。
Hadoop 的特点:
对于任意格式的庞大数据集,Hadoop 可以做到安全存储
但是对于需要在庞大数据集做针对于单条记录的增删改查是做不到的。
- hive
对于存储在 HDFS 上的结构化的数据,如果增加一些描述这些数据的元数据信息,那么我们
可以把存储在 HDFS 上的数据抽象成一张二维表格,使用 Hive 进行各种 Insert/Select 操作。
但是 Hive 还是天生不支持对于单条记录的增删改查,也不是设计用来做单条记录的增删改
查的。
总结:
(1)海量数据量存储成为瓶颈,单台机器无法负载大量数据
(2)单台机器 IO 读写请求成为海量数据存储时候高并发大规模请求的瓶颈
(3)随着数据规模越来越大,大量业务场景开始考虑数据存储横向水平扩展,使得存储服
务可以增加/删除,而目前的关系型数据库更专注于一台机器
- Hbase
HBase 是 BigTable 的开源(源码使用 Java 编写)版本。是 Apache Hadoop 的数据库,是建立在 HDFS 之上,被设计用来提供高可靠性、高性能、列存储、可伸缩、多版本的 NoSQL的分布式数据存储系统,实现对大型数据的实时、随机的读写访问。
Hbase数据库特点。
① 高并发,以扩展,解决海量数据集的随机实时增删改查
② HBase 本质依然是 Key-Value 数据库,查询数据功能很简单,不支持 join 等复杂操作(可通过 Hive 支持来实现多表 join 等复杂操作)
③ 不支持复杂的事务,只支持行级事务
④ HBase 中支持的数据类型:byte[](底层所有数据的存储都是字节数组)
⑤ 主要用来存储结构化和半结构化的松散数据。
HBase 中的表特点
1、大:一个表可以有上十亿行,上百万列
2、面向列:列可以灵活指定,面向列(族)的存储和权限控制,列(簇)独立检索。
3、稀疏:对于为空(null)的列,并不占用存储空间,因此,表可以设计的非常稀疏。
4、无严格模式:每行都有一个可排序的主键和任意多的列,列可以根据需要动态的增加,同一张表中不同的行可以有截然不同的列