MongoDB

来源:互联网 发布:单片机如何写入程序 编辑:程序博客网 时间:2024/04/25 20:51
MongoDB: API: BSON, Protocol: lots of langs, Query Method: dynamic objectbased
language, Replication: Master Slave, Written in: C++,Concurrency: Update
in Place. Misc: ... Links: Talk »,
MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像
关系数据库的。他支持的数据结构非常松散,是 类似json的bjson格式,因此可以存储比较复杂的数
据类型。Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语 言,
几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。
Mongo主要解决的是海量数据的访问效率问题,根据官方的文档,当数据量达到50GB以上的时候,
Mongo的数据库访问速度是MySQL的 10倍以上。Mongo的并发读写效率不是特别出色,根据官方提
供的性能测试表明,大约每秒可以处理0.5万-1.5次读写请求。对于Mongo的并发读 写性能,我
(robbin)也打算有空的时候好好测试一下。
因为Mongo主要是支持海量数据存储的,所以Mongo还自带了一个出色的分布式文件系统GridFS,可
以支持海量的数据存储,但我也看到有些评论认为GridFS性能不佳,这一点还是有待亲自做点测试来

验证了。

最后由于Mongo可以支持复杂的数据结构,而且带有强大的数据查询功能,因此非常受到欢迎,很多
项目都考虑用MongoDB来替代MySQL来实现不是特别复杂的Web应用,比方说why we migrated
from MySQL to MongoDB就是一个真实的从MySQL迁移到MongoDB的案例,由于数据量实在太
大,所以迁移到了Mongo上面,数据查询的速度得到了非常显著的提升。
MongoDB也有一个ruby的项目MongoMapper,是模仿Merb的DataMapper编写的MongoDB的接
口,使用起来非常简单,几乎和DataMapper一模一样,功能非常强大易用。

原创粉丝点击