菜鸟的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
ACID | BASE |
---|---|
原子性(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来实现简单的操作。
相关文章推荐
- 在WIN7下安装运行mongodb
- Mongodb的副本、分片搭建方式
- MongoDB副本集配置系列七:MongoDB oplog详解
- mongodb update更新一条和更新多条
- mongodb 学习笔记 01 -- 概述,安装,运行
- mongodb安装及启动
- centos linux lampp安装mongodb 驱动
- Mongodb的一些小技巧
- Mongodb内嵌文档的查询
- MongoDB 学习笔记(python操作)
- ThinkPHP3.2对MongoDB的基本操作
- php操作MongoDB类实例
- mongodb mysql对比
- MongoDB 的 GridFS 详细分析
- MongoDB 的 GridFS 详细分析
- MongoDb的bin目录下文件mongod,mongo,mongostat命令的说明及使用
- MongoDb的bin目录下文件mongod,mongo,mongostat命令的说明及使用
- MongoDB副本集配置系列六:定位MongoDB慢的原因
- MongoDB副本集配置系列五:副本集的在线迁移
- mongodb进行java调用方法