本篇文章但针对于想学习mongdb,但却对nosql理解颇微的人群学习。
教程一共会有三个系列,第一篇要说的就是,什么是数据库。
首先我们要说的就是,关系型数据库:
mysql,sqlserver,oracle
与非关系型数据库的区别。
Memcached,Redis,mongoDB
分类 | Examples举例 | 典型应用场景 | 数据模型 | 优点 | 缺点 |
---|---|---|---|---|---|
键值(key-value) | Tokyo Cabinet/Tyrant, Redis, Voldemort, Oracle BDB | 内容缓存 主要用于处理大量数据的高访问负载 也用于一些日志系统等等。 |
Key 指向 Value 的键值对 通常用hash table来实现 |
查找速度快 | 数据无结构化,通常只被当作字符串或者二进制数据 |
列存储数据库 | Cassandra, HBase, Riak | 分布式的文件系统 | 以列簇式存储 将同一列数据存在一起 |
查找速度快,可扩展性强,更容易进行分布式扩展 | 功能相对局限 |
文档型数据库 | CouchDB, MongoDb | Web应用(与Key-Value类似,Value是结构化的,不同的是数据库能够了解Value的内容) | Key-Value对应的键值对 Value为结构化数据 |
数据结构要求不严格,表结构可变,不需要像关系型数据库一样需要预先定义表结构 | 查询性能不高,而且缺乏统一的查询语法。 |
图形(Graph)数据库 | Neo4J, InfoGrid, Infinite Graph | 社交网络,推荐系统等。专注于构建关系图谱 | 图结构 | 利用图结构相关算法。比如最短路径寻址,N度关系查找等 | 很多时候需要对整个图做计算才能得出需要的信息,而且这种结构不太好做分布式的集群方案。 |
接下来我们来说一说关系型与非关系形数据库的优缺点:
1.成本
nosql相对而言成本要比oracle这类数据库的部署要轻松简便许多。
这点,在接触过oracle与sqlserver的同学在接触与了解nosql后,一定会大为赞同。
抛开部署之外,就是价格,再作为一个支撑正版而言程序员而言,没有什么比开源两字更吸引人的。
即便是在一个企业当中,批量购买oracle也会花费大量的成本。
2.速度
众所周知,关系性数据库的储存位置不论是本地还是部署于服务器之上。
所有的数据库,都会在本地扎根。
大量的读写集中在一个数据库上
而nosql,则是将数据在缓存之中储存,故而nosql查询的速度,是要远胜关系型数据库的。
3.储存类型
储存类型这一点,在我看来,是nosql的重中之中。
相信在nosql还未兴起的时候,想要在只支持基础类型的关系型数据库中存储键值,文档图片,集合等等,是一件颇为苦恼的事情。
但nosql的出现,完全解决了这个问题,它能够完美的解决各种储存类型,不论是性能还是速度都是十分方便。
-----------------------------------------------此处应有分割线-----------------------------------------------------
关系型数据库的缺点说了这么多,不妨我们来夸夸它。
在复杂的查询之中,关系型数据库可以通过sql语句在多表之间进行复杂的查询。
这一点,是nosql不及之处,当然还有事务的支持使得安全性大大的提高。
在关系型数据库之中,数据库的一致性往往十分重要,且有十分标准。
这就是关系型数据库最大的优势。
开始正文
好,在简单了解了关系性数据库和nosql的不同之后,我们回归今天的主题,学习MongDB。
我们在上文的表格中,可以了解到的是,MongDB是在nosql的分类之中,属于文档形数据库。
当然也是文档性数据库中较为优秀的一类。
它可以存放的类型有很多,例如xml,json,bson。
尤其是json格式的数据,类似于博客的应用,自然少不了他的存在。
今天的干货不多,我们在最后的介绍一番MongoDB的持久化原理,就开始我们的安装步骤
对于初学者而言,网上大部分的理论而言,都有几分晦涩难懂,所以我们长话短说。
举个简单的例子,mysql每一次的读写操作都会直接写入硬盘。
而mongodb却不会,他的每一次数据库操作都会写入内存,再持久化进去硬盘之中。
具体的持久化操作我们暂且不谈,直接进入正文!
真·正文
1.下载
首先我们进入https://www.mongodb.com/官网,会看到如下首页
直接点击黄色剪头所指向的位置。
选择社区服务器,我们会看到windows与linux以及osx,大家根据自己的操作系统来下载即可
本人的操作系统为64位的windows,所以,在我几番尝试点击Download都不管用的时候,我选择了放弃。
直接点击黄色剪头所指向位置
进行自取,当然也要注意后缀,压缩包版本的,对于windows而言并不推荐,所以我们选择msi。
2.安装
在我们得到mongodb-win32-x86_64-2008plus-ssl-4.0.3-rc0-signed.msi安装包的时候。
点击安装就完事了。
选择Custom自定义安装目录。
在此请选择和我一样的路径目录,别问我为什么,当年我也没有问出个什么。
无脑下一步后,到这里停顿。
将左下角的勾选按钮取消,否则MongoDB的安装则不会顺利的进行。
因为可视化工具的原因,安装会停滞不前。
安装就此告一段落,接下来我们进行下一步。
3.进行操作
感谢各位的支持(未完待续)
参考博客地址:https://blog.csdn.net/longxingzhiwen/article/details/53896702