Skip to main content

Ch30: 資料庫是細節

作者認為,資料存取模型也是軟體架構的一部分 但是實際上使用的資料庫系統本身應該與系統架構無關

資料庫普遍的原因

  • 資料保存仰賴磁碟的存取
  • 磁碟存取速度相較於 RAM 內部的資料傳輸,是毫秒與耐秒的差異,約是一百萬倍
  • 為了解決磁碟讀寫緩慢的問題,會需要索引、暫存與最佳化等機制來優化, RDBMS 與 file system 被當成是解決方案

當磁碟不存在時

  • 檔案讀取到 RAM 中會以各種資料結構做儲存,像是 LinkedList、Tree、HashMap 等常見的資料結構

總結

  • 抽象的資料模型與軟體架構高度相關且重要,然在資料庫本身的實作與存取機制無關
  • 在探討軟體架構的時候,資料庫會是一個細節,資料儲存方面的 issue 與軟體層的業務邏輯應是相互獨立的問題
Discussion

問題: 大家是否有遇過,外部的要求非要團隊使用 RDBMS ? 但其實當前實作或維護的專案,根本不需要多一個資料庫來增加維護成本