7.1 NoSQL数据库简介
7.1.1 NoSQL的基础
什么是NoSQL数据库?
基于Key-Value来保存数据
一般来说,NoSQL不支持事务
关系型数据库:基于关系模型 —> 二维表
7.1.2 常见的NoSQL数据库
- HBase:基于HDFS、面向列的NoSQL数据库
什么是HBase? HBase是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统”。就像Bigtable利用了Google文件系统(File System)所提供的分布式数据存储一样,HBase在Hadoop之上提供了类似于Bigtable的能力。HBase是Apache的Hadoop项目的子项目。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。另一个不同的是HBase基于列的而不是基于行的模式。
-
Redis:基于内存的一个NoSQL数据库,支持持久化(RDB、AOF)
- 前身:MemCached(不支持持久化)
- Codis 是 Redis 分布式解决方案
-
MongoDB:基于文档型(BSON文档,就是JSON的二进制)的NoSQL数据库
- 举例:设计数据库,保存电影的信息
- 从MongDB 4.0开始:支持事务
- 支持:数据的分布式存储
? MapReduce (是 JavaScript 程序)
- Cassandra:跟HBASE类似,是面向列的NoSQL数据库
7.1.3 HBase的表结构和体系结构
- 复习Hadoop的生态体系
- 复习Oracle表结构和HBASE的表结构
- HBASE的体系结构
对应关系 | HBASE | HDFS |
---|
| 表 | 目录 | | 数据 | 文件(HFile,默认大小:128M) | | | |
|