篇一 :mongodb 阶段性技术总结

mongodb阶段性技术总结

生产环境最佳实践

1.linux 系统:

1】关闭文件系统/分区的atime 选项

Vi /etc/fstab

在对应的分区项后面添加noatime ,nodiratime

LABEL=/1 / ext3 defaults 1 1

LABEL=/data1 /data ext4 defaults,noatime,nodiratime 1 2 2】设置文件句柄4k+,目前该配置已经集成到启动脚本中。 Vi /etc/security/limit.conf

* soft nproc 65536

* hard nproc 65536

* soft nofile 65536

* hard nofile 65536

3】不要使用large vm page (不要使用大内存页选项)

大内存页参考:http://linuxgazette.net/155/krishnakumar.html 4】用dmesg 查看主机的信息。

2.linux 文件系统的选择:

Mongodb 采用预分配的大文件来存储数据,我们推荐

1】ext4

2】xfs

3.内核版本:

网络上对2.6.33-31 以及2.6.32 的表现持怀疑度, 而强力推荐2.6.36

4.线程堆栈的尺寸

默认的线程堆栈尺寸为10m ,调整为1m ,已经集成在启动脚本中。

项目过程中的总结与建议

1.大小写问题

mongodb 是默认区分大小写的,但是这会不会衍生出跟 一样的问题?(mysql 区 分大小写,导致windows 与linux 下的表名,字段名不一致)。

如果无特别用途,建议表名,字段名全部用小写字母。

2.尽可能的缩短字段名的长度

mongodb 的schema free 导致了每笔数据都要存储他的key 以及属性,这导致了这些数 据的大量冗余。开发同事也许考虑到,从易读性出发设计的key 基本比较长,基本都是按 照起字面意思去设计的。这导致key 很长。对应的数据存储占用了很大的空间。 必要的时候,可以考虑建立一个key 与实际意义的map 表,尽量降低key 的长度。 示例定义:

…… …… 余下全文

篇二 :Redis配置文档和mongodb配置文档

Redis配置文档

一、Redis的安装

1. 操作系统centOs5.8。

2. Download,extract and compile Redis with:

$wget

$tar xzf redis-2.4.17.tar.gz

$cd redis-2.4.17

$make

$make install

3. Terminal运行redis:

$./src/redis-server

4. 新打开Terminal,进行redis的客户端程序并测试

$./src/redis-cli

redis>set foo bar

OK

redis>get foo

“bar”

二、Redis扩展的配置

1. 操作系统centOs5.8。

2. 配置apache,php。

(1) Apache安装包httpd-2.2.11.tar.gz

Php安装包php-5.2.9.tar.gz

(2) 一般情况下,Linux默认安装了Apache。如果已经安装Apache,那我们就

先把它协卸载掉。

(3) 查看是否安装Apache通过命令

rpm -qa | grephttpd

可以看到是已经安装了httpd-2.2.3-11.el5_1.centos.3 那我们就把它卸载掉。 rpm -e httpd-2.2.3-11.el5_1.centos.3

如果出现这样的错误

error: Failed dependencies: httpd>= 2.2.0 is needed by (installed)

gnome-user-share-0.10-6.el5.i386

这里要先把gnome-user-share-0.10-6.el5.i386卸载掉,再卸载apache。 rpm -e gnome-user-share-0.10-6.el5.i386

…… …… 余下全文

篇三 :Php操作mongodb的基本操作

Php操作mongodb的基本操作—增删改查

1. 连接mongodb数据库

直接实例化mongo类+创建连接:

$mo = new Mongo();//得到一个Mongo连接对象

实例化了一个Mongo类,并且与默认的localhost:27017端口的mongoDB建立连接。 如果相联系其他的mongodb数据库,可以如下方式:

$mongo = new Mongo("mongodb://username:password@192.168.1.22:端口号"); 另外一种防暑,实现mongo类,手动连接

另外一种方式,实例化mongo类,再手动建立连接:

$mongo=new

Mongo("mongodb://username:password@192.168.1.22:12345",array('connect'=>false));//初始化类

$mongo->connect();

Mongo类中有用的一些方法:

Mongo::listDBs()

返回一个包含当前mongo服务上的库(DB)信息的数组。

$mo = new Mongo();

$dbs = $mo->listDBs();//获得一个包含db信息的数组

Mongo::selectCollection($db,$coll)

返回一个当前连接下的某db中的collection对象。

$mo = new Mongo();

