传统关系型数据库的缺点:当数据达到几千万甚至上亿级别的时候,对单条数据的检索将花费数秒甚至分钟级别,实际情况是:
- 表会被并发地进行插入、编辑、删除操作。一个大中型网站地并发操作一般能达到几十乃至几百并发,此时单条数据查询的延迟将轻而易举地达到分钟级别。
- 查询语句通常都不是简单地对一个表的查询,而有可能是多个表关联后的复杂查询,甚至有可能是group by 或者 order by 操作,此时,性能会急剧下降。
由此带来了非关系型数据库的概念
分布式数据库的CAP(Consistency Availability and Partition tolerance)理论: - Consistency(一致性) :数据一致更新,所有数据都是同步的
- Availability(可用性):良好的响应性能
- Partition tolerance(分区容错性):可靠性
任何分布式系统只能同时满足上述两点,无法三者兼顾。
NoSQL(Not only SQL):CAP的理论带来了一种全新类型的数据库------非关系型数据库。NoSQL对事务性的要求并不严格。
Hbase就是基于Hadoop的典型的NoSQL,其数据的存储是基于HDFS的,其也得以继承Hadoop的优点。
注意: - Hbase采用的是Key/Value的存储方式,这意味着,即使随着数据量增大,也几乎不会导致查询的性能下降。
- Hbase并不快