Mongodb 1.6与Mongodb 1.4并发性能对比

2010年8月5日,Mongodb 1.6正式发布了,这个版本增加和改进了很多功能,我了解的几个比较大的改进在:

 1) Mongodb存储文件申请磁盘空间的方式做了改进。在mongodb  1.4的时候是按128M,256M,512M,1024M,2048M这样的方式申请磁盘空间的;而在mongodb  1.6中,已经是动态小量的申请磁盘空间了。

 2) 增加了$or等查询操作符,这在mongodb 1.4的时候是没有的。

 3) 改进和提高了并发性能。 Continue reading »Mongodb 1.6与Mongodb 1.4并发性能对比

Install mongodb on bluehost

Oh,最近想在bluehost主机上安装MongoDB,于是google了一下,看到一篇博文(大意):

I want to install MongoDB on bluehost  recently. so I first  get some message from internet.

logging in, I typed:

uname -a

And received affirmation that this is a 64bit server. Or you can typed:

getconf   LONG_BIT

It will return 64.

Next, I went ahead and grabbed the current version from http://www.mongodb.org/downloads by doing:

wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-static-legacy-1.6.1.tgz
tar xzf mongodb-linux-x86_64-static-legacy-1.6.1.tgz Continue reading »Install mongodb on bluehost

为何使用非关系数据库

随着互联网web2.0网站的兴起,非关系型的数据库现在成了一个极其热门的新领域,非关系数据库产品的发展非常迅速。而传统的关系数据库在应付 web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,例如:

1、High performance – 对数据库高并发读写的需求
web2.0网站要根据用户个性化信息来实时生成动态页面和提供动态信息,所以基本上无法使用动态页面静态化技术,因此数据库并发负载非常高,往往要达到每秒上万次读写请求。关系数据库应付上万次SQL查询还勉强顶得住,但是应付上万次SQL写数据请求,硬盘IO就已经无法承受了。其实对于普通的 BBS网站,往往也存在对高并发写请求的需求,例如像JavaEye网站的实时统计在线用户状态,记录热门帖子的点击次数,投票计数等,因此这是一个相当普遍的需求。

2、Huge Storage – 对海量数据的高效率存储和访问的需求
类似Facebook,twitter,Friendfeed这样的SNS网站,每天用户产生海量的用户动态,以Friendfeed为例,一个月就达到了2.5亿条用户动态,对于关系数据库来说,在一张2.5亿条记录的表里面进行SQL查询,效率是极其低下乃至不可忍受的。再例如大型web网站的用户登录系统,例如腾讯,盛大,动辄数以亿计的帐号,关系数据库也很难应付。 Continue reading »为何使用非关系数据库

windows MongoDB安装

下载安装程序

http://www.mongodb.org/的下载页找到windows 32位的安装程序,实际是一个绿色的程序。本文以mongodb-win32-i386-1.6.0.zip 为例。

配置运行MongoDB

将下载下来的mongodb压缩包解压缩到目标目录,比如D:\mongodb ,先打开cmd命令行,输入:

d:\mongodb\bin>mongod.exe –dbpath d:\mongodb\db

这里的d:\mongodb 目录下没有db文件夹需要自己建立一个,此时mongod 进程运行起来,再打开一个cmd窗口,输入:

d:\mongodb\bin\mongo.exe

进入mongodb命令模式 Continue reading »windows MongoDB安装

PHP操作MongoDB

本教程[翻译自PHP官方手册]

MongoDB是最近比较流行的NoSQL数据库,网络上关于PHP操作MongoDB的资料太少了,大部分都是英文文档,于是蜗牛我用蹩脚的英语为大家翻译一下来自PHP官方的文档,水平有限请多多见谅

链接数据库 使用下面的代码创建一个数据库链接

<?php $connection = new Mongo(); //链接到 localhost:27017 $connection = new Mongo( “example.com” ); //链接到远程主机(默认端口) $connection = new Mongo( “example.com:65432″ ); //链接到远程主机的自定义的端口 ?>

现在你可以使用$connection链接来操作数据库了

选择数据库 使用下面的代码来选择一个数据库

<?php $db = $connection->dbname; ?>

这里的数据库并不一定是一个已经存在的数据库,如果所选择的数据库不存在,则会新建一个数据库,所以在选择数据库的时候,注意一定要填上正确的数据库名 如果拼写错误的话,很有可能会新建一个数据库

<?php $db = $connection->mybiglongdbname; //做一些事情 $db = $connection->mybiglongdbnme; //现在会连上一个新的数据库 ?>

获取一个集合 获取一个集合跟选择数据库拥有相同的语法格式

<?php $db = $connection->baz;//选择数据库 $collection = . . . → Read More: PHP操作MongoDB