欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

MongoDB第一印象

程序员文章站 2022-05-17 08:46:04
...

久仰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/