iT邦幫忙

0

不同的team , 共用資料庫

我們產品開發有分不同的部分A team, B team , C team , D team
有時候他們也會互相相依, 有時A的流程會走到B , A有時會直接面向C等等等

可是問題來了, 他們都使用同一個資料庫環境
導致資料庫有時資料蠻雜亂的很不乾淨

不知道業界對於這樣不同team 共用資料庫有什麼解決方案
而且同時也要保持這個資料庫的同步,(資料架構上)的同步喔

不知道大家怎麼處理這個問題? 是用docker 嗎? 還是其他方案?

看更多先前的討論...收起先前的討論...
player iT邦大師 1 級 ‧ 2020-06-21 21:57:36 檢舉
統一開發規格
不斷的開會
寫SPEC
重點是看由哪一個team去主導
別的team再提需求
規劃師就是為此存在...
所有的team必須依照規劃清單、欄位去設計~
誰違規就必須重寫依規格再寫一次~
不得有異議~
r567tw iT邦研究生 5 級 ‧ 2020-06-21 23:03:36 檢舉
我大概理解了,就是先大家談好規格, 流程是什麼, 再進入各自實作程式的階段... 可惜我們不是這樣, 總是這樣邊開發邊談規格, 搞出新的名詞:「滾動式修正」, 哈 所以才變成這樣?
頭頭不夠力啦...亂修正就永遠改不完...
一直改的案子都有可能幾年都完成不了~
Lungiqa iT邦新手 5 級 ‧ 2020-06-22 08:54:31 檢舉
不規畫的話就是分開資料庫,畢竟在同一間公司資料庫要相互串接依附是比較方便的
這樣也可以避免資料庫都在同一個導致資料複雜化的概念
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

0

這邊其實是需要了解一下你所謂的「資料庫環境」

指的是一個mysql或是sql??
還是一個資料庫??

如果是前者。我拿mysql來說明好了。
基本上不同team我本身就會區分不同一帳號給他們用。

各自的team都是獨立的。如果說各自的team有各自的面對共用情況。
一般來說我還會再區分一個共用資料庫出來。指定多重帳號。

資料庫 => 使用者
    a1 => a
    a2 => a
    a3 => a
    b1 => b
    b2 => b
    b3 => b
    c1 => c
    d1 => d
    g1 => a b c d
    g2 => a b
    g3 => c d

這樣子的話,
a使用者進來只會看到 a1 a2 a3 g1 g2
b使用者進來只會看到 b1 b2 b3 g1 g2
c使用者進來只會看到 c1 g1 g3
d使用者進來只會看到 d1 g1 g3

而資料庫管理人員也比較容易區分。

但如果是時性要將a1資料庫給b使用。
一般需要提出申請。並將a1資料庫重新改名為g開頭。
不要直接將a1分配給b。因為這樣幹才會開始產生亂源

看更多先前的回應...收起先前的回應...
r567tw iT邦研究生 5 級 ‧ 2020-06-22 12:19:23 檢舉

不好意思 說得不太明白, 我這裡指的是"一個資料庫"

不好意思,我忘了補充。
如果是後者........

我沒有任何的建議了。因為這已經是找死的行為了。
除非,你abcd team用的東西是功能分類。
但其實是同一個系統。那我無話可說。

但如果是不同系統但共用一個資料庫。
我只能說,你們心很大顆。真的不怕死。

不過,其實也並不是不可以。基本來說是可以用表前綴的方式來處理就是了。只是能否整理好。有點難了啦。就將就用吧。

r567tw iT邦研究生 5 級 ‧ 2020-06-22 15:23:38 檢舉

我想可能為了秘密所以沒有表達很清楚, 我們應該算是同一個系統,但是是不同平台, 像是 mobile 類, web類 以及後台類, 不過每一個平台也不一定是全部功能會實現, 有時候mobile的流程之後還會找到web,,,等等, 這樣還是建議分開資料庫嗎? 還是應該是大家要之前好好規劃的問題?

如果是同一系統的情況下,這就見仁見智了。
我個人是偏向拆分資料庫。但大家共用處理。
但還是會區分共用性的資料庫出來。
一般來說,像是user及報表之類的會區分在共用資料庫內。
共用的資料庫則是需要各組別討論好。

雖然也有另外一招是共用庫的user就單純的帳密。
其它各部門的資料庫也有其自user。但得與共用的user做關聯性。

不過以上是需要在開發初期就得事先規劃好的才行。
如果依你目前的情況。就只能用前綴表名來處理了。

至少有前綴的情況下。雖然多,但至少還有一些可讀性。

不過一般還是會建議區分不同資料庫會比較好。
當然了,規劃的部份就要事先想好才行了。

0
kikulu
iT邦研究生 4 級 ‧ 2020-06-22 16:04:55

把資料操作獨立出來,找專人負責,開接口給各產品存取
如果不行,那就記錄一下誰異動,免得資料出事的時候在那邊推託

WQ iT邦新手 2 級 ‧ 2020-06-23 16:09:52 檢舉

KIKULU說的才是解決之道.........

我要發表回答

立即登入回答