SQL与NoSQL数据库入门基础知识详解

 

这几年的大数据热潮带动了一激活了一大批hadoop学习爱好者。有自学hadoop的,有报名培训班学习的。全部接触过hadoop的人都知道,单独搭建hadoop里每一个组建都须要运行环境、修改配置文件测试等过程。对于咱们这些入门级新手来讲简直每一个都是坑。国内的发行版hadoop那么多,彷佛都没有来填这样的坑?不知道是无法解决,仍是没有想到?数据库

安装运行环境这样的坑,那些作国产大数据底层开发的,若是不能解决这个问题的话,我以为不是一个合格的大数据底层开发机构。不过比较幸运的是,三月的时候申请拿到了一个DKHadoop的三节点发行版,大快开源的发行版hadoop。这个国产发行版就把各类经常使用的组建好比:HDFS,Hbase,Storm,Flume,Kafka,Mahout,Es等集成到了一块儿,终于不须要绞尽脑汁去折腾底层平台的搭建与配置了,简单的完成安装便可。这对于hadoop初学者来讲,可谓是福音了。网络

扯的稍微多了点,后面在给家分享DKHadoop的安装以及使用,今天想给你们分享的是大数据基础内容中的数据库:SQL与NOSQL。理解这两种数据,只须要搞清楚两者的概念以及有何不一样便可。oop

两者概念:性能

一、SQL数据库,指关系型数据库。主要表明:SQL Server,Oracle,MySQL(开源),PostgreSQL(开源)。学习

二、NoSQL泛指非关系型数据库。主要表明:MongoDB,Redis,CouchDB。测试

两者区别:大数据

SQL数据与NOSQL数据的区别其实仍是比较大的,总结起来基本能够从如下几个方面进行对比分析:设计

  1. 使用场景:SQL 是数字,它最适合明确的定义,精确规范的独立项目。典型的使用案例是在线商城和银行系统; NoSQL 是模拟,它最适合无固定要求的组织数据。典型的使用案例是社交网络,客户管理和网络分析系统。
  2. 存储方式:SQL数据存在特定结构的表中,SQL一般以数据库表形式存储数据。举个例子,存个学生借书数据:

NoSQL存储方式比较灵活,存储方式能够是JSON文档、哈希表或者其余方式。好比使用类JSON文件存储上表中熊大的借阅数据:3d

(3)SQL中若是须要增长外部关联数据的话,规范化作法是在原表中增长一个外键关联外部数据表。例如须要在借阅表中增长审核人信息,先创建一个审核人表:orm

     再在原来的借阅人表中增长审核人外键,这样若是咱们须要更新审核人我的信息的时候只须要更新审核人表而不须要对借阅人表作更新。

而在NoSQL中除了这种规范化的外部数据表作法之外,咱们还能用以下的非规范化方式把外部数据直接放到原数据集中,以提升查询效率。缺点也比较明显,更新审核人数据的时候将会比较麻烦。

(4)数据耦合性 :SQL中不容许删除已经被使用的外部数据,例如审核人表中的"熊三"已经被分配给了借阅人熊大,那么在审核人表中将不容许删除熊三这条数据,以保证数据完整性;而NoSQL中则没有这种强耦合的概念,能够随时删除任何数据。 

(5)查询性能:在相同水平的系统设计的前提下,由于NoSQL中省略了JOIN查询的消耗,故理论上性能上是优于SQL的。

相关文章
相关标签/搜索