$coll = $mo->selectCollection(’db’,'mycoll’);//得到一个collection对象

选择要操作的数据库:

第一种方式:

$mongo = new Mongo();

$db = $mongo->db;//得到一个MongoDB对象

…… …… 余下全文

篇四 :Linux下MongoDB服务的安装及配置

Linux下MongoDB服务的安装及配置:

分布式文档存储数据库 MongoDB:

MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。

它的特点是高性能、易部署、易使用,存储数据非常方便。主要功能特性有:

? 面向集合存储,易存储对象类型的数据。

? 模式自由。

? 支持动态查询。

? 支持完全索引,包含内部对象。

? 支持查询。

? 支持复制和故障恢复。

? 使用高效的二进制数据存储,包括大型对象(如视频等)。

? 自动处理碎片,以支持云计算层次的扩展性

? 支持RUBY,PYTHON,JAVA,C++,PHP等多种语言。

? 文件存储格式为BSON(一种JSON的扩展)

? 可通过网络访问

所谓“面向集合”(Collenction-Orented),意思是数据被分组存储在数据集中,被称为一个集合(Collenction)。每个 集合在数据库中都有一个唯一的标识名,并且可以包含无限数目的文档。集合的概念类似关系型数据库(RDBMS)里的表(table),不同的是它不需要定 义任何模式(schema)。

模式自由(schema-free),意味着对于存储在mongodb数据库中的文件,我们不需要知道它的任何结构定义。如果需要的话,你完全可以把不同结构的文件存储在同一个数据库里。

存储在集合中的文档,被存储为键-值对的形式。键用于唯一标识一个文档,为字符串类型,而值则可以是各中复杂的文件类型。我们称这种存储形式为BSON(Binary Serialized dOcument Format)。

…… …… 余下全文

篇五 :Mongodb安装手册

mongodb安装手册

文档编号:

20##年4月


目录

1       概术... 4

1.1         编写目的... 4

1.2         相关术语... 4

1.3         本例环境... 4

2       Mongodb安装... 4

2.1         Mongodb下载... 4

2.2         解压Mongodb. 5

2.3         建立数据文件与日志文件... 5

2.4         建立配置文件... 5

2.5         开启mongodb服务... 5

2.6         进入客户端... 6

3       安装问题处理... 6

3.1         开启错误时遇到错误... 6

…… …… 余下全文

篇六 :MongoDB安装及使用

mongodb由C++写就,其名字来自humongous这个单词的中间部分,从名字可见其野心所在就是海量数据的处理。关于它的一个最简洁描述为:scalable, high-performance, open source, schema-free, document-oriented database。MongoDB的主要目标是在键/值存储方式(提供了高性能和高度伸缩性)以及传统的RDBMS系统(丰富的功能)架起一座桥梁,集两者的优势于一身。

安装及使用:

主要介绍在Windows 与 Linux 下的安装与启动

下载链接:/display/DOCS/Downloads

-----------------------------------------------------------------------------------

Windows

推荐下载版本1.4.3(Windows 32 bit)

下载链接:/win32/mongodb-win32-i386-1.4.3.zip

假设安装路径在E:\mongodb,设置Mongodb数据库的数据路径E:\data\mongodb 开启命令行(开始——运行)

输入以下命令:

1. mongod命令建立一个mongodb数据库链接,数据存放路径为E:\data\mongodb E:

cd mongodb\bin

mongod.exe –port 11111 –dbpath E:\data\mongodb

2.链接已有的mongodb数据库

E:

cd mongodb\bin

mongo.exe 192.168.135.212:10001

-----------------------------------------------------------------------------------

…… …… 余下全文

篇七 :JAVA对MongoDB的操作

java 对mongodb的操作

1.1Java连接mongodb数据库

1.1.1连单台mongodb

Mongo mg = newMongo();//默认连本机127.0.0.1 端口为27017 Mongo mg = newMongo(ip);//可以指定ip 端口默认为27017 Mongo mg = newMongo(ip,port);//也可以指定ip及端口号

1.1.2连双台mongodb

//ip为主机ip地址,port为端口号,dataBaseName相当于数据库名 DBAddress left = new DBAddress("ip:port/dataBaseName"); DBAddress right = new DBAddress("ip:port/dataBaseName"); //若一个mongodb出现问题,会自动连另外一台

Mongo mongo = new Mongo(left, right);

1.1.3连多台mongodb

List<ServerAddress> mongoHostList = newArrayList<ServerAddress>(); mongoHostList.add(newServerAddress("ip",port));

mongoHostList.add(newServerAddress("ip",port));

mongoHostList.add(newServerAddress("ip",port));

Mongo mg = newMongo(mongoHostList);

2.1获取mongodb的db

dataBaseName相当于关系数据库里的数据库名,mongodb中若没有该数据库名也不会报错,默认mongodb会建立这个数据库名,为空。

…… …… 余下全文

篇八 :mongod测试

创建数据库目录D:\MongoDB\data

mongod测试

,接下来打开命令行窗口,切换到D:\MongoDB\bin 目录执行如下命令:

其中 --dbpath是指定数据库存放目录,这里要注意有两个 "-"

mongod --dbpath D:\MongoDB\data

这是命令行窗口会打印一些启动信息,最后一行显示为如下信息时表示启动成功了

2014-04-23T10:38:48.391+0800 [initandlisten] waiting for connections on port 27017 这是在浏览器输入http://localhost:27017/可以看到显示信息为

It looks like you are trying to access MongoDB over HTTP on the native driver port.

具体截图如下:

到此

mongod测试

mongodb算是安装完了,比想象中简单了太多哈

MongoDB安装为Windows服务

将mongodb安装为windows服务非常简单只需要在上面执行的命令行后添加 --install即可

mongod --dbpath D:\MongoDB\data --install

按照正常的剧情,应该服务就安装成功了,但是很不幸,出现下面提示

--install has to be used with --logpath

按照提示,我们需要指定log目录,所以我们创建log目录D:\MongoDB\logs 然后重新执行命令

mongod --dbpath D:\MongoDB\data --logpath=D:\MongoDB\logs\mongodb.log --logappend

但是提示还是没有指定日志路径,几经折腾发现这是2.6版本的一个bug,将会在下一个版本修复,然后我们有两个选择,一个选择是使用上一个版本2.4.9,另一个选择是先用

…… …… 余下全文