改善資料落檔作業的問題

資料庫系統的資料交換一直是企業的痛,不管是跨部門、跨系統還是橫跨企業組織,有太多的問題、風險和潛在成本存在,於是大多數人最終還是選擇用最原始的資料交換媒介「檔案」。這在業界普遍被稱作「落檔作業」,其作法就是將外部系統所需要的資料,定期從資料庫爬出來後,放置在一個雙方系統能共同存取的儲存空間。然後外部系統就會定期來將檔案搬回自家環境,把檔案內容解開寫入到本地資料庫內,接著再進行各種資料的處裡工作。

這樣的做法看起來原始笨拙,但卻解決了一些重要的問題,並以下列為前提實現資料交換的工作:

  1. 無需讓外部系統直接接觸內部資料庫
  2. 可以避免外部而來的大量查詢直接衝擊資料庫
  3. 可以控制批次爬資料庫的時間,盡量避免影響正常業務執行
  4. 資料庫系統管理人可以一定程度管控資料進出
  5. 無需冒著系統不安全性、不穩定性的風險來提供資料

資料落檔作業的缺點

然而,資料落檔作業其實是種實務上的妥協,並不是理想的做法。這種作法往往帶來許多系統的限制,甚至在資料量大時仍然無法避免既有資料庫系統壓力,更多時候是以傷害使用者體驗、捨去需求之下的堪用做法。

  1. 資料非常不即時
  2. 每次落檔作業的時間很長
  3. 落檔作業執行時會造成資料庫系統巨大壓力,影響正常業務運行
  4. 需要資料的外部系統越多,對系統影響越大
  5. 每次不同需求,都需要開發客製化落檔作業程式
  6. 每次都需要資料庫系統原負責團隊協助開發
  7. 需要大量跨團隊溝通、制定資料交換格式和方法
  8. 每次跨系統介接都需要花大量討論和規劃開發的時間

基於上述種種原因,大多數系統負責團隊,多數時候不願意提供資料給外部系統,以免帶來不必要的額外麻煩。也因為資料交換成本高,也不利於大規模的系統介接和整合,更不利於應用的發展。

如何以 GRAVITY 進行改善?

GRAVITY 能提供更好的方法,實現跨系統的資料交換,能提供應用即時資料,而且無損原始資料庫的效能和穩定性。每次的跨系統資料介接工作,都無需開發任何程式,只需要簡單的設定、授權即可,省時又省力。

做法上,會建立 GRAVITY 資料代理節點,以即時監聽資料庫變更事件,並對變更資料進行快取。而外部系統再不碰觸原始資料庫系統的情況下,以統一方式對所需的資料進行訂閱,被訂閱的資料會即時推送出來,甚至依據設定直接寫入外部系統的資料庫。

總體來說,改善後的優點如下:

  1. 可以即時提供資料給外部系統
  2. 原始資料庫永遠沒有額外的壓力或負擔
  3. 外部系統不能直接觸內部資料庫
  4. 資料進出可被控管
  5. 統一資料訂閱模式,無須多餘的跨團隊溝通
  6. 無需開發介接作業程式
  7. 資料可隨訂閱隨用,跨系統介接迅速

導入 GRAVITY 後,除了可以保持資料落檔作業的優點,也能避免其缺點。