iT邦幫忙

0

mongodb collection 轉存另一資料庫

Zaku 2018-03-22 11:28:354315 瀏覽

請問各位如過做備份,或是轉存資料,
會把id拿掉再存嗎,讓他在新資料庫有新的id,
假設資料庫A傳到資料庫B

如果塞大量A資料庫的資料到B時,不知會不碰到有幾筆id已經存在B當中而衝突等問題,
mongodb ID賦予的方式好像是拿時間來雜湊,但要是兩台主機時脫離網路的,他們時間都不準,
是有可能會發生他們其實不是同一筆,但id真的相同?
或是塞了A的ID進去B,會影響B再產生新資料時賦予新ID或查詢時的效能,

但好處是如果你重複傳送會有警告不給你文不怕重複傳送,當然也可以用其他做法

yoching iT邦高手 1 級 ‧ 2018-03-22 13:42:16 檢舉
這其實得看你id的用處跟用法。

如果id的用意只是像log那樣。它並不代表任何其它判斷應用的值。
那我會將其id拿掉。

但如果它是屬於主鍵可能會跟其它表或是程式呼叫有關係的。
那就不能隨便去動他的id值了。
Zaku iT邦新手 4 級 ‧ 2018-03-22 13:49:39 檢舉
不太算是主健,只是他被送到B資料庫上的話,不改_id的好處是直接達成不用去重複等判斷問題,直接同步兩邊,但怕我上訴的那些問題

1 個回答

1
黃彥儒
iT邦好手 1 級 ‧ 2018-03-22 19:30:30

ID是由4碼時間、3碼主機名散列值、2碼PID、3碼計數器組成,會不會相同,我覺得不會。

Zaku iT邦新手 4 級 ‧ 2018-03-23 09:40:16 檢舉

好喔感謝,所以直接丟過去其實不用怕他會衝突

我要發表回答

立即登入回答