[原创]MongoDB C++ 驱动部分问题解决方案(MongoDB C++ Driver)

本文为我长时间开发以及修改MongoDB C++ Driver时的一些问题和解决方案。
目前本文所介绍的相关引擎也已经发布闭源版本,请自行下载

库版本以及相关位置:http://code.google.com/p/mongodb-cpp-engine/

Q & A
1、C++版本驱动我们需要另行封装么?
A:并非一定要做此类行为,不过如果我们增加和使用一个连接池其稳定性将远远优于我们的想想。

2、C++版本的驱动除了官方版本外,还有什么版本么?
A:目前未知,但我已经完成了一版线程安全的版本,下载地址:http://code.google.com/p/mongodb-cpp-engine/

3、如果在多线程中使用MongoDB官方C++驱动会如何?它是线程安全的么?
A:会发生很多数据错乱以及资源争抢而导致的问题,例如 Recv时数据包过大等异常。
同时可以明确的指出此版本的库为非线程安全的,使用时请特别注意。

4、服务器端开发时,MongoDB是否需要异步处理数据?
A:暂时不需要,依照我的另一篇文章指出,基本上在100万以内的数据不需要特别处理,性能也不会有所下降。

还有其他问题欢迎补充

收藏于 2012-06-20

时间: 2024-09-29 17:47:15

[原创]MongoDB C++ 驱动部分问题解决方案(MongoDB C++ Driver)的相关文章

使用VS2010编译MongoDB C++驱动详解

最近为了解决IM消息记录的高速度写入.多文档类型支持的需求,决定使用MongoDB来解决. 考虑到MongoDB对VS版本要求较高,与我现有的VS版本不兼容,在leveldb.ssdb.redis.hbase等NoSQL中转了一圈,最后还是选择了MongoDB,应了那句话:没有最好的,只有最合适的. MongoDB由于使用了C++的新特性,官方建议使用VS2013来编译,最低要求VS2010. MongoDB C++驱动编译过程较为复杂,官方也没有提供编译好的驱动包,网上的资料编译版本都比较老了

MongoDB核心贡献者:不是MongoDB不行,而是你不懂!

近期MongoDB在Hack News上是频繁中枪.许多人更是声称恨上了MongoDB,David mytton就在他的博客中揭露了MongoDB许多现存问题.然而恨的人有之偏爱的也同样很多,作为回击:Russell Smith带来了多年工作经验的总结.Russell Smith曾担任Ops和大型网站缩放顾问并且帮助过Guardian.Experian等多家公司,MongoDB London User Group的联合创始人.作为MongoDB Master(MongoDB官方认可的MongoD

基于C#的MongoDB数据库开发应用(1)--MongoDB数据库的基础知识和使用

在花了不少时间研究学习了MongoDB数据库的相关知识,以及利用C#对MongoDB数据库的封装.测试应用后,决定花一些时间来总结一下最近的研究心得,把这个数据库的应用单独作为一个系列来介绍,希望从各个方面来总结并记录一下这个新型.看似神秘的数据库使用过程.本文是这个系列的开篇,主要介绍一些MongoDB数据库的基础知识.安装过程.基础使用等方面. MongoDB是一款由C++编写的高性能.开源.无模式的常用非关系型数据库产品,是非关系数据库当中功能最丰富.最像关系数据库的数据库.它扩展了关系型

基于C#的MongoDB数据库开发应用(2)--MongoDB数据库的C#开发

在上篇博客<基于C#的MongoDB数据库开发应用(1)--MongoDB数据库的基础知识和使用>里面,我总结了MongoDB数据库的一些基础信息,并在最后面部分简单介绍了数据库C#驱动的开发 ,本文继续这个主题,重点介绍MongoDB数据库C#方面的使用和封装处理过程,利用泛型和基类对象针对数据访问层进行的封装处理. 前面介绍到,当前2.2版本的数据库C#驱动的API,支持两种不同的开发接口,一个是基于MongoDatabase的对象接口,一个是IMongoDatabase的对象接口,前者中

【MongoDB for Java】Java操作MongoDB

开发环境: System:Windows IDE:eclipse.MyEclipse 8 Database:mongoDB 开发依赖库: JavaEE5.mongo-2.5.3.jar.junit-4.8.2.jar 一.准备工作 1. 首先,下载mongoDB对Java支持的驱动包 驱动包下载地址:https://github.com/mongodb/mongo-java-driver/downloads mongoDB对Java的相关支持.技术:http://www.mongodb.org/

MongoDB(索引及C#如何操作MongoDB方面......)

索引总概况 db.test.ensureIndex({"username":1})//创建索引 db.test.ensureIndex({"username":1, "age":-1})//创建复合索引 数字1表示username键的索引按升序存储,-1表示age键的索引按照降序方式存储. // 该索引被创建后,基于username和age的查询将会用到该索引,或者是基于username的查询也会用到该索引,但是只是基于age的查询将不会用到该复

MongoDB(索引及C#如何操作MongoDB)(转载)

MongoDB(索引及C如何操作MongoDB) 索引总概况 db.test.ensureIndex({"username":1})//创建索引 db.test.ensureIndex({"username":1, "age":-1})//创建复合索引 数字1表示username键的索引按升序存储,-1表示age键的索引按照降序方式存储. // 该索引被创建后,基于username和age的查询将会用到该索引,或者是基于username的查询也会

MongDB基础学习(七)—— 【MongoDB for Java】Java操作MongoDB

[MongoDB for Java]Java操作MongoDB 开发的产品为了融资,不停得改版,从第一版到现在最新版本,最后发现公司发展方向都变了,有最初电子商务改成VR内容提供者(没办法,要别人钱,就得按照别人的规划的战略走).本来本章节会放到后面再做讲解,无奈,部门需要做一次培训任务,我就想到拿Java操作MongoDB作为培训内容,开发环境和依赖jar如下: (1)开发环境: System:Windows IDE:eclipse Database:mongoDB2.6 Maven:apac

centos上的mongodb的安装及php扩展mongodb

mongodb的官网https://www.mongodb.org,可在其上下载你想要的版本.下面是我的下载.安装及启动 curl -O -L https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.4.tgz tar -zxvf mongodb-linux-x86_64-3.0.4.tgz  cd mongodb-linux-x86_64-3.0.4 mkdir -p /usr/local/mongodb ln -s /usr/loc