冗餘的粒度問題

2021-08-30 17:15:20 字數 674 閱讀 7975

以前談過重用的粒度問題

,今天也談談冗餘的粒度。

1. 資料庫欄位的冗餘

好處1:合適欄位的冗餘,對於提供資料庫的查詢速度會有很大提公升,因為可以不用於其他表join去獲取資料

壞處:需要在多個表中維護資料的一致性

2. 業務中多個表的冗餘

乙個最簡單的道理,對於大型網際網路,比如一次交易,資料會放入不同的業務系統中。比如:買家的交易資訊、賣家的交易資訊、支付訂單的資訊、收費的資訊、賬務的資訊、會計的資訊。

好處:其實這就是資料的冗餘,因為對於soa化的系統來說,每個業務系統都需要處理自己的資料。

壞處:同樣需要保持資料的一致性,而且由於資料可能分散於不同的資料庫中,還需要兩階段事務或者補償事務去保持資料的一致性。

3. 資料庫備份的冗餘

好處:對於大型網際網路公司,需要保持高可用,就必須保持乙份資料的備份,以防master資料庫down機

壞處:備份資料庫和主資料庫之間的資料,可能會有短時間間隔的資料沒有同步。

4.應用伺服器的冗餘

好處:與負載均衡結合,破除單點問題,使我們的服務是高可用、可伸縮的

壞處:無非是多個伺服器的運維問題,代價很低。

總結:冗餘的原因有2點

1:提高業務的處理速度

2:在不能join的情況下,保持業務不受傷害

3:防止單點,高可用、可伸縮

陣列的粒度問題

在c中,在幾乎所有使用陣列的表示式中,陣列名的值是個指標常量,也就是陣列第乙個元素的位址。它的型別取決於陣列元素的型別 如果它們是int型別,那麼陣列名的型別就是 指向int的常量指標 在以下兩種場合下,陣列名並不是用指標常量來表示,就是當陣列名作為sizeof操作符和單目操作符 的運算元時。siz...

JUnit測試的粒度問題

對於junit測試和tdd實踐中有如下的疑問,請各位解惑 junit測試的粒度如何把握?簡單的說是針對public的方法寫測試就ok了呢?還是說要具體針對public方法中執行邏輯的每個步驟來寫測試方法?先說一下為什麼會有這種困惑 業務邏輯比較簡單時,當然只針對public方法的業務流程來設計案例,...

DHCP SERVER冗餘問題

dhcp server冗餘問題 1 需求描述 如何在區域網內實現dhcpserver的冗餘功能 2 測試裝置 gns3模擬器 7200路由器,二層交換機 3 邏輯拓撲 4 測試方案 1 在兩個dhcpserver上配置相同的位址池 2 在兩個dhcpserver上配置不同的位址池 5 測試結論 在測...