年前在项目中使用了NoSQL的代表之一 —— MongoDB,微博上总结了一些心得,在这里和各位分享一下。
开发中用MongoDB的爽快之处
MongoDB是一个非常适合PHP开发的#NoSQL# 数据库,尤其支持高并发和schema-free(自由结构)特性,使得PHP开发变得更灵活,更高效。大家都来试试吧!
或许很多时候,记录在mysql里面的自由字段(如序列化后的数组),都很难去回忆或者找到在什么地方。而mongodb却可以让你轻松找到需要的数组,而且很有规律(条件查询)。这种轻松,对比起来就知道了。
mysql在大数据量情况下,orderby和groupby的效率会非常的低。从目前的实践来看,mongodb是很有希望和很有必要替代orderby和groupby,因其有灵活的数据结构模型,可作为一个可查找和排序、归类的数据中间缓存层,而且效率会比通常的mysql查询高很多。
思考MongoDB的使用场景
重要数据:mysql,一般数据:mongodb,临时数据:memcache
对于关系数据表而言,mongodb是提供了一个更快速的视图view;而对于PHP程序而言,mongodb可以作为一个持久化的数组来使用,并且这个持久化的数组还可以支持排序、条件、限制等功能。
将mongodb代替mysql的部分功能,主要一个思考点就是:把mongodb当作mysql的一个view(视图),view是将表数据整合成业务数据的关键。比如说对原始数据进行报表,那么就要先把原始数据统计后生成view,在对view进行查询和报表。从这个意义上,mongodb提供了一个更快速,更使用的view
PHP中使用MongoDB要注意的
Mongodb等noSQL技术,作为memcache和mysql的一个中间view是比较好的选择。而noSQL进行持久化是非常不好的事情,除非有SSD硬盘,否则普通硬盘条件下,持久化会令系统负担极大,并且效率甚至有可能比mysql还要低。
在用 PHP 操作 MongoDB 时,排序字段值需要强制类型。不然排序的时候会有问题。 不强制类型时会 类似以下形式: 1 10 2 3 解决办法就是在写入的时候 加上 (int)$sort 强制一下类型。
MongoDB遇到“Caught exception: non-utf8 string: ”的异常,这是插入非UTF8编码文字的时候就会抛出
以上就是我在微博中总结的一些MongoDB使用的体会,你有什么看法呢?欢迎评论留言!
分享到:
相关推荐
mongodb实践,mongodb实践,mongodb实践,mongodb实践,mongodb实践,mongodb实践,mongodb实践,mongodb实践,mongodb实践,mongodb实践,mongodb实践。
MongoDB开发使用手册.docx 介绍mongodb的基本使用方法
Mongodb是主流的NOSQL数据库之一,Mongodb最佳实践,详细介绍了Mongodb使用以及底层原理,和运维管理; 1.Mongodb数据结构,以及存储方式 2.增删改查使用,分页,排序,投影,以及多种扩展使用 3.丰富查询语句,比如...
Python + MongoDB开发的百度云爬虫.zipPython + MongoDB开发的百度云爬虫.zipPython + MongoDB开发的百度云爬虫.zipPython + MongoDB开发的百度云爬虫.zipPython + MongoDB开发的百度云爬虫.zipPython + MongoDB开发...
MongoDB开发架构实践.pptx
对比了mongoDB和主流数据库各自的特点,历史发展原因,介绍了MongDB的内部结构,基础操作,设计开发使用
视觉中国的MongoDB应用实践 视觉中国的MongoDB应用实践
本课程是一套关于MongoDB应用开发的实战性教程,名为《深入浅出MongoDB应用实战开发(基础、开发指南、系统管理、集群及系统架构)》,教程侧重于讲解MongoDB的常用特性及高级特性,从实际开发的角度出发对MongoDB...
Mongodb的使用语法以及同传统sql语句的对比
MongoDB简介与实践
Node.js是一套用来编写高性能网络服务器的JavaScript工具包。...《Node应用程序构建——使用MongoDB和Backbone》可以作为学习和掌握Node.js、Backbone.js和MongoDB的实践教程,也适合对这几种技术感兴趣的读者阅读
Node.js是一套用来编写高性能网络服务器的JavaScript工具包。...《Node应用程序构建——使用MongoDB和Backbone》可以作为学习和掌握Node.js、Backbone.js和MongoDB的实践教程,也适合对这几种技术感兴趣的读者阅读
基于java的mongodb开发环境搭建,环境用的是IDEA。
C#\MongoDB应用开发实战\MongoDB
Node应用程序构建——使用MongoDB和Backbone
Node.js 实践: 使用 MongoDB 存储数据 MongoDB命令行工具的使用 在项目中如何有效组织和使用Mongoose
《Node应用程序构建:使用MongoDB和Backbone》 源码,里面有git地址
MongoDB应用实践 MongoDB应用实践 MongoDB应用实践 MongoDB应用实践
Spring Data MongoDB API。 Spring Data MongoDB 开发文档。