欢迎来到天天文库
浏览记录
ID:43845229
大小:434.41 KB
页数:23页
时间:2019-10-15
《大数据数据存储技术》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、数据存储技术数据采集与存储技术研究现状传统关系数据库•应用场景局限–面向结构化数据,致力于数据处理,保证严格一致性•缺乏对海量数据的快速访问能力–根据列值来定位行,输入输出耗时–范式设计与web2.0特性相互矛盾,如标签是多对多关系,按传统要求必须去掉冗余•缺乏对非结构化数据处理能力–如图片、视频、音频•扩展性差–向上扩展scaleup,硬件升级,提高速度–向外扩展scaleout,重新划分,分散存储新兴数据存储系统集中式数据存储系统•整个系统需要主控节点存储从节点元信息•GoogleBigtable•YahooPNUTS非集中式数据存储•各
2、节点无主从之分,通过相应的通信机制相互感知,自我管理•AmazonDynomo•FacebookCassandraBigtable•集中式数据管理系统•Google设计的分布式数据存系统,用来处理海量数据的非关系数据库•稀疏的、分布式、持久化存储的多维度排序Map•可处理PB级数据,并存储在上千台机器上•应用在Google多个产品上(row:string,column:string,time:int64)->stringBigTable的基础构件•BigTable使用GFS来存储日志和数据文件•BigTable使用一个类似于B+树的三级结构来
3、存储tablet的放置信息BigTable优化策略•Locallitygroups–用户可将多个列族组织为一个Locallitygroups。对于每个tablet里的每个Locallitygroups生成一个单独的SSTable•压缩–用户可以控制对于一个SSTable是否压缩。选择压缩算法时更重视速率而不是空间BigTable的应用•GoogleAnalytics–帮助站长分析站点流量模式的服务。提供统计如每天内不同访问者的数量,每个URL每天访问数等–分为原始点击表和摘要表•Google地球–可以通过网页或客户端访问地球表面高分辩率卫星图
4、像•个性化搜索–是一个用来记录用户在Google很多产品的查询和点击记录的可选服务–为提高可用性、降低延时,个性化搜索数据备份在多个BigTable集群上HBase•BigTable的开源实现•高可靠性、高性能、面向列、可伸缩的分布式存储系统•可在廉价PCSERVER上搭建大规模的结构化存储集群•利用HadoopMapReduce处理HBase中的海量数据HBase系统架构•Hbase基本概念•RowKey:是Bytearray,是表中每条记录的“主键”,方便快速查找,Rowkey的设计非常重要。ColumnFamily:列族,拥有一个名称(
5、string),包含一个或者多个相关列Column:属于某一个columnfamily,familyName:columnName,每条记录可动态添加VersionNumber:类型为Long,默认值是系统时间戳,可由用户自定义Value(Cell):BytearrayHBase物理存储•1、Table中所有行都按照rowkey的字典序排列;2、Table在行的方向上分割为多个Region;3、Region按大小分割的,每个表开始只有一个region,随着数据增多,region不断增大,当增大到一个阀值的时候,region就会等分会两个新的r
6、egion,之后会有越来越多的region;4、Region是Hbase中分布式存储和负载均衡的最小单元,不同Region分布到不同RegionServer上。•Region虽然是分布式存储的最小单元,但并不是存储的最小单元。Region由一个或者多个Store组成,每个store保存一个columnsfamily;每个Strore又由一个memStore和0至多个StoreFile组成,StoreFile包含HFile;memStore存储在内存中,StoreFile存储在HDFS上Redis•是开源的、高性能的键-值存储(key-valu
7、estore)•键值可以包括字符串(strings)、哈希(hashes)、列表(lists)、集合(sets)和有序集合(storedsets)•可以对数据进行原子操作•为提高性能,Redis采用了内存中(in-memory)数据集方式
此文档下载收益归作者所有