您的位置:首页 > 数据库 > Mongodb

菜鸟的mongoDB学习---(一)安装与简介

2015-06-18 14:16 585 查看

什么是NoSQL?

NoSQL,指的是非关系型的数据库。NoSQL有时也称作Not Only SQL的缩写,是对不同于传统的关系型数据库的数据库管理系统的统称。

NoSQL用于超大规模数据的存储。(例如谷歌或Facebook每天为他们的用户收集万亿比特的数据)。这些类型的数据存储不需要固定的模式,无需多余操作就可以横向扩展。

为什么使用NoSQL ?

今天我们可以通过第三方平台(如:Google,Facebook等)可以很容易的访问和抓取数据。用户的个人信息,社交网络,地理位置,用户生成的数据和用户操作日志已经成倍的增加。我们如果要对这些用户数据进行挖掘,那SQL数据库已经不适合这些应用了, NoSQL数据库的发展也却能很好的处理这些大的数据。

RDBMS vs NoSQL

RDBMS

- 高度组织化结构化数据

- 结构化查询语言(SQL) (SQL)

- 数据和关系都存储在单独的表中。

- 数据操纵语言,数据定义语言

- 严格的一致性

- 基础事务

NoSQL

- 代表着不仅仅是SQL

- 没有声明性查询语言

- 没有预定义的模式

-键 - 值对存储,列存储,文档存储,图形数据库

- 最终一致性,而非ACID属性

- 非结构化和不可预知的数据

- CAP定理

- 高性能,高可用性和可伸缩性

NoSQL的优点/缺点

优点:

- 高可扩展性
- 分布式计算
- 低成本
- 架构的灵活性,半结构化数据
- 没有复杂的关系

缺点:

- 没有标准化
- 有限的查询功能(到目前为止)
- 最终一致是不直观的程序

ACID vs BASE

ACIDBASE
原子性(Atomicity)基本可用(Basically Available)
一致性(Consistency)软状态/柔性事务(Soft state)
隔离性(Isolation)最终一致性 (Eventual consistency)
持久性 (Durable)

什么是MongoDB ?

MongoDB 是由C++语言编写的开源数据库系统。

在高负载的情况下,添加更多的节点,可以保证服务器性能。

MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。

MongoDB 将数据存储为一个文档。MongoDB是一个基于分布式文件存储的数据库。

FirstName="Arun", Address="St. Xavier's Road", Spouse=[{Name:"Kiran"}], Children=[{Name:"Rihit", Age:8}].

FirstName="Sameer",Address="8 Gandhi Road".

注意:以上数据有两个不同的文档(以"."分隔)。以这种方式存储数据即为文件存储的数据库。 MongoDB是一个面向文档的数据库。

主要特点

MongoDB的提供了一个面向文档存储,操作起来比较简单和容易。
你可以在MongoDB记录中设置任何属性的索引 (如:FirstName="Sameer",Address="8 Gandhi Road")来实现更快的排序。
你可以通过本地或者网络创建数据镜像,这使得MongoDB有更强的扩展性。
如果负载的增加(需要更多的存储空间和更强的处理能力) ,它可以分布在计算机网络中的其他节点上这就是所谓的分片。
Mongo支持丰富的查询表达式。查询指令使用JSON形式的标记,可轻易查询文档中内嵌的对象及数组。

MongoDb 使用update()命令可以实现替换完成的文档(数据)或者一些指定的数据字段 。
Mongodb中的Map/reduce主要是用来对数据进行批量处理和聚合操作。
Map和Reduce。Map函数调用emit(key,value)遍历集合中所有的记录,将key与value传给Reduce函数进行处理。
Map函数和Reduce函数是使用Javascript编写的,并可以通过db.runCommand或mapreduce命令来执行MapReduce操作。
GridFS是MongoDB中的一个内置功能,可以用于存放大量小文件。
MongoDB允许在服务端执行脚本,可以用Javascript编写某个函数,直接在服务端执行,也可以把函数的定义存储在服务端,下次直接调用即可。
MongoDB支持各种编程语言:RUBY,PYTHON,J***A,C++,PHP,C#等多种语言。
MongoDB安装简单。

MongoDB 下载

MongoDB提供了可用于32位和64位系统的预编译二进制包,你可以从MongoDB官网下载安装,MongoDB预编译二进制包下载地址:

http://www.mongodb.org/downloads

具体安装的话自我感觉还是ubuntu比较简单,也比较方便,windows也不难,下载之后解压双击安装即可,可是还是得看一下windows下的命令行,之后的测试环境基本都是ubuntu 12.04。

直接命令行输入sudo apt-get install mongodb。

当然你也可以安装munin监控mongodb的运行情况,和可视化界面的rockmongo来实现简单的操作。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: