MongoDB第一印象

    久仰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. [...]

posted on 2012-03-22 15:41  Megratron  阅读(147)  评论(0编辑  收藏  举报

导航