加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_泰州站长网 (http://www.0523zz.com/)- 视觉智能、AI应用、CDN、行业物联网、智能数字人!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

关于MongoDB schema-free vs MySQL DDL

发布时间:2016-09-26 02:35:05 所属栏目:MySql教程 来源:站长网
导读:文档数据库(Document-orient Database)支持Schema-Free,他的一行记录格式为:{name: 外观设计, value: 直板}},实际上是使用KEY/VALUE存储的mongo采用的是BSON二进制编码,因此空间上来说应该会比JSON省一些的,解析的时候按照JSON解析。每一个Document都

文档数据库(Document-orient Database)支持Schema-Free,他的一行记录格式为:{"name": "外观设计", "value": "直板"}},实际上是使用KEY/VALUE存储的mongo采用的是BSON二进制编码,因此空间上来说应该会比JSON省一些的,解析的时候按照JSON解析。每一个Document都包含了元数据信息,每个文档之间不强迫要求使用相同的格式,同时呢他们也支持各种索引,在方便程度是完胜比MySQL。关于Mysql 表设计和Mongodb scheme free 设计的对比,可以参考下:http://blog.nosqlfan.com/html/2985.html然而由于元数据的大量冗余,空间上的浪费很严重。

对于MySQL这种典型的关系型数据库,DDL对io的冲击是不容忽视的,这往往是由数据存储格式造成的。

Innodb 存储引擎是已经针对二级索引的修改作出了努力,即在ddl 过程中可以不拷贝数据,但是这个期间还是会锁住表的。对于ONLINE schema  change  OSC的使用,这个倒是挺方便。

一般的做法是现在备库上做DDL操作,然后在主从切换,等全部操作完成后在恢复原样。

在于关系型存储引擎将元数据和数据分开存储,对元数据的某些修改需要修改所有的数据。避免这个问题的一种做法是把元数据和数据放在一起,也就是NoSQL领域流行的Schema-free。

本栏目更多精彩内容:http://www.bianceng.cn/database/MySQL/

(编辑:云计算网_泰州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读