时间:2021-07-01 10:21:17 帮助过:27人阅读
NoSQL数据库:
——————————————————————————————
传统关系型数据库存在瓶颈
NoSQL的优势
对比 | NoSQL | 关系型数据库 |
---|---|---|
常用数据库 | HBase、MongoDB、Redis | Oracle、DB2、MySQL |
存储格式 | 文档、键值对、图结构 | 表格式,行和列 |
存储规范 | 鼓励冗余 | 规范性,避免重复 |
存储扩展 | 横向扩展,分布式 | 纵向扩展(横向扩展有限) |
查询方式 | 非结构化查询 | 结构化查询语言SQL |
事务 | 不支持事务一致性 | 支持事务 |
性能 | 读写性能高 | 读写性能差 |
成本 | 简单易部署,开源,成本低 | 成本高 |
NoSQL的特点
NoSQL 不等于 大数据
分布式系统最多支持3个中的两个(AC、AP、CP)
NoSQL 不保证ACID,提供最终一致性(HBase是强一致性的,支持CP,因为其基于HDFS的,分区多副本)
Basically Availble 基本可用
Soft-state 软状态
Eventual Consistency 最终一致性
大多数NoSQL是按key进行索引
部分NoSQL允许二级索引
HBase使用HDFS,append-only(读写很快)
1、MapReduce 概念相关,map预处理映射,reduce分析/聚合(并非hadoop的mr)
2、sharding 分片 ,一种分区模式,可以复制分片
分类 | 举例 | 典型应用场景 |
---|---|---|
键值存储数据库 (key-value) | Redis, MemcacheDB, Voldemort | 内容缓存等(减少检索数据库的次数) |
列存储数据库 (WIDE COLUMN STORE) | Cassandra, HBase | 应对分布式存储的海量数据 |
文档型数据库 (DOCUMENT STORE) | CouchDB, MongoDB | Web应用(可看做键值数据库的升级版) |
图数据库 (GRAPH DB) | Neo4J, InfoGrid, Infinite Graph | 社交网络,推荐系统等,专注于构建关系图谱 |
1)hbase是一个分布式的,基于列式存储的数据库,基于hadoop的hdfs存储,zookeeper进行管理。
2)hbase 适合存储半结构化或非结构化的数据,对于数据结构字段不够确定或者杂乱无章很难按照一个概念去抽取的数据。
HBase是一个领先的NoSQL数据库
HBase特点
1、HBase采用Master/Slaves架构
2、HMaster的作用
3、RegionServer负责管理维护Region
一个RegionServer包含一个WAL(数据操作日志)、一个BlockCache (读缓存)和多个Region
一个Region包含多个Store存储区,每个存储区对应一个列族
一个存储区由多个StoreFile和MemStore(写缓存,128M,一个Block)组成
一个StoreFile对应于一个HFile和一个列族
负责 Split 在运行过程中变得过大的 Region,负责 Compact 操作
WAL(write ahead log),在数据写入之前将操作写入日志,在灾难后可以最大程度恢复数据
HFile和WAL作为序列文件保存在HDFS上
Client与RegionServer交互
4、Region和Table
5、Clinet 客户端
强一致性
自动扩展
当Region变大会自动分割
使用HDFS扩展数据并管理空间
写恢复
与Hadoop集成
Hbase ——Not only SQL
标签:概述 值类型 海量数据 ceil 文档 技术 -- 物理 字典排序