亚洲成精品动漫久久精久,九九在线精品视频播放,黄色成人免费观看,三级成人影院,久碰久,四虎成人欧美精品在永久在线

掃一掃
關注微信公眾號

和力記易:測試災備產品的數據庫任意回退點
2013-11-29   中國IT運維網

  數據庫任意回退點的意義

  數據庫的任意回退可以解決數據庫的邏輯錯誤,找回任意需要找回的數據,以保證數據庫的完整和可用。

  2013年10月份濟南兒童醫院數據表丟失,急需找回。但是幾個冷備份的點數據表雖然在,但是表內的數據并不是最新的。因為這時候要找回的數據是表,且表內數據最新,這就需要恢復到這個表,而且是這個表內最新數據的那個點,這個點只有一個,是在輸入數據的時候實際發生的,而不是預先設置的,因為在之前誰也不知道什么時候會出現這個故障。很顯然,要記錄這個點就必須事先記錄所有的變化點。

  數據庫任意回退點和I/O任意回退時間點的區別

  記錄磁盤寫入的任意點并不難,通過監控block塊就可以做到。但是這些所有的變化點很大程度上不是應用的可用點。這個應用可以是數據庫,也可以是某種特殊的文件。

  另外就算是磁盤寫入的I/O點,都是數據庫的可用點,也肯定不是數據庫的所有記錄寫入點。因為數據庫在寫入的時候會把某些操作合并成一個I/O。打個比方來說,數據庫輸入了100條記錄,其中每5條記錄合并為了一個I/O點,那就只有20個I/O回退點可以使用,而不是我們預期的100個。

  而這時候我們要回退到100條中的任意某一條就無法實現了,因為只記錄了20個點。對于刪除操作亦是如此。

  如何來測試區分數據庫任意回退點和I/O任意回退時間點

  首先我們進行數據庫的數據模擬輸入,此時要注意,數據的輸入一定是沒有規則的。這和數據庫的種類以及數據庫服務器的性能有關,性能越高,單位時間內輸入的數據就會越多。有一些I/O監控廠商為了讓I/O和數據庫的記錄點進行同步,他們在做測試的時候會對sql語句做手腳,比如加入“waitfor delay '00:00:01'”的語句,這實際上就是每延遲1秒輸入一條,而I/O也以秒級監控的話,這樣數據庫的任意回退點和I/O的回退點就同步了。

  但是在實際情況中,不可能我們的應用是每延遲1秒輸入一條數據的。應用軟件提供商不會這么寫軟件,就算這么寫了,客戶也不愿意。因為這是等于把數據庫以及數據庫服務器的性能閹割了!本來1秒鐘可以處理成千上萬條數據,卻給限制在了1條,這種測試是不客觀的,也是嚴重不合理的。

  正確的測試應該是首先循環插入大量數據

  declare @i int

  set @i = 1

  while @i <30000

  begin

  insert into test (a,b,c,d,e,f,g) values ('測試1','測試2

  ','測試3','測試4','測試5','測試6','測試7')

  set @i = @i + 1

  end

  上面的30000是指插入30000條數據,可以根據需求調整。后面的a,b,c,d,e,f,g是test表內的字段,測試1-7是賦予字段的具體內容,也可以把字段內容根據需要調長。

  按照以上的語句插入后,應該至少有30000個回退點,且每個回退點都是數據庫可用并且完整的。

  插入測試完成以后,我們可以進行刪除測試。

  declare @num int

  declare @datecount int

  set @datecount=(select count(id) from test)

  set @num=0

  while

  @num<@datecount

  begin

  delete test where id=(select top 1 id from  test order by id desc )

  set

  @num=@num+1

  End

  以上語句是將表內所有的數據倒序(正序也沒有關系)逐條刪除,同樣也應該產生至少30000個回退點,且每個回退點都是數據庫可用并且完整的。

  只有按照上述的方法測試通過,才說明是滿足了任意時間點回退的要求,否則都是不合理的,是解決不了用戶實際問題的。

  國產容災備份軟件北京和力記易科技有限公司的UPM備特佳容災備份系統,完全滿足數據庫的任意時間點回退,可以經得住任何的測試。有興趣的用戶不妨一試。

熱詞搜索:

上一篇:雙十一背后數據中心運維保障不得不說的故事
下一篇:步入個人云時代 在工作中管理移動個人云

分享到: 收藏