论坛
门户
内部优惠
喜欢
话题
VIP会员
搜索
新浪微博
登录
注册
100%
100%
首页
>
网络技术
>
网络技术
>
SQL与NoSQL数据库入门基础知识详解
回复
« 返回列表
hadoop小学生
精灵王
注册日期
2018-09-13
发帖数
160
QQ
3234520070
火币
360枚
粉丝
0
关注
0
加关注
写私信
打招呼
阅读:
3182
回复:
0
SQL与NoSQL数据库入门基础知识详解
楼主
#
更多
只看楼主
倒序阅读
发布于:2018-12-19 13:58
保存
100%
100%
[]
1
这几年的
大数据
热潮带动了一激活了一大批
hadoop
学习爱好者。有自学hadoop的,有报名培训班学习的。所有接触过hadoop的人都知道,单独搭建hadoop里每个组建都需要运行环境、修改配置文件测试等过程。对于我们这些入门级
新手
来说简直每个都是坑。国内的发行版hadoop那么多,似乎都没有来填这样的坑?不知道是没法解决,还是没有想到?
安装运行环境这样的坑,那些做国产大数据底层开发的,如果不能解决这个问题的话,我觉得不是一个合格的大数据底层开发机构。不过比较幸运的是,三月的时候申请拿到了一个
DKHadoop的三节点发行版,大快开源的发行版hadoop。这个国产发行版就把各种常用的组建比如:HDFS,Hbase,Storm,Flume,Kafka,Mahout,Es等集成到了一起,终于不需要绞尽脑汁去折腾底层平台的搭建与配置了,简单的完成安装即可。这对于hadoop初学者来说,可谓是福音了。
图片:DKH大数据通用计算平台.jpg
扯的稍微多了点,后面在给家分享
DKHadoop的安装以及使用,今天想给
大家
分享的是大数据基础内容中的数据库:SQL与NOSQL。理解这两种数据,只需要搞清楚二者的概念以及有何不同即可。
二者概念:
1、
SQL数据库,指关系型数据库。主要代表:SQL
Server
,
Oracle
,
My
SQL
(
开源
)
,
Postgre
SQL
(
开源
)
。
2、
NoSQL泛指非关系型数据库。主要代表:
MongoDB
,
Redis
,
CouchDB
。
二者区别:
SQL数据与NOSQL数据的区别其实还是比较大的,总结起来基本可以从以下几个方面进行对比分析:
(1)
使用场景:
SQL
是数字
,它最适合明确的定义,精确规范的独立项目。典型的使用案例是在线商城和银行系统
;
NoSQL
是模拟,它最适合无固定要求的组织数据。典型的使用案例是社交网络,客户管理和网络分析系统。
(2)
存储方式:
SQL数据存在特定结构的表中,SQL通常以数据库表形式存储数据。举个例
子,存个学生借书数据:
图片:图片1.png
NoSQL存储方式比较灵活,存储方式可以是JSON文档、哈希表或者其他方式。比如使用类JSON文件存储上表中熊大的借阅数据:
图片:图片2.png
(
3
)
SQL中如果需要增加外部关联数据的话,规范化做法是在原表中增加一个外键关联外部数据表。例如需要在借阅表中增加审核人信息,先建立一个审核人表:
图片:图片3.png
再在原来的借阅人表中增加审核人外键,这样如果我们需要更新审核人个人信息的时候只需要更新审核人表而不需要对借阅人表做更新。
图片:图片4.png
而在
NoSQL中除了这种规范化的外部数据表做法以外,我们还能用如下的非规范化方式把外部数据直接放到原数据集中,以提高查询效率。缺点也比较明显,更新审核人数据的时候将会比较麻烦。
图片:图片5.png
(
4
)
数据耦合性
:
SQL中不允许删除已经被使用的外部数据,例如审核人表中的"熊三"已经被分配给了借阅人熊大,那么在审核人表中将不允许删除熊三这条数据,以保证数据完整性
;
而
NoSQL中则没有这种强耦合的概念,可以随时删除任何数据。
(
5
)
查询性能
:
在相同水平的系统设计的前提下,因为
NoSQL中省略了JOIN查询的消耗,故理论上性
能上是优于
SQL的。
喜欢
0
评分
0
最新喜欢:
DKHadoop用着还不错!
回复
100%
发帖
回复
« 返回列表
普通帖
您需要登录后才可以回帖,
登录
或者
注册
100%
返回顶部
关闭
最新喜欢