Mongodb
目录
1 MONGODB简介 1
1.1 NOSQL简介 1
1.2 MONGODB简介 2
1.3 MONGODB特性 2
1.4 MONGODB使用场景 2
2 MONGODB安装 2
2.1 WINDOWS平台安装 2
2.2 LINUX平台安装 3
1 Mongodb简介
1.1 NoSQL简介
NoSQL(Not Only Sql)指的是非关系型数据库。这类数据库主要有这些特点非关系型的,分布式的,开源的,水平扩展的,为大规模数据扩展应用而生。
当今传统的数据库在应对大型web的大数据规模和高并发动态数据已经显得力不从心,为此客服以下困难诞生了NoSQL数据库。
1, High performance 对数据库高并发读写的需求
Web2.0网站要根据用户个性化信息来实现生成动态页面和提供动态信息,所以无法使用动态页面静态化技术,因此数据并发负载非常高,往往达到没秒上万次读写,关系型数据库应对上次万次查询还能勉强顶住,但是应对上万次sql写数据库请求,就磁盘IO已经无法承受了,其实面对一些BBS网站,往往也存在对高并发写的需要。
2, Hug Storage 对海量数据库的高效率存储和访问的需求
对于大型web网站,每天会产生海量的用户动态信息,如微博,Friend feed等。一个月就能达到上亿条用户动态信息,对关系数据库来说在上亿条数据表中sql查询,效率是极其低下至不可忍受的。
3, High Scalability && High Avaliability 对数据的高扩展性和高可用性的需求
在web架构中,数据库最难的是进行横向扩展,当一个应用系统的用户量和访问量与日俱增的时候,数据库没发想web server和app server那样简单的添加更多的硬件和服务节点来扩展性能和负载能力。特别是对大型的数据库网站来说,数据结构经常发生改变,对书库系统进行升级和扩展非常痛苦,往往需要停机维护和数据迁移,可是对于24小时服务的应用系统,停机随之带来的就是公司收入的减少。
从上面的三高可以看到关系型数据库对应用系统面对难以克服的困难,同时关系型数据库很多主要的特性往往也是无用武之地的,如:
1, 数据库事务一致性需求
很多web系统并不要严格的数据库事务,对读一致性的要求很低,有些场合对写一致性的要求也不高,因此数据库事务管理成了数据库高负载的一个负担。
2, 数据库写实时和读实时性需求
对于关系数据库来说,插入一条数据之后立刻查询,是肯定可以读出这条数据的,但是对于很多web应用来说,并不是要求这么高的实时性。
3, 对复杂的sql查询和多表关联查询的需求
任何大数据web系统,都非常忌讳多个大表关联查询,要避免这些问题,可从产品设计角度来避免这种情况的产生,所以往往很多系统功能都是单表的主键查询,sql的功能被极大的弱化了。
NoSQL数据库打破了长久以来关系型数据库与ACID理论大统一的局面,NoSQL数据库不需要固定的表结构,通常也不操作连接操作,在大数据存取上具备关系型数库无法比拟的性能优势。
1.2 Mongodb简介
MongoDB是一种强大,灵活,可扩展的基于分布式文件存储的NoSQL数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案,官网地址:http://www.mongodb.org。
MongoDB是一中介于关系数据库和非关系数据库之间的产品,它扩展了关系型数据库的众多有用功能,如索引,范围查询,排序等功能,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型。它便于使用,对于开发者来说是非常友好的。它是一个面向集合,模式自由的文档型数据库。
1.3 Mongodb特性
(1) 文档是Mongodb中数据的基本单元,类似关系型数据库中的行。每个文档都有一个特殊的键“_id”,它在文档所处的集合中是唯一的。
(2) 集合是一组文档的集合,类似关系型数据库中的表,但集合是无模式的,这就意味着一个集合里面的文档可以使格式各样的。
(3) Mongodb的单个实例可以有多个独立的数据库,每个数据库都有自己的集合和权限。
(4) Mongodb自带非常简洁但功能强大的JavaScript shell,可以通过这个shell工具对mongodb数据库进行管理和操作数据库。
1.4 Mongodb使用场景
2 Mongodb安装
MongoDB的官网下载Mongodb安装包(http://www.mongodb.org/downloads),mongodb对各种操作系统支持很全面,如windows、linux、OS X、Solaris都支持,而且都有各自的32位和64位版本。目前比较新版本是2.0版本。可以根据不同操作系统下载不同版本的mongodb安装包。
版本选择:偶数的版本号是稳定版,奇数是开发版。
2.1 Windows平台安装
(1)下载mongodb安装包:选择windows版本的mongodb-win32-i386-2.0.6.zip下载。
(2)解压安装:将安装包mongodb-win32-i386-2.0.6.zip拷贝到c:\目录下解压可得mongodb文件包。
(3)设置数据目录:Mongodb默认使用c:\data\db作为数据目录(用于存放数据文件)。当然我们也可以自己创建一个自己定义的数据目录。如果用的不是默认数据目录,则启动时需要指定数据库目录。
(4)启动mongodb数据库:打开命令提示cmd,进入mongodb解压目录中,执行:
如果数据目录用的不是c:\data\db,那么启动时需要指出--dbpath参数值为数据目录。
更多启动先参数可以用mongod --help查看所有选项。
(5)客户端连接:新打开一个命令提示cmd,进入到mongodb安装目录c:\mongodb,执行:
Mongodb默认连接数据库为test。默认服务端口为27017。
2.2 Linux平台安装
(1)下载mongodb安装包:选择linux版本的mongodb-linux-i686-2.0.6.tgz下载。
(2)解压安装:将安装包mongodb-linux-i686-2.0.6.tgz拷贝到/apps目录下解压可得mongodb文件包。
(3)设置数据目录:Mongodb默认使用/data/db作为数据目录(用于存放数据文件)。当然我们也可以自己创建一个自己定义的数据目录。如果用的不是默认数据目录,则启动时需要指定数据库目录。
(4)启动mongodb数据库:进入mongodb解压安装目录中,执行:
如果数据目录用的不是/data/db,那么启动时需要指出--dbpath参数值为数据目录。
更多启动先参数可以用mongod --help查看所有选项。
(5)客户端连接:新打开一个会话,进入到mongodb安装目录c:\mongodb,执行:
**********************
未完待续
参考:
mongodb权威指南
mongodb实战
目录
1 MONGODB简介 1
1.1 NOSQL简介 1
1.2 MONGODB简介 2
1.3 MONGODB特性 2
1.4 MONGODB使用场景 2
2 MONGODB安装 2
2.1 WINDOWS平台安装 2
2.2 LINUX平台安装 3
1 Mongodb简介
1.1 NoSQL简介
NoSQL(Not Only Sql)指的是非关系型数据库。这类数据库主要有这些特点非关系型的,分布式的,开源的,水平扩展的,为大规模数据扩展应用而生。
当今传统的数据库在应对大型web的大数据规模和高并发动态数据已经显得力不从心,为此客服以下困难诞生了NoSQL数据库。
1, High performance 对数据库高并发读写的需求
Web2.0网站要根据用户个性化信息来实现生成动态页面和提供动态信息,所以无法使用动态页面静态化技术,因此数据并发负载非常高,往往达到没秒上万次读写,关系型数据库应对上次万次查询还能勉强顶住,但是应对上万次sql写数据库请求,就磁盘IO已经无法承受了,其实面对一些BBS网站,往往也存在对高并发写的需要。
2, Hug Storage 对海量数据库的高效率存储和访问的需求
对于大型web网站,每天会产生海量的用户动态信息,如微博,Friend feed等。一个月就能达到上亿条用户动态信息,对关系数据库来说在上亿条数据表中sql查询,效率是极其低下至不可忍受的。
3, High Scalability && High Avaliability 对数据的高扩展性和高可用性的需求
在web架构中,数据库最难的是进行横向扩展,当一个应用系统的用户量和访问量与日俱增的时候,数据库没发想web server和app server那样简单的添加更多的硬件和服务节点来扩展性能和负载能力。特别是对大型的数据库网站来说,数据结构经常发生改变,对书库系统进行升级和扩展非常痛苦,往往需要停机维护和数据迁移,可是对于24小时服务的应用系统,停机随之带来的就是公司收入的减少。
从上面的三高可以看到关系型数据库对应用系统面对难以克服的困难,同时关系型数据库很多主要的特性往往也是无用武之地的,如:
1, 数据库事务一致性需求
很多web系统并不要严格的数据库事务,对读一致性的要求很低,有些场合对写一致性的要求也不高,因此数据库事务管理成了数据库高负载的一个负担。
2, 数据库写实时和读实时性需求
对于关系数据库来说,插入一条数据之后立刻查询,是肯定可以读出这条数据的,但是对于很多web应用来说,并不是要求这么高的实时性。
3, 对复杂的sql查询和多表关联查询的需求
任何大数据web系统,都非常忌讳多个大表关联查询,要避免这些问题,可从产品设计角度来避免这种情况的产生,所以往往很多系统功能都是单表的主键查询,sql的功能被极大的弱化了。
NoSQL数据库打破了长久以来关系型数据库与ACID理论大统一的局面,NoSQL数据库不需要固定的表结构,通常也不操作连接操作,在大数据存取上具备关系型数库无法比拟的性能优势。
1.2 Mongodb简介
MongoDB是一种强大,灵活,可扩展的基于分布式文件存储的NoSQL数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案,官网地址:http://www.mongodb.org。
MongoDB是一中介于关系数据库和非关系数据库之间的产品,它扩展了关系型数据库的众多有用功能,如索引,范围查询,排序等功能,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型。它便于使用,对于开发者来说是非常友好的。它是一个面向集合,模式自由的文档型数据库。
1.3 Mongodb特性
(1) 文档是Mongodb中数据的基本单元,类似关系型数据库中的行。每个文档都有一个特殊的键“_id”,它在文档所处的集合中是唯一的。
(2) 集合是一组文档的集合,类似关系型数据库中的表,但集合是无模式的,这就意味着一个集合里面的文档可以使格式各样的。
(3) Mongodb的单个实例可以有多个独立的数据库,每个数据库都有自己的集合和权限。
(4) Mongodb自带非常简洁但功能强大的JavaScript shell,可以通过这个shell工具对mongodb数据库进行管理和操作数据库。
1.4 Mongodb使用场景
2 Mongodb安装
MongoDB的官网下载Mongodb安装包(http://www.mongodb.org/downloads),mongodb对各种操作系统支持很全面,如windows、linux、OS X、Solaris都支持,而且都有各自的32位和64位版本。目前比较新版本是2.0版本。可以根据不同操作系统下载不同版本的mongodb安装包。
版本选择:偶数的版本号是稳定版,奇数是开发版。
2.1 Windows平台安装
(1)下载mongodb安装包:选择windows版本的mongodb-win32-i386-2.0.6.zip下载。
(2)解压安装:将安装包mongodb-win32-i386-2.0.6.zip拷贝到c:\目录下解压可得mongodb文件包。
(3)设置数据目录:Mongodb默认使用c:\data\db作为数据目录(用于存放数据文件)。当然我们也可以自己创建一个自己定义的数据目录。如果用的不是默认数据目录,则启动时需要指定数据库目录。
(4)启动mongodb数据库:打开命令提示cmd,进入mongodb解压目录中,执行:
$ bin\mongod如果数据目录用的不是c:\data\db,那么启动时需要指出--dbpath参数值为数据目录。
$ bin\mongod –-dbpath=c:\db更多启动先参数可以用mongod --help查看所有选项。
(5)客户端连接:新打开一个命令提示cmd,进入到mongodb安装目录c:\mongodb,执行:
$ bin\mongo
MongoDB shell version2.0.6
Connecting to: test
>Mongodb默认连接数据库为test。默认服务端口为27017。
2.2 Linux平台安装
(1)下载mongodb安装包:选择linux版本的mongodb-linux-i686-2.0.6.tgz下载。
(2)解压安装:将安装包mongodb-linux-i686-2.0.6.tgz拷贝到/apps目录下解压可得mongodb文件包。
(3)设置数据目录:Mongodb默认使用/data/db作为数据目录(用于存放数据文件)。当然我们也可以自己创建一个自己定义的数据目录。如果用的不是默认数据目录,则启动时需要指定数据库目录。
(4)启动mongodb数据库:进入mongodb解压安装目录中,执行:
$ bin/mongod如果数据目录用的不是/data/db,那么启动时需要指出--dbpath参数值为数据目录。
$ bin/mongod –-dbpath=/db更多启动先参数可以用mongod --help查看所有选项。
(5)客户端连接:新打开一个会话,进入到mongodb安装目录c:\mongodb,执行:
$ bin/mongo
MongoDB shell version2.0.6
Connecting to: test
>**********************
未完待续
参考:
mongodb权威指南
mongodb实战
3466

被折叠的 条评论
为什么被折叠?



