作者carlcarl (carl)
看板Database
标题Re: [SQL ] 学习NoSQL是否先要有SQL基础
时间Fri Apr 13 05:02:54 2012
※ 引述《diabloevagto (wi)》之铭言:
: 大家好
: 最近想要研究看看资料库
: 发现说有SQL及NoSQL两种
: 但因为本身对於资料库没有基础,只是有兴趣想研究看看
: 但找了一下好像很少关於这两种的比较
: 请问大家这两个的优劣在那边?
: 另外有借了Head First SQL这本书
: 请问如果要朝NoSQL方向前进的话,是否需要有SQL的基础呢?
: 如我需要的话除了Head First SQL之外是否有推荐新手入门的书呢?
: 以上三个问题麻烦大家了
以query的使用上来讲 你可以把nosql当成sql的阉割板
nosql的使用限制很多 不像sql可以做到较复杂的查询
限制依各种资料库而有不同 不过大多不支援join语法(变成你要另外写程式解决掉)
不过当然也要看应用 你拿需要复杂查询的应用搭配nosql可能本身就不太适合
nosql以架构还有分成几种类型 document-oriented, column-oriented...,etc.
架构的不同 也会影响到应用的层面
语法支援来讲
跟sql比较像的就mongodb
另外还有hbase cassandra 等, 这些在限制上个人认为是更多
nosql主要解决的是scalability的问题
sql在遇到效能瓶颈的时候 就会有调整效能的必要
一般可能都会考虑将机器效能提高 (垂直扩展)
但是一来升级机器需要较高的成本 再者升级机器到最後也是会有个极限在
加机器(横向扩展)的效果则是有限
如果用master/slave的架构 一开始可能还OK
但是写入量一大 还是会承受不住
nosql的设计则能透过增加机器数有效提高效能这样
但是如果流量+资料量不大 通常一般还是会用sql比较多 毕竟比较方便好用
也比较会被滥用就是了XD
至於该先学哪个 我觉得还是先从sql下手吧
nosql也不是什麽都能够应用 先学sql感觉会比较好
书的话 我也只有买深入浅出sql而已 所以可能要问别人看看~~
资料的话 我觉得比较还满多的啊 nosql sql google下去就一堆了@@
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.127.141.84
1F:推 diabloevagto:感谢你的分享,看到nosql满夯的 04/13 12:54
2F:→ diabloevagto:看来我还是先把sql基础打好,再来接触nosql好了 04/13 12:54