热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

MongoDB第一印象

久仰MongoDB大名,因工作较忙(实为借口)始终缘铿一面,今日得见,果名不虚传。随便翻了几页书(MongoDB权威指南),感触颇深,忍不住将其与MySQL一并指手画脚一番:1.树状结构VS二维表格一直以为NoSQL只是简单的key-value数据库,顶多也就是比

久仰MongoDB大名, 因工作较忙(实为借口)始终缘铿一面,今日得见,果名不虚传。随便翻了几页书(MongoDB权威指南), 感触颇深, 忍不住将其与MySQL一并指手画脚一番: 1. 树状结构 VS 二维表格 一直以为 NoSQL 只是简单的 key-value 数据库, 顶多也就是比

久仰MongoDB大名, 因工作较忙(实为借口)始终缘铿一面,今日得见,果名不虚传。随便翻了几页书(MongoDB权威指南), 感触颇深, 忍不住将其与MySQL一并指手画脚一番:

1. 树状结构 VS 二维表格

一直以为 NoSQL 只是简单的 key-value 数据库, 顶多也就是比 memcached 多了持久化的一层,只是一个简单的key-value数据库,擅长存储树状结构. 简单翻了一下MongoDB的目录, 我就知道之前的那种想法是多么的愚蠢:MongoDB不但可以存储树状结构,还可以存储表格,一句话: MySQL可以存储的数据, MongoDB也能存储, MySQL不能存储的数据 NoSQL还能存储, 而且速度比MySQL快!!

和MySQL一样, MongoDB也有数据库(database)的概念, 数据库里边可以有N多个集合 (Collection), 集合的概念差不多相当于关系数据库的数据表, 不同的是集合没有字段的概念, 一个集合下边可以有N多个文档(document),MongoDB不要求文档的结构完全一样 。文档呢可以是任何的json数组, 不限制字段的数量, 也不限制json数组的深度。

2. 灵活 速度 VS 规范

NoSQL向来以快著称, 亲测MongoDB插入100W条记录仅仅用时42.3秒,MySQL需要用时半个小时多,读取速度暂未测试, 据书上说也要比MySQL快出许多。 相对于关系数据库的严谨, 任何数据都要限制数据的类型、长度,甚至要求字段的值唯一, MongoDB的规范化就差了一些, 要靠程序的业务逻辑在存储之前对数据进行规范约束。NoSQ和关系数据库各有所长, 所以NoSQL也不大可能完全取代关系数据库,在一些场合关系型数据库还是有用武之地,不会那么快就被完全抛弃的。

3. 简单实用 VS 功能强大

简单看了一下目录, MongoDB虽说提供了检索 索引 group 以及主从等功能, 就不想对Oracle, 相对于MySQL来说功能还是简单了点, 期待MongoDB日后的改进!!

据说国外有不少网站已经成功迁移MongoDB, 但是个人感觉马上就完全放弃关系型数据库, 迁移MongoDB还为时过早,毕竟这个东西在没有被大多数人认可之前还只能先玩玩, 尝尝鲜, 期待着MongoDB变得更强大!!

声明: 本文采用 CC BY-NC-SA 3.0 协议进行授权

转载请注明来源:小景的博客

本文链接地址:http://www.phpv5.com/blog/archives/455/

推荐阅读
author-avatar
7777-丿M
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有