为何使用非关系数据库

随着互联网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 »为何使用非关系数据库

php sql级别优化

1.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描。
2.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。
3.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:
select id from t where num is null
可以在num上设置默认值0,确保表中num列没有null值,然后这样查询:
select id from t where num=0
4.应尽量避免在 where 子句中使用 or 来连接条件,否则将导致引擎放弃使用索引而进行全表扫描,如:
select id from t where num=10 or num=20
可以这样查询:
select id from t where num=10
union all
select id from t where num=20 Continue reading »php sql级别优化

MongoDB与PHP

Windows PHP的MongoDB拓展的安装

windows下用php操作MongoDB需要安装驱动,所需dll可以到http://github.com/mongodb/mongo-php-driver/downloads 下载。比如我的php版本是5.2.6,我下载的就是mongo-1.0.9-php5.2vc6ts.zip。

把php_mongo.dll放到你php的ext目录,然后php.ini中加入

extension=php_mongo.dll

重启web服务器就可以了。是否成功可以通过查看phpinfo() 函数的结果中是否加载了MongoDB模块儿来判定。

与mysql对应的php下数据库管理工具phpmyadmin类似,MongoDB下的php数据库管理工具为phpmoadmin可以到http://www.phpmoadmin.com/ 这里下载,放到你的web路径下就ok。

现在你可以开始自己的php与MongoDB的开发之旅了。

 

Linux PHP的MongoDB拓展的安装 # wget http://pecl.php.net/get/mongo-1.2.6.tgz # tar zxvf mongo-1.2.6.tgz # cd mongo-1.2.6 # /usr/local/php/bin/phpize # ./configure –enable-mongo=share –with-php-config=/usr/local/php/bin/php-config # make && make installl

将生成的拓展mongo.so文件添加到php.ini中,重启php-fpm,然后查看下phpinfo()

请编辑php.ini文件。添加如下一行:

PHP Code复制内容到剪贴板 extension=mongo.so

然后用php输出:phpinfo,就可以看到mongo的信息了。。这样就说明你安装成功的了!

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安装

提升幽默的经典短句

1.别紧张,我又不是什么好人……
2.手拿菜刀砍电线,一路火花带闪电。
3.最近总是失眠,16小时就醒一次。
4.人人都说我丑,其实我只是美得不明显。
5.我从不以强凌弱~~~我欺负他之前真不知道他比我弱…
6.绅士无非就是耐心的狼。
7.我又不是人民币,怎么能让人人都喜欢我?!
8.你为什么不找个安静的地方自个儿数数脑细胞儿去?
9.知道你过得不好,我也就安心了。
10.人生只有三天,活在昨天的人迷惑;活在明天的人等待;活在今天的人最踏实。

11.通往成功的路,总是在施工中。
12.我由衷地想把赚钱变成我的业余爱好。
13.我曾经爱过的男孩,有着世界上最英俊的背影。
14.女子无才便是德,我一定是太缺德了。 Continue reading »提升幽默的经典短句