大数据数据存储技术
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Redis
• 是开源的、高性能的键-值存储(key-value store) • 键值可以包括字符串(strings)、哈希(hashes)、 列表(lists)、集合(sets)和有序集合(stored sets) • 可以对数据进行原子操作 • 为提高性能,Redis采用了内存中(inmemory)数据集方式
• 各节点无主从之分,通过相应的通信机制 相互感知,自我管理 • Amazon Dynomo • Facebook Cassandra
Bigtable
• 集中式数据管理系统 • Google设计的分布式数据存系统,用来处理 海量数据的非关系数据库 • 稀疏的、分布式、持久化存储的多维度排 序Map • 可处理PB级数据,并存储在上千台机器上 • 应用在Google多个产品上
– 用户可将多个列族组织为一个Locallity groups。 对于每个tablet里的每个Locallity groups生成一 个单独的SSTaBiblioteka Baidule
• 压缩
– 用户可以控制对于一个SSTable是否压缩。选择 压缩算法时更重视速率而不是空间
BigTable的应用
• Google Analytics
(row:string,column:string,time:int64)->string
BigTable的基础构件
• BigTable使用GFS来存储日志和数据文件 • BigTable使用一个类似于B+树的三级结构来 存储tablet的放置信息
BigTable优化策略
• Locallity groups
– 帮助站长分析站点流量模式的服务。提供统计 如每天内不同访问者的数量,每个URL每天访 问数等 – 分为原始点击表和摘要表
• Google 地球
– 可以通过网页或客户端访问地球表面高分辩率 卫星图像
• 个性化搜索
– 是一个用来记录用户在Google很多产品的查询 和点击记录的可选服务 – 为提高可用性、降低延时,个性化搜索数据备 份在多个BigTable集群上
HBase物理存储
• 1、Table中所有行都按照row key的字典序排列; 2、Table在行的方向上分割为多个Region; 3、Region按大小分割的,每个表开始只有一 个region,随着数据增多,region不断增大,当 增大到一个阀值的时候,region就会等分会两 个新的region,之后会有越来越多的region; 4、Region是Hbase中分布式存储和负载均衡的 最小单元,不同Region分布到不同RegionServer 上。
• 缺乏对非结构化数据处理能力
• 扩展性差
– 向上扩展scale up,硬件升级,提高速度 – 向外扩展scale out,重新划分,分散存储
新兴数据存储系统
集中式数据存储系统
• 整个系统需要主控节点存储从节点元信息 • Google Bigtable • Yahoo PNUTS
非集中式数据存储
HBase
• BigTable的开源实现 • 高可靠性、高性能、面向列、可伸缩的分 布式存储系统 • 可在廉价PC SERVER上搭建大规模的结构化 存储集群 • 利用Hadoop MapReduce处理HBase中的海量 数据
HBase系统架构
• Hbase基本概念 • RowKey:是Byte array,是表中每条记录的“主键”, 方便快速查找,Rowkey的设计非常重要。 Column Family:列族,拥有一个名称(string),包含 一个或者多个相关列 Column:属于某一个columnfamily, familyName:columnName,每条记录可动态添加 Version Number:类型为Long,默认值是系统时间 戳,可由用户自定义 Value(Cell):Byte array
• Region虽然是分布式存储的最小单元,但并 不是存储的最小单元。Region由一个或者多 个Store组成,每个store保存一个columns family;每个Strore又由一个memStore和0至 多个StoreFile组成,StoreFile包含HFile; memStore存储在 内存中,StoreFile存储在 HDFS上
数据存储技术
数据采集与存储技术研究现状
传统关系数据库
• 应用场景局限
– 面向结构化数据,致力于数据处理,保证严格 一致性 – 根据列值来定位行,输入输出耗时 – 范式设计与web2.0特性相互矛盾,如标签是多 对多关系,按传统要求必须去掉冗余 – 如图片、视频、音频
• 缺乏对海量数据的快速访问能力