MongoDb的用途
MongoDB是个好东西,唯一缺憾是目前的shard还比较初级,但可以在客户端做。
对于它的用途,目前初步的想法:
1. 实时的流量分析统计
使用Google统计固然好,但不够实时。使用MongoDb的特性倒是比较容易实现统计。
2. MogileFS的替代方案
对于mogileFS的替代方案,准备做2个尝试
1种是使用Flare构建,实际上Flare内置了一个fusefs,可以参考。
第二是用MogoDB搭建。最新的sf.net用mongo存储所有的项目页面和下载页面,算是一个成功的实例(它是使用TurboGear2实现的)。
mogo内置了gridFS的支持,虽然Perl不支持,但是PHP还是不错的,况且perl的gridfs实现也并不难。
我心里不是特确定的是它的能力,能够承载多大的数据量?
1T以上的数据是否可以承受? 如果不行,就需要考虑shard,这是目前一个短板。
此外,mogileFS的复制和冗余功能也需要考虑实现。
3. 整合服务的后端数据库
使用json可以将任何数据文档轻松存储,这对于聚合类的服务非常适合。
结合sphinx,可以轻松实现全文检索。
Comments
3 Responses to “MongoDb的用途”
Leave a Reply
我在 osx 10.6.2 下安装 php 的 mongo 扩展总是失败,有什么建议么?
pecl install mongo 之后得到的错误和手动编译一样:
cc ${wl}-flat_namespace ${wl}-undefined ${wl}suppress -o .libs/mongo.so -bundle .libs/mongo.o .libs/mongo_types.o .libs/bson.o .libs/cursor.o .libs/collection.o .libs/db.o .libs/gridfs.o -arch i386 -arch x86_64 -arch ppc -arch ppc64
ld: warning: in /usr/lib/bundle1.o, missing required architecture ppc64 in file
ld: warning: in /usr/lib/libSystemStubs.a, missing required architecture ppc64 in file
ld: warning: in /usr/lib/libSystem.dylib, missing required architecture ppc64 in file
ld: symbol dyld_stub_binding_helper not defined (usually in crt1.o/dylib1.o/bundle1.o) for architecture ppc64
collect2: ld returned 1 exit status
lipo: can’t open input file: /var/tmp//cclKzuLh.out (No such file or directory)
make: *** [mongo.la] Error 1
ERROR: `make’ failed
应该是你的xcode环境没有安装ppc64 sdk. 但是编译时候出现了编译ppc版本. 你可以手动把”-arch ppc -arch ppc64″ 去掉.
这应该是phpize的问题. 另外,你是否下载的是for tiger的mongodb?
搞定了,他的 .m4 文件有点问题,作者说在下一版本中会修正