MongoDB的特性、优点和不擅长领域是什么

MongoDB的特性
  • 1).简单的查询语句,没有Join操作
  • 2).文档型存储,其数据是用二进制的Json格式Bson存储的。其数据就像Ruby的hashes,或者Python的字典,或者PHP的数组
  • 3).Sharding,MongoDB提供auto-sharding实现数据的扩展性
  • 4).GridFS,MongoDB的提供的文件存储API
  • 5).数组索引,你可以对文档中的某个数组属性建立索引
  • 6).MapReduce,可以用于进行复杂的统计和并行计算
  • 7).高性能,通过使用mmap和定时fsync的方法,避免了频繁IO,使其性能更高
MongoDB的优点
  • 1).高性能,速度非常快(如果你的内存足够大的话)
  • 2).没有固定的表结构,不用为了修改表结构而进行数据迁移
  • 3).查询语言简单,容易上手
  • 4).使用Sharding实现水平扩展
  • 5).部署方便
使用MongoDB,你得记住以下几点:
  • 1).MongoDB 假设你有大磁盘空间
  • 2).MongoDB 假设你的内存也足够大于放下你的热数据
  • 3).MongoDB 假设你是部署在64位系统上的(32位数据文件有2G大小的限制,试用还可以)
  • 4).MongoDB 假设你的系统是little-endian的
  • 5).MongoDB 假设你有多台机器(并不专注于单机可靠性)
  • 6).MongoDB 假设你希望用安全换性能,同时允许你用性能换安全
MongoDB在下面领域不太擅长:
  • 1).不太稳定,特别是auto-sharding目前还有很多问题
  • 2).不支持SQL,这意味着你很多通过SQL接口的工具不再适用
  • 3).持久化,MongoDB单机可靠性不太好,宕机可能丢失一段时间的数据
  • 4).相关文档比较少,相关人才比较难找
请使用浏览器的分享功能分享到微信等