作为当下最热门的NoSQL之一,下面我们就来看看它具体的优点与不足。
MongoDB的特性
- 简单的查询语句,没有Join操作
- 文档型存储,其数据是用二进制的Json格式Bson存储的。其数据就像Ruby的hashes,或者Python的字典,或者PHP的数组
- Sharding,MongoDB提供auto-sharding实现数据的扩展性
- GridFS,MongoDB的提供的文件存储API
- 数组索引,你可以对文档中的某个数组属性建立索引
- MapReduce,可以用于进行复杂的统计和并行计算
- 高性能,通过使用mmap和定时fsync的方法,避免了频繁IO,使其性能更高
MongoDB的优点
- 高性能,速度非常快(如果你的内存足够的话)
- 没有固定的表结构,不用为了修改表结构而进行数据迁移
- 查询语言简单,容易上手
- 使用Sharding实现水平扩展
- 部署方便
使用MongoDB,你得记住以下几点:
- MongoDB 假设你有大磁盘空间
- MongoDB 假设你的内存也足够大于放下你的热数据
- MongoDB 假设你是部署在64位系统上的(32位有2G的限制,试用还可以)
- MongoDB 假设你的系统是little-endian的
- MongoDB 假设你有多台机器(并不专注于单机可靠性)
- MongoDB 假设你希望用安全换性能,同时允许你用性能换安全
MongoDB在下面领域不太擅长
- 不太稳定,特别是auto-sharding目前还有很多问题
- 不支持SQL,这意味着你很多通过SQL接口的工具不再适用
- 持久化,MongoDB单机可靠性不太好,宕机可能丢失一段时间的数据
- 相关文档比较少,新功能都有这个问题
- 相关人才比较难找,这也是新功能的问题之一
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
作者
相关推荐
-
MongoDB与Cassandra数据库对比
MongoDB和Cassandra都属于NoSQL数据库系列,它们也恰好都是开源,但是,它们的相似之处仅此而已 […]
-
OpenWorld18大会:Ellison宣布数据库的搜寻和破坏任务
在旧金山举行的甲骨文OpenWorld 2018大会中,甲骨文首席技术官(CTO)兼创始人Larry Elli […]
-
eHarmony公司利用Redis NoSQL数据库进行热存储
虽然关系型数据库不会消失,但关系型数据库管理系统有时仅在会话管理、推荐引擎和模式匹配等关键Web应用程序中担当 […]
-
ObjectRocket着力发展Azure MongoDB服务
MongoDB吸引了微软公司的注意力,微软公司计划针对运行于该公司2017年发布的Azure Cosmos D […]