###SQL和NoSQL表现区别:
1. 在数据库的结构上更倾向于多个树状集合,而不是SQL的库,表,列,数据的层级结构。
MongoDB的基本数据单位有库,文档及其数据,但实际上都可以当作一个树来看待,操作非常灵活便捷。
2. 没有按规律自增加1的ID,而使用唯一按顺序自增的ObjectId表示,这个特性保证了每个数据id的唯一性,比Sql的同一个表内唯一id要好,而且更利于数据分片。
3. 批量操作开销更小,每次批量操作只有一个消息头,而非SQL中每个列的操作都要带消息头。
4. 并发问题上:更新操作先到达服务器的先执行,所以最后的可能会覆盖以前所有的更新。
5. 增加了很多数据库自带函数,对ORM要求不高。
6. 天生分布式。自带数据分片和负载均衡功能。
7. 有游标的存在,相当于多个遍历中的指针和静止指针,在某些情况下,取数据的时候不用每次开始从头查询。
###笔记
1. "$inc"修改器增加(或减少)数字
db.test.update({查询条件},
{"$inc": {"previews": 1} })
2. "$set"修改器创建值或更新值。
3. "$unset"删除值。
4. 数组操作:"$push", "$ne", "$addToSet", "$pop", "$pull"。
5. upsert
6. 在查询中,$lt在内层文档,$inc则是外层文档的键,基本可以肯定,条件句是外层文档的键,而修改器是外层文档的键。
7. 不是非常必要时,避免使用$where子句,它们在速度上比常规查询慢很多,每个文档都要从BSON对象转化为JS对象后运行。
###小贴士
1. 使用更新修改器时"$"在Perl和PHP中会将字符串替换成变量,所以在这两门语言中要将"$"转义或设置为其它。
2. 进行单个更新前,如果查询条件匹配了多个文档——并更新多个文档时,数据库会报错。
###总结:
NoSQL更加灵活快捷,但没有SQL健壮,所以NoSQL更适用于互联网应用,而SQL适合传统软件。(当然,应以具体的项目需求而选择数据库。),大中型互联网项目可以结合两者。比如Log文件这类没有事务业务需求的数据很适合NoSQL。
读后感及使用MongoDB时的粗浅映像。
《MongoDB权威指南》热门书评
-
读后感及使用MongoDB时的粗浅映像。
9有用 0无用 高等游民白乌鸦 2013-01-11
###SQL和NoSQL表现区别:1. 在数据库的结构上更倾向于多个树状集合,而不是SQL的库,表,列,数据的层级结构。MongoDB的基本数据单位有库,文档及其数据,但实际上都可以当作一个树来看待,操作非常灵活便捷。2. 没有按规律自增加1的ID,而使用唯一按顺序自增的ObjectId表示,这个特...
-
orm 都可以去死了
6有用 5无用 timger 2011-04-01
今天一不留神竟然看了一半内容实在有点颠覆我对数据的看法之前无论mysql 还是其他 用着没一个爽的python下用orm 操作感觉舒服点看完mongodb 发现里面的操作都函数化了直接和orm没啥区别了而且天生的分布式支持很有前景 推荐大家看...
-
比较规规矩矩的指南书吧
5有用 1无用 陆离 2011-06-08
看过官网的文档,再看这本书,不是很有感觉啊……不过懒得看英文的童鞋还是可以看看的,因为官方的文档有很多木有汉化……书本较薄,172页,挺快就看完了MongoDB很好用,如果只是一般的用,看完前面几章也差不多。...
-
推荐另外本mogndb 50 tips的
3有用 0无用 pinkdawn 2011-06-16
书非常薄,不到200页,就是个操作指南,怎么建数据库,增删改,创建用户,分配权限,备份,索引,replica,shard等粗粗的说了说,基本上可以做为入门指南了。推荐o'reilly的另外一本 mongoDB 50 tips,另外一本就详细的说了一些设计,开发使用时应该避免的陷阱,和应该大力采用的技...
-
china-pub近期免费赠书活动大汇总
2有用 3无用 互动出版网 2011-06-15
1、china-pub新浪微博免费赠书(5本)#china-pub赠书#共5册,《云计算核心技术剖析》http://t.cn/hehwpJ《云计算(第二版)》http://t.cn/he3uWG《Linux内核设计与实现(原书第3版)》http://t.cn/aKbpeg《黑客与画家:硅谷创业之父P...
书名: MongoDB权威指南
作者:
出版社: 人民邮电出版社
原作名: MongoDB: The Definitive Guide
译者: 程显峰 | Michael Dirolf
出版年: 2011-5
页数: 172
定价: 39.00元
装帧: 平装
ISBN: 9787115251121

