大数据技术与实践总结

大数据技术与实践总结

  • 大数据概述
    • 大数据的定义
    • 大数据的4V特征
  • HDFS
  • HBase
  • Redis
  • MongoDB

大数据概述

大数据的定义

大数据一词由英文“big data”翻译而来,是最近几年兴起的概念,目前还没有一个统一的定义。相比于过去的“信息爆炸”概念,它更强调数据量的“大”。大数据的大是相对而言的,是指所处理的数据规模巨大到无法通过目前主流数据库软件工具处理,在可以接受的时间内完成抓取、存储、管理和分析并从中提取出人类可以理解的信息。

大数据的4V特征

  1. Volume(数据量大)
  2. Variety(数据类型多)
  3. Velocity(处理速度快)
  4. Value(价值高)

HDFS

HDFS(Hadoop Distributed File System)原是Apache开源项目Nutch的组件,现在成为Hadoop的重要组件。它是一款具有高容错性的分布式文件系统,可以部署在造价低廉的主机集群上。它将一个大文件拆分成固定大小的小数据块,分别存储在集群的各个结点上,因此HDFS可以存储超大的数据集和单个巨大的文件。这样的分布式结构能够进行不同结点的并行读取,提高了系统的吞吐率。同一个数据库块存储在不同的数据结点上,从而保证HDFS在结点失败时还能继续提供服务,使其具有容错性。

HBase

Apache HBase是受Google BigTable思想启发而开发的、运行于Hadoop平台上的数据库,是可扩展的、分布式的大数据存储系统。HBase可以对大数据进行随机、实时的读取和写入操作。它的目标是在普通的机器集群中处理巨大的数据表,数据表的行数和列数都可以达到百万级别。HBase是一个开源的、数据库多版本存储的、面向列的大数据存储平台。Google的BigTable运行于GFS(Google File System)上,而HBase运行于Apache开发的Hadoop平台上。

HBase的特性

  1. 线性和模块化的可扩展性
  2. 严格的读写一致性
  3. 自动切可配置的数据表分片机制
  4. RegionServer之间可以进行热备份切换
  5. 为MapReduce操作HBase数据表提供Java基础类
  6. 易用的Java客户端访问API
  7. 支持实时查询的数据块缓存和模糊过滤
  8. 提供Thrift网管和REST-ful Web服务,并支持XML、Protobuf和二进制编码
  9. 可扩展的Jrubyshell
  10. 支持通过Hadoop检测子系统或JMX导出监测数据列文件、Ganglia集群检测系统

Redis

Redis是一种面向“键值对”对类型数据的分布式NoSQL数据库系统,其特点是高性能、持久存储,能适应高并发的应用场景。Redis本质上是一个键值类型的内存数据库,因为是纯内存操作,所以Redis的性能非常出色,每秒可以处理超过10万次读写操作,是已知性能最快的键值数据库。Redis的出色之处不仅仅是性能,其最大的魅力是支持保存多种数据结构,此外单个值的最大限制是1GB,不像Memcached只能保存1MB的数据,因此Redis可以用来实现很多有用的功能。

MongoDB

MongoDB是一个面向集合的、模式自由的文档型数据库。面向集合是指数据被分组到若干集合,这些集合称作聚集(Conllection)。在数据库中,每个集合具有唯一的名字,可以包含无限个文档。文档型是指存储的数据是键值对的集合,键是字符串,值可以是数据类型集合里的任意类型,包括数组和文档,这种数据格式称作BSON。

MongoDB的特点

  1. 面向文档存储
  2. 高效的传统存储方式
  3. 复制及自动故障转移
  4. 自动分片
  5. 动态查询
  6. 支持全索引
  7. 支持Ruby、Python、Java、C++及PHP等多种语言
  8. 面向集合存储,易存储对象类型的数据
  9. 模式自由
  10. 查询监视

你可能感兴趣的:(大数据技术与实践总结)