Hadoop学习日记(二)大数据存储技术

118 阅读2分钟
  • 列存储(HBase)

以前的数据库产品大多基于行存储的模式,即下一个存储对象是同条记录的下一个属性。

但在大数据处理中,我们往往关心的是某一个属性的特征,如果以传统的行存储数据处理,数据的访问开销较大。据报道,在大数据应用中列存储产品比行存储产品快50-100倍,更有利于提高数据的压缩比(同类数据存储在一起利于提高数据的相关性,便于实现高效的压缩算法)

  • key-value存储(memcached,redis)

kv存储数据库是一种NoSql数据库,其数据按照key-value的方式进行组织,索引和存储,适合低耦合的数据,能有效的减少读次数,比传统关系数据库拥有更好的读写性能。Key由行关键字,列关键字,时间戳(为了数据的一致性,过期数据将被回收)构成。

  • 文档存储(MongoDB,CouchDB)

文档存储不需要定义表结构,适合存储非结构化数据。

  • 图存储

基于图论构建,节点代表存储实体,属性保存节点相关信息,边保存实体间的信息。适合存储庞大的复杂的数据模型(人的关系网)

  • 分布式文件存储系统

在数据量爆炸增长的情况下,单机无论从存储和计算能力上都不能满足生活生产需求,分布式文件系统不仅摆脱了硬件设备的限制,同时可扩展性能强,能够快速响应用户需求变化。

  • 分布式内存文件存储Tachyon

随着内存成本的降低,容量的增大,使得数据存在内存中成了可能,大量的基于内存的计算框架被开发出来,其中Spark就是优秀的基于内存的计算框架,但仍有GC开销大,缓存数据丢失等限制,而Tachyon的出现解决了内存冗余和基于JVM内存计算框架的GC时间。