← LAB LOG 實驗日誌

零資料庫宣言:文化典藏該活得比公司久

M-03 文化數位典藏架構的一次立場清算。我們把資料庫、CMS、後台一個個拆掉,只留下純靜態檔案與邊緣部署。理由不是技術潔癖,而是一個殘酷觀察:替地方組織做的資料庫,通常撐不過三年就無人續費而崩塌。這篇談我們為什麼選擇讓典藏成為一疊活得比公司更久的靜態檔案,以及這個決定的代價。

先講一個我們見過太多次的結局。

一個地方組織花了經費做了漂亮的線上資料庫,能搜尋、能篩選、能後台編輯,上線那天大家很開心。三年後,做網站的廠商換了方向或收了,主機月費沒人記得續,某天資料庫連線逾時,整個典藏變成一片白。裡面的老照片、口述紀錄、田野筆記,沒有真的消失——它們躺在某個沒人有權限登入的伺服器裡,慢慢變成無法存取的檔案。

這不是意外。這是動態架構的預設命運。

會過期的不是內容,是承載內容的東西

資料庫需要有人維護版本。CMS 需要有人更新外掛,不然某天一個安全漏洞讓整站被掛馬。後台需要有人記得帳號密碼。雲端主機需要有人每個月刷卡。這些「有人」在專案交付那天都還在,在第三年通常都不在了。

問題從來不是內容會過期。一張一九六幾年的市場照片,五十年後還是同一張照片,它的價值只會累積。會過期的是我們用來裝它的那層技術:資料庫版本、框架依賴、廠商的營運狀態。我們把最不會過期的東西(文化紀錄),交給了最會過期的載體(動態系統)。

M-03 想解決的就是這個錯配。

我們拆掉了什麼

做《艷世紀》的田野手記與地方研究典藏時,我們把清單上的東西一個個劃掉:

  • 沒有資料庫。 每一則紀錄是一個 Markdown 檔加上一份 frontmatter。它就是純文字,任何文字編輯器都打得開,五十年後也還打得開。
  • 沒有後台 CMS。 內容用 Astro 在建置時編譯成靜態 HTML。沒有登入頁,就沒有被入侵的登入頁。
  • 沒有伺服器在跑。 成品是一疊 HTML、CSS 與圖片,丟到 Cloudflare 的邊緣節點。沒有一個「正在執行」的程式需要有人看顧。

換句話說,交付出去的不是一個「系統」,而是一批「檔案」。系統會壞,檔案只會被複製。

靜態不是退步,是選對了戰場

有人會說,這樣不就回到二十年前的純手刻網頁了嗎。不完全是。二十年前的靜態網頁是因為做不到動態;今天我們是能做到動態,但刻意選擇不要。

差別在於現在有建置工具。我們在自己電腦上跑一次編譯,把上千則紀錄、搜尋索引、分類頁面全部預先算好、生成好,再上傳。使用者拿到的是算完的結果,不是一台還在幫他即時運算的機器。搜尋可以做成前端載入一份靜態索引,分類與標籤在建置時就攤平成一頁一頁的 HTML。動態的體驗,靜態的骨架。

這件事的成本結構完全不同。動態網站的維護成本是一條永遠往上的線——主機費、更新、修補、監控,只要還活著就要一直付。靜態典藏的維護成本趨近於零:檔案放在那裡不會產生費用,邊緣部署在多數規模下免費,沒有需要修補的後台,也沒有會被打的資料庫。

我們誠實說一個代價:即時編輯沒了。要改一則紀錄,得重新建置、重新部署。對一個每天更新五十次的新聞網站,這是災難;但對一個文化典藏,內容一年動不了幾次,這個「代價」根本不痛。選對戰場,缺點就不再是缺點。

給地方組織的務實理由

如果你是一個要做數位典藏、但預算和技術人力都有限的地方組織,我們會這樣勸:

不要問「這個系統多厲害」,要問「五年後沒有人管它,它會怎樣」。動態系統五年後多半是一片白;靜態檔案五年後還是那批檔案,最壞的情況也只是換一個地方掛上去,一個下午的事。

不要被後台的方便綁架。後台很方便,但方便的代價是你永遠離不開那個做後台的人。純檔案沒有這種依賴——內容是你的,格式是通用的,誰都能接手。

把典藏想成一份要傳下去的紙本檔案夾,而不是一台要一直供電的機器。紙本檔案夾放進櫃子裡,五十年後打開還在。機器一斷電就什麼都沒有。

我們不是說靜態架構適合所有東西。需要即時互動、需要使用者登入、需要每秒變動的資料,該用動態就用動態。但文化典藏的本質是「把東西好好留住」,而它要對抗的敵人是時間與遺忘,不是流量與併發。

對抗時間,最好的技術有時候是最少的技術。讓典藏成為一疊沒有依賴、沒有月費、沒有後台的靜態檔案——這樣它才有機會,活得比做它的公司還久。