实际使用NoSQL——MongoDB的一些体会

因为想使用JSON,而又不想使的数据存储变得过于庞大,出于这两点,MongoDB要比TouchDB更适合我的需求。

 

虽然MongoDB使用BSON存储数据,但是不管是我直接通过其控制台进行操作,还是进行C++的API调用,我们看到的都是JSON的文本格式,非常清晰。

 

当然我的整个数据库体系不光是MongoDB,还有RDBMS——MySQL,两种截然不同的数据库,各有所长,所以我用他们保存不同的数据,进行不同的操作,希望这个设计以后可以工作的很好。另一个方面,两个数据库的配合使用,也让我有了NoSQL针对原来的RDBMS相对简洁的比较,最直接的结果是,我发现NoSQL就是我前面几年朝思暮想的数据库——以前面对单一用户下两个以上树形数据的交叉引用的复杂性,在NoSQL中变得简单直观了,也因为此,我发现我可以减少很多事务的操作——是的,MongoDB不支持事务。

 

当我以用户为单位在MongoDB中存储数据之后,我发现的好处除了多树形结构的交叉引用外,还有很多其他好处,其中有一个我必须需要去描述的是,因为使用MongoDB可以做到对用户为单位的数据存储,我的C++后台程序不需要太多的维护内存的用户Session数据了,MongoDB映射到内存的用户索引数据,在使用MongDB C++ API之后,直接可以作为用户Session数据使用,^_^,我都不需要维护这些数据的同步和持久化了,即时我写的后台程序发生意外Crash,我也不担心数据的丢失,MongoDB会帮我维护好……基于此,我甚至可以优化我的分布式结构,可以通过MongoDB的分布式同步来设置多个后台处理节点,间接的实现服务的热备^_^。

 

看到网上说NoSQL的查询效率挺好,这个我也以后系统完成后,有一定数据后,我才能体会,但我现在已经相信这点了。但是网上有人说NoSQL对数据的增、删、改、查的效率不高,这个我在设计中已经注意了,以后数据量大后,我会持续优化这点。

 

也不想总结太多——今天不想打太多字,总之MongoDB不错。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值