作者:吴大迪
好吧,相信大家通过我上一篇关于Hadoop的文章,也都大概知道Hadoop是个什么鬼了(白话大数据|Hadoop究竟是什么鬼)。那么小编这次就给大家挖一挖著名的大数据核心技术之一:NoSQL数据库吧!
就像衣服要放进衣柜一样,数据就要放进数据库,数据库是管理数据的工具,人类对数据的管理真可谓是历史悠久~ 从古人用竹子记录到如今存入电脑,这些都是对数据的管理,在电视剧《琅琊榜》中,就展现了古人精密的数据分类储存系统。
当今使用最多数据库——关系型数据库
关系型数据库组起源于IBM的研究院E.F.Codd提出的关系模型的概念,这也成为了关系型数据库的基础。关系模型由关系和关系模式组成,关系模式是型,关系是它的值。其实所谓关系模型其实就是一张表!
举个例子:
再配合简单易懂的操作语句(SQL),用于对数据的查找、添加、删除和改动,这些就构成了关系型数据库~ 关系型数据库总体说来,操作简单,理论基础非常扎实。
贾政生完探春以后又生了宝玉怎么办?数据库回答:添加一行呗上面那一堆表示新手建的。老手会这样建立表格:
后起之秀——NoSQL数据库
NoSQL是泛指非关系型数据库,全名叫Not Only SQL(不仅仅是SQL),所以说NoSQL是一场数据库的革命性运动,旨在打破关系型数据库统治的格局,解决关系型数据库所解决不了的问题。
1.NoSQL是一类数据库的统称,不同的NoSQL是为了解决不同问题而开发的。著名的NoSQL数据库有MongDB, HBase。其中Facebook是HBase的最大 用户。
2.NoSQL有一个共同的特点,就是能储存海量的数据,当然还是用我们熟知的分布式的思想。(戳这里回忆什么是分布式)NoSQL没有复杂的关系模式,表示可以拆分的,关系型数据库是无法拆分的,因为拆分会破坏关系模式。
3.在数据如此之多的今天,我们都把数据存进表中,那么查询效率太低了。像红楼梦里面人物数量是比较少的,实际数据库中上亿条数据,查起来太慢啦。于是有些NoSQL(例如HBase等)为这种问题想出的方法就是KV储存
4.对数据的储存类型没有要求,什么都能往里面塞,这也是NoSQL可以储存图像等复杂文件的原因。其中有专业图储存的Neo4J,文档储存比较占优势的MongoDB,其他的还有Cassandra等。
知道这段你们又不想看了,还是举个栗子吧,依旧以上面红楼梦为例
HBase中存储是key-value存储。Key的组成包括了rowkey+属性列名+数据写入时间戳,也就是上图的黄色+蓝色+数据写入时间戳。Value则是中间对应的白色框的值。
例如贾赦的信息,是这样一条一条存好的……
另外,因为数据库采用了KV存储,为了充分利用大数据技术,程序猿哥哥不仅要适应新的存储方式,还需要把旧的数据库转变使用方式,这是一项非常非常非常非常非常浩大的工程。
星环的程序猿小哥们发挥了聪明的才智,他们做了几件事情,分分钟把广大程序猿从水深火热中解救出来
1. 利用星环Hyperbase,程序猿哥哥完全可以按照传统数据库方式进行代码编写,Hyperbase提供JDBC/ODBC接口,支持SQL直接操作。对于非常急需大数据存储技术的程序猿哥哥,犹如40度的天气下送来了一台中央空调。
今天的故事讲完了,咱们下期见咯~~