大数据架构之数据存储

持久化存储

关键概念: 文件系统,数据库系统
文件系统中,大量文件没有很好组织,缺乏对象之间关键,读取效率低,因此有了数据库。

单台计算机无法满足数据存储和处理需求,需要集群化方案,如何高效读取分布式计算机文件,高效执行分布式数据库的SQL查询,就有了NOSQL。知名分布式文件系统HDFS,分布式非关系型(非结构化)数据库Hbase和MongoDB。

分布式文件系统

2003年,Google发布论文GFS,启发Apache Nutch开发了HDFS。2004年,Google 又发布了论文《MapReduce: Simplified Data Processing on Large Clusters》,Doug Cutting等人实现计算框架MapReduce ,并与HDFS结合来更好的支持该框架。2006年项目从Butch搜索引擎中独立出来,成为了现在的Hadoop。

GFS隐藏了底层的负载均衡,切片备份等细节,使复杂性透明化,并提供统一的文件系统接口。其成本低,容错高,高吞吐,适合超大数据集应用场景。

HDFS原理:
1、横向扩展,增加“数据节点”就能增加容量。
2、增加协调部门,“命名节点”维护元数据,负责文件系统的命名空间,控制外部访问,将数据块印射到数据节点。还会备份元数据从命名节点,它只与命名节点通信。
3、数据库在多个数据节点备份。

弱点:
1.不适合实时数据访问。
2.无法高效存储小文件,太多小文件会降低命名节点检索效率,降低系统处理速度。
3.不支持多用户写入。
4.不支持文件任意位置修改,只能在文件末尾追加新数据。

分布式数据库

Google发布论文《Bigtable: A Distributed Storage System for Structured Data》。

HBase

Hbase在HDFS基础上提供了Bigtable的能力; 并且基于的模式进行存储。

HBase的数据模型:
表格

列族
列限定符
单元
版本

HBase体系结构:
HMaster
HRegion
HRegion服务器

HBase的列存储设计非常方便扩展,可以修改列族定义、增加列族或列限定符,所以被成为“宽表”。

宽表模式优点:
节省关系数据库连接操作和存储空间。
可将不同Schema模式的数据混合,即异构数据源的统一和集成。

MongoDB

面向集合,数据分组存储在数据集,数据集被称为集合,每个集合在数据库有唯一标识,可以包含无数文档。

与HBase区别:
1.数据直接存储在文件系统上,而非HDFS上。其也有大文件存储概念GridFS,由MongoDB自身实现。
2.数据模型以文档为单位,支持多种复杂结构。文档中字段或属性不限定特定类型。
3.单个文档不再切分和分布式存储。

非持久化存储

关键字:缓存和散列
散列:数据的散列值作为键,待写入的数据作为值,进行key-value配对存储。散列值由散列函数(算法)得出,好的算法尽量避免散列冲突(散列值不唯一)。

提高缓存访问命中率:
淘汰算法:最少使用(LFU),最久未用(LRU)。

缓存系统:

Memcached, Berkeley DB, Redis。
MongoDB也可以做缓存,Redis和Berkeley DB也支持持久化存储,没那么绝对。

Memcached:
基于散列映射。
LRU。
客户端(任何语言)通过Memcached协议 来与守护进程通信(c语言)。
服务器端无切片和副本等分布式功能,服务器之间不通信,需要应用端实现。

Berkeley DB(轻量级):
嵌入式数据库系统。
架构简单,key-value。
支持ACID数据库事务处理,细粒度锁,XA接口,热备份,同步复制等。
核心不支持分布式,支持持久化。

Redis(远程字典服务器):
1.超高性能,每秒数十万次。
2.支持字符串,散列表,列表,集合。
3.支持事务性,例如a转账给b,a扣钱,b加钱,如果b未加成功,a扣的钱返还。
4.可设定生命周期,为key-value设置生命周期(TTL),例如验证码,限时特惠。
5.持久化,全量保存的RDB镜像(速度快),增量保存的AOF日志(资源消耗少,丢失少)。
6.主从同步,从服务器利用发布/订阅机制从主服务器接收发布的记录。
7.哨兵,自动化监控和故障恢复。
8.适用读多写少,主服务器写,从服务器读,主服务器一旦出错,系统恢复麻烦。Redis3.0后提出了“集群”概念,包括预分片技术,对水平扩展更好的支持。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,440评论 5 467
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,814评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,427评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,710评论 1 270
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,625评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,014评论 1 275
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,511评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,162评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,311评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,262评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,278评论 1 328
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,989评论 3 316
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,583评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,664评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,904评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,274评论 2 345
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,856评论 2 339

推荐阅读更多精彩内容