MongoDB系列-初识MongoDB

为什么学习MongoDB?

最近,由于业务的发展,把数据存放在MySQL中已经很难实现。所以,也给自己一个很好的学习mongo的机会。然后,我作为一个初学者,我会把我自己的学习心得以及学习过程中踩过的坑用文字的形式把它记录下来。也作为自己的一个成长!

其实,只要当数据量一上来,关系型数据库就会觉得吃力,就没有NoSQL那么得心应手了,因为,关系型数据与NoSQL数据库使用的场景不同。(这里我到时候会整理一份关于关系型数据库与非关系型数据的总结)

这次选择使用MongoDB原因:
1、数据量上来了;
2、我们需要保存每一条数据的每个字段的生命周期;
3、我们要对每个字段添加附属信息(值、来源、创建时间、审核时间、是否在用、等等);
4、对于查询,我们需要从很多的维度来进行查询;
5、字段数量未知,可以随意的扩展。

当时,我们有HBase,MongoDB ...等等其他的NoSQL数据库,HBase对于数据的历史版本自己本身就支持,但是对于数据的查询确实太弱了。然而,对于MongoDB,不仅可以自己人为的控制历史版本(数组的形式),而且对于查询十分的强悍,与MySQL数据相比,基本的查询可以说全部都覆盖到了。MongoDB的集群模式也是非常的好的,可以横向的扩展。我作为初学者,也了解的不是特别的深,但是确实最适合我们现在的需求。

然后,当我看到mongodb的文档的时候,也是非常的欢喜。
这是官方网站: http://docs.mongodb.org/
中文翻译网站:http://docs.mongoing.com/manual-zh/

开源、开源、开源。这还有什么说的呢?

不过,大家也都说mongodb的坑多,不管如何。谁用谁知道?对吗?