Stay foolish:初学者轻松了解“大数据”
le System) - HDFS (Hadoop Distributed File System)
3. MapReduce:并行计算框架,0.20前使用 org.apache.hadoop.mapred 旧接口,0.20版本开始引入org.apache.hadoop.mapreduce的新API
4. HBase: 类似Google BigTable的分布式NoSQL列数据库。
5. Hive:数据仓库工具,由Facebook贡献。
6. Zookeeper:分布式锁设施,提供类似Google Chubby的功能,由Facebook贡献。
7. Avro:新的数据序列化格式与传输工具,将逐步取代Hadoop原有的IPC机制。
8. Pig: 大数据分析平台,为用户提供多种接口。
作为初学者,我们先拨开一些浮云,看看这里面到底有些什么。有三个主体部分,是我们需要重点关注的:HDFS、MapReduce、HBase。
实际上,Apache Hadoop的HDFS是Google File System(GFS)的开源实现。MapReduce是Google MapReduce的开源实现。HBase是Google BigTable的开源实现。
Hadoop是一个能够让用户轻松架构和使用的分布式计算平台。它主要有以下几个优点:1高可靠性2高扩展性3高效性4高容错性。用户可以轻松地在Hadoop上开发和运行处理海量数据的应用程序。而实际上,很多公司提供的大数据产品也是基于Hadoop进行开发的。
数据存储空间占用大
针对数据存储空间占用大,我们需要用到的是"分布式存储"。分布式存储系统,就是将数据分散存储在多台独立的设备上。传统的网络存储系统采用集中的存储服务器存放所有数据,存储服务器成为系统性能的瓶颈,也是可靠性和安全性的焦点,不能满足大规模存储应用的需要。分布式网络存储系统采用可扩展的系统结构,利用多台存储服务器分担存储负荷,利用位置服务器定位存储信息,它不但提高了系统的可靠性、可用性和存取效率,还易于扩展。
前面我们介绍到的Hadoop,其中的HDFS就是现今最流行的分布式存储平台之一。
HDFS原理简要描述
HDFS(Hadoop Distributed File System),是一个分布式文件系统。HDFS有着高容错性(fault-tolerent)的特点,并且设计用来部署在低廉的(low-cost)硬件上。它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求(requirements)这样可以实现流的形式访问(streaming access)文件系统中的数据。
HDFS是一个主从结构的体系,一个HDFS集群是由一个名字节点,它是一个管理文件的命名空间和调节客户端访问文件的主服务器,当然还有的数据节点,一个节点一个,它来管理存储。HDFS暴露文件命名空间和允许用户数据存储成文件。
对外部客户机而言,HDFS 就像一个传统的分级文件系统。可以创建、删除、移动或重命名文件,等等。
内部机制,是将一个文件分割成一个或多个的块,这些块存储在一组数据节点中。名字节点(NameNode)操作文件命名空间的文件或目录操作,如打开,关闭,重命名,等等。它同时确定块与数据节点的映射。数据节点(DataNode)来负责来自文件系统客户的读写请求。数据节点同时还要执行块的创建,删除,和来自名字节点的块复制指示。这与传统的 RAID 架构大不相同。块的大小(通常为 64MB)和复制的块数量在创建文件时由客户机决定。NameNode 可以控制所有文件操作。
HDFS 内部的所有通信都基于标准的 TCP/IP 协议。
数据类型繁多
大数据处理,有如下需求:对数据库高并发读写的需求、对海量数据的高效率存储和访问的需求、对数据库的高可扩展性和高可用性的需求。传统的关系型数据库在此类需求面前束手无策。此时,一个新的概念被引入了----NoSQL。
什么是NoSQL?
NoSQL=Not Only SQL,指的是非关系型的数据库。
非关系型数据库以键值对存储,它的结构不固定,每一个元组可以有不一样的字段,每个元组可以根据需要增加一些自己的键值对,这样就不会局限于固定的结构,可以减少一些时间和空间的开销。
应该说明的是,NoSQL在处理超大量数据时性能卓越,而且可以在PC服务器集群上运行,成本低廉,具有高扩展性和实用性。但是,目前大多数NoSQL是开源项目,没有供应商正是支持,而且在数据完整性等方面远不如关系型数据库,企业级应用不多。
HBASE 的原理简要介绍,如何存储非结构化数据
HBase是一个分布式的、面向列的开源数据库,HBase在Hadoop平台内的结构化数据的分布式存储系统。HBase与传统关系型数据库的区别在于,它是一个适合非结构化数据存储的数据库,而且HBase是基于列而不是基于行的模式。
HBase利用Hadoop HDFS
- 三大因素制约可穿戴设备的大数据梦想(09-27)
- 阿里云从三大方面布局物联网生态链(11-22)
- 揭秘云计算技术的现状及特点(02-19)
- 物联网基础设施强化的5个提示(07-08)
- 工业4.0的大数据在西门子、博世的应用案例(07-12)
- 【科普】一分钟全面了解“云存储”(08-07)