数据管理在人类历史中早已有之,《大宅门》等一些历史剧中掌柜们用的账本,也是简单数据“存储”的方法。进入信息化时代,数据管理相关的软件技术发展更为迅速,为生活提供了更多的便利。
如excel相信大家都非常熟悉;对于更专业的数据存储和计算则有数据库技术,如oracle、mysql;在数据快速膨胀到海量,人们对大数据提出需求的路上,又出现了hadoop等等相关的大数据处理技术。
账本,笔写纸记的数据存储方法
数据库的发展史,所有软件人的记忆
当科技发展到了计算机时代后,上世纪70年代出现了数据库软件技术,国外的多家数据库厂商创建并发展,如世界上传统的数据库巨头oracle。
数据库的发展也经历了几个重要的阶段,如我们熟识的oracle、sqlserver、db2、mysql等都是关系型数据库,可以简单的理解为用于存储行列组成的表格,属性间由关系进行连接。
随着各类数据结构和关系变得越来越复杂,如一部电影中有不确定数量的演员,有电影描述,有相关影片类型等数据,并非二维表关系。为了存储诸如此种数据,出现了nosql(not only sql),如mangodb、图数据库等。
并且想一下,原来电信运营商中国移动等存了太多数据,用oracle等做数据分析查询,已经力不从心。为了解决这个问题又出现了分布式数据库,用很多台服务器来存储数据,实现分布式计算,比如pivotal的greenplum。
当年的数据库领域巨头
认为数据库技术很繁杂?那是因为你还不知道hadoop
进入2000年,互联网又来了一轮蓬勃发展,google等公司业务在全世界范围推广,数据量的增长可想而知,为了解决数据存储和计算问题,这位互联网老大内部鼓捣了很多新技术。
但在2003年谷歌可能觉得自己太孤独了,需要让世界其他企业一起玩一玩,几年时间陆续发布了gfs、mapreduce、bigtable等论文。这下世界科技公司跟着沸腾了,以google的论文为基础,作出了很多开源软件项目实现,其中最著名的就是hadoop。
hadoop来自apache社区,是能水平扩展、高可用、容错的海量数据处理的分布式架构。最初包括分布式文件系统hdfs,集群资源管理(2.0是yarn了),并行计算架构mapreduce,现在相关的技术越来越多,hbase、spark、impala等等。
围绕hadoop生态的科技公司也有很多,如cloudera,hortonworks等等。
google高手寂寞的几篇论文让世界大数据技术澎湃
hadoop技术生态也是为了解决数据管理和利用的问题,就如当年的数据库一样,有需求就有新技术。后续文章作者会对各类技术进行细节讨论(头条号:博识科技 原创首发,总有人抄袭,打个标记)。