MongoDB支持当前所有的主流编程语言的客户端驱动,支持所有主流平台的安装,但在32位的平台部署会有所限制,这是由于它采用内存映射数据文件机制决定的,生产环境中最好部署在64位平台上。
Web应用程序 <B/S模式>
业务特点1: 读写请求都比较高。在发展过程中,业务会进行一定地扩充,数据量会不断增长。
传统的关系型数据库的表结构都是固定的,增加一个业务或者横向扩展数据库都会带来巨大的工作量。(除非先预留最大的字段列,不过非常浪费空间)
MongoDB 支持无固定结构的模型,很容易增加或者减少表中的字段。Bson类似于Json非常容易扩充。同时MongoDB支持分片集群,很容易解决数据量大的问题(水平扩展,将数据分到集群中的各个分片上,提高了系统的存储容量和读写吞吐量)。
业务特点2:“热数据”读写并发很高。<最新的数据被请求的次数会最多>
传统的关系型数据库会采用其他的缓存技术来将这部分数据放在内存中,而MongoDB本身就支持这一点,它是通过内存映射数据文件来实现的。它会维护一个工作集,不需要其他技术的协助,这为系统开发提供了便利性。
在我们的项目中,就存在热数据读的问题,导致开发的系统常常不能正常出数。后来引用redis机制,用内存数据库+mysql数据库解决“热数据”读的问题。
缓存系统
搭配关系型数据库使用,作为关系型数据库的缓存前端。
日志分析系统
特点:数据量大,允许数据部分丢失,不会影响整个系统的可靠性。