溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

MongoDB schema-free vs MySQL DDL

發(fā)布時間:2020-05-19 08:57:28 來源:網(wǎng)絡(luò) 閱讀:735 作者:位鵬飛 欄目:MongoDB數(shù)據(jù)庫

     文檔數(shù)據(jù)庫(Document-orient Database)支持Schema-Free,他的一行記錄格式為:{"name": "外觀設(shè)計", "value": "直板"}},實際上是使用KEY/VALUE存儲的mongo采用的是BSON二進(jìn)制編碼,因此空間上來說應(yīng)該會比JSON省一些的,解析的時候按照J(rèn)SON解析。每一個Document都包含了元數(shù)據(jù)信息,每個文檔之間不強(qiáng)迫要求使用相同的格式,同時呢他們也支持各種索引,在方便程度是完勝比MySQL。關(guān)于Mysql 表設(shè)計和Mongodb scheme free 設(shè)計的對比,可以參考下:http://blog.nosqlfan.com/html/2985.html然而由于元數(shù)據(jù)的大量冗余,空間上的浪費很嚴(yán)重。

      對于MySQL這種典型的關(guān)系型數(shù)據(jù)庫,DDL對io的沖擊是不容忽視的,這往往是由數(shù)據(jù)存儲格式造成的。

Innodb 存儲引擎是已經(jīng)針對二級索引的修改作出了努力,即在ddl 過程中可以不拷貝數(shù)據(jù),但是這個期間還是會鎖住表的。對于ONLINE schema  change  OSC的使用,這個倒是挺方便。

      一般的做法是現(xiàn)在備庫上做DDL操作,然后在主從切換,等全部操作完成后在恢復(fù)原樣。

在于關(guān)系型存儲引擎將元數(shù)據(jù)和數(shù)據(jù)分開存儲,對元數(shù)據(jù)的某些修改需要修改所有的數(shù)據(jù)。避免這個問題的一種做法是把元數(shù)據(jù)和數(shù)據(jù)放在一起,也就是NoSQL領(lǐng)域流行的Schema-free。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI