《MongoDB 权威指南》 学习总结

书目   http://baike.baidu.com/link?url=DVJuvrT4ssbM8V1pKcoRx5H1CwRRCynC6_Ix6YWIrr414opislflpPuY9hRDO4g-Fr5vL9AfbsvamwaGpvN8G_

全书翻过+看过博文(http://www.cnblogs.com/huangxincheng/category/355399.html)+自己动手安装过mongoDB写过demo代码(Windows,c#)

总结如下:

  1. 语言不错,看着很舒服。像是自然语言、javascript、json的感觉 >db.food.find({"Age":27}),find,insert,update等不错
  2. 文档(记录,行)=》集合(表)=》数据库
  3. 总体来说非常容易拓展,不需要向关系型数据库(sqlserver)一样提前定义好表结构(各种列名、类型),可以直接插入Person {No,Name,Sex....}。
  4. 还可以直接写入复杂类型Person.Adress{Provice,City,Street,Detail....},这样就不必像之前关系型数据库一样纠结于多表外键连接,特麻烦。MongoDB这点,我很是喜欢。这点也保证了联查速度非常快,而且简单。
  5. 使用程序语言操纵MongoDB时需要根据语言安装对应的驱动。如果使用c#语言,那使用驱动(https://github.com/mongodb/mongo-csharp-driver/downloads)后就很简单,类似Linq,EF的感觉,不必纠结于CRUD的具体语句,只要GetCollection<T>,Update即可。当然这只是我的第一编码印象,也许细节上还是蛮复杂的。
  6. 分片,用于均衡数据,减少每台机器上的数据、以此减少访问量,用多机器来有效扩展、而不必购买大机器
  7. 主备复制用于保证数据的多备份、冗余防止意外发生,不过还是需要手动切换主备更改。副本集,用于自动化的容灾集群,有仲裁机器、副本、活跃、心跳判断等机制,自动的保证一个集群中必有一个可用。    这两者都不需程序控制,对程序透明、黑盒,无需关心。这样对程序员-DBA有好处
  8. 索引。类似关系型数据库
  9. 聚合函数  count,group。类似关系型数据库
  10. 文档的物理存储实体是Binary Json(BJSON)类型,轻量化的类似json文本,能将所有文档表示为字符串。
  11. 基本数据类型:数字、字符串、日期、数组、内嵌文档(子文档,上述提到的功能点4)

总体上MongoDB已经不是关系型数据库,在大数据处理、复杂数据处理、均衡分摊处理上很有优势。

官网  http://www.mongodb.org/downloads

学完了才发现,技术虽然在发展,但是基本概念、思想思路还是类似的。了解关系型DB、Javascript、Json 后再看 MongoDB,明显轻松、易于理解,技术的发展既有一脉相承、又有变化、解决旧有的矛盾提出新的方案。

时间: 2024-08-11 11:59:57

《MongoDB 权威指南》 学习总结的相关文章

MongoDB权威指南学习笔记4---查询相关的知识点

1 find find({查询条件},{"key":1,"email":1})  后面表示返回哪些键 2 可用的比较操作符 $lt , $lte,$gt,$gte 比如db.users.find({"age":{"$gte":18,"$lte":30}}) 3不等于 find(...{"key":{"$ne":"value"}} 4 in find

MongoDB权威指南学习笔记5---索引相关的知识点

1 查看查询计划 db.user.find({"username":"xxx"}) .explain() db.doc.find({"es_y":"2014"}).explain() {  "cursor" : "BasicCursor",  "isMultiKey" : false,  "n" : 0,  "nscannedObject

mongoDB权威指南学习笔记

//mongoDB第1-3章节添加,修改,修改器的笔记: //备注:和MySQL查询一样,时刻想着优化查询数据的时间和性能 //db.help() //数据库帮助信息 //db.blog.help() //集合帮助信息 //db.c.find().help() //返回find()方法的子方法信息 //清空集合数据 //db.blog.remove() //插入信息 //db.blog.insert({'title' : 'bbbbb', 'content' : 'bfbfbf', 'hits'

【MongoDB】探讨《MongoDB权威指南》书籍中的几点错误

今天进一步学习MongoDB,学习资料是<MongoDB权威指南>,详细见如下封面: 在阅读过程中发现了如下错误: 第一处:P29页批量插入,在书中讲到可以利用batchInsert函数实现批量插入,我运行时候发现系统提示没有这个方法.我用的软件是2.6.4.我以为是版本过低,然后下载2.6.6 最新版本进行测试,报同样的错误: Property 'batchInsert' of object student.students is not a function 后来查询用命令:db.stud

mongodb 权威指南 pdf

需要学习的同学可以通过网盘下载pdf: http://tadown.com/ls/yibenshu/ccecc15b/内容简介  · · · · · · mongodb如何帮你管理通过web应用收集的海量数据呢?通过本书的权威解读,你会了解面向文档数据库的诸多优点,会发现mongodb如此稳定.性能优越甚至能够无限水平扩展背后的原因. <mongodb权威指南>的两位作者来自开发并支持开源数据库mongodb的公司10gen.数据库开发人员可将此书作为参考指南,系统管理员可以从本书中找到高级配

Git权威指南学习笔记(一)Git初始化

1.在Git中配置用户名和邮件地址 $ git config --global user.name "Jymn_Chen" $ git config --global user.email "[email protected]" 注意把用户名和邮件地址替换成你自己的资料. 在这里的参数global表示配置的作用范围是当前用户,如果将参数改为system,那么配置的作用范围是系统中的所有用户. 2.创建版本库 新建一个目录并cd到目录中,执行以下命令: $ git i

Git权威指南学习笔记(二)Git暂存区

如下图所示: 左侧为工作区,是我们的工作目录. 右侧为版本库,其中: index标记的是暂存区(stage),所处目录为.git/index,记录了文件的状态和变更信息. master标记的是master分支所代表的目录树.HEAD指向master分支. objects标记的是Git的对象库,所处目录为.git/objects,文件索引建立了文件和对象库中对象实体之间的映射关系. 通过该图我们可以清晰地看出add,commit等命令的转化关系.下面通过git diff和git status两条命

Hadoop权威指南学习笔记二

MapReduce简单介绍 声明:本文是本人基于Hadoop权威指南学习的一些个人理解和笔记,仅供学习參考,有什么不到之处还望指出,一起学习一起进步. 转载请注明:http://blog.csdn.net/my_acm 上一篇介绍了什么是Hadoop.Hadoop的作用等.本篇相同基于Hadoop权威指南,结合迪伦的Hadoop的视频教程对MapReduce做一个介绍. 1. MapReduce是Hadoop的核心之中的一个.MapReduce分为两个部分,Mapper和Ruducer模块.简单

JavaScript权威指南学习笔记之一

1.关于分号 javascript里面不强制使用分号来表示一行语句的结束,但是最好能够在写js之前,特别是在原有的js上面新增时,最好前置一个分号.避免这种情况发生:  2.JavaScript类型转换 3.关于=== ①如果类型不同则不等 ②null===null或undefined===undefined ③true===true或false===false ④NaN不等 ⑤0===0 0===-0 ⑥如果是同一个object,array,function则相等 4.关于== ①如果已经==

Hadoop权威指南学习笔记三

HDFS简单介绍 声明:本文是本人基于Hadoop权威指南学习的一些个人理解和笔记,仅供学习參考.有什么不到之处还望指出,一起学习一起进步. 转载请注明:http://blog.csdn.net/my_acm Hadoop说白了就是一个提供了处理分析大数据的文件集群,当中最重要的无疑是HDFS(Hadoop Distributed File System)即Hadoop分布式文件系统. 1. HDFS是一种以流式数据訪问模式(一次写入多次读取的模式)存储超大文件的系统. 其不须要的高端的硬件系统