Star Trek: Voyager 星艦上的資料庫
作者:gugod 發佈於: ,更新於: #system #capacity #startrek最近又把 Star Trek: Voyager 看了一回。在這部跨越 y2k 前後 (1995 至 2001) 的系列影集中有許多與電腦系統的互動,更不缺關於人工智慧討論,某種程度上有點像是承先啟後的感覺吧。最近兩部 Star Trek 影集的製作是讓整季連貫下來是一個故事,而這系列雖然基本上每一集是一則帶有結論的故事,通常前後兩集互不連貫,而每則故事本身都是各自完整,也不會讓人有「想要趕快看下一集」這種心理壓力。或許這樣的製作方式還比較好。
這一部系列的主角船艦「Voyager」的特殊之處,是她身處遠端孤獨一船。自第一集起就被推到距離離地球 75000 光年之外的太空,並且在影集範圍的大部分時間內,都是處於無法與星際艦隊建立通訊連線的狀態。在第六季時星艦總部成功以人造微型蟲洞作為傳導通道,與 Voyager 船艦電腦連上一、兩分鐘,在那之後才偶爾有與總部短暫連線通訊的可能。
這種基本上無法連上網路的狀態,完完全全就是 90 年代後半一般人的生活。那時如果要上網,必須使用電腦,而當時的一般人用的電腦多半是無法攜帶的。也就是說一般人只要在外走動,就等於不能上網。在那臨時碰到問題無法在路邊上網查詢的年代,或許大家為了辦事,的確能記得各種知識吧。
在這系列影集中不乏組員們利用船艦電腦解決各種問題的場景。Janeway 艦長常利用電腦做的事,通常就是先點一杯黑咖啡然後開始讀各種紀錄跟報告。而這「各種紀錄跟報告」甚至還包含了艦隊中其他船艦的航行紀錄、戰略心得。艦長在面臨難題時,會在資料庫找尋前人經驗作為決策時的參考。
在 S1 E10 "Prime Factor" 這集的故事之中,組員試圖與船艦資料庫中的「文學作品集」換取外星科技。而在 S5 E23 "11:59" 這集裡,Neelix 在船艦上的「Ferengi 資料庫」當中找到一張艦長祖先家族的舊照片。偶爾也有出現船醫參閱其他船組員之醫療紀錄這種台詞。
既然 Voyager 電腦是長時間處於獨立無網路的狀態,那也就表示那些看似來自各處的資料,其實是完整地儲存在 Voyager 本身的電腦系統當中,否則就無法隨時讓人搜尋查閱。顯然,24 世紀那時的記憶體容量與效能都遠遠強於 21 世紀的今日,而或許我們可以假設:星際艦隊中的每一艘船艦,都完整地保存了聯邦中其他所有船艦的資料,一些關於各文明的基本資料,甚至還有一些聯邦之外的資料供戰略參考。
組員們除了查資料,同時也會寫報告跟紀錄、個人日記之類的。看來他們很習慣使用語音輸入,艦長顯然也很習慣以影像形式留個人紀錄(每位艦長都是 vlogger ?)。不難想像,電腦能自動將口語轉換成文字與搜尋索引。
既然如此,或許我們能說:每一艘星艦上的資料庫都是全知的,包涵了整個聯邦內的知識。並且能在某些時候,與聯邦中其他船艦進行資料同步,取得更新。
若星艦上的作業系統要依賴某些「雲端服務」,想必會是戰略上的一大缺點吧。考慮到幾乎每一集都會出現像是「通訊電波被電磁風暴遮斷」這種台詞。只要被敵人蓋台,系統就停擺,這也未免太虛了。顯然要強,就不能上網。或者說,不能「一直」上網。讓每艘星艦持有全數資料,讓組員們就算在離線狀態下也隨時可以查詢,顯然是讓艦隊具有戰略優勢的作法。
考慮到每艘星艦各自的活動範圍不同,設計能讓他們彼此同步的機制似乎也不太簡單。偶爾能兩兩同步似乎比較方便,而偶爾進場維修時似乎與某個中央中繼站會比較有效率。在 21 世紀的現在,有如 Merkle Tree 或 CRDT 等各種關於能讓資料順利同步的研究與實作。也有如 Scuttlebutt 或 ipfs 這種點對點也可小圈圈的網絡設計。
這麼說來,每艘星艦上的儲存空間要有多大,才能放下那麼多東西?
如果我們要將全地球文明的資料都存下來,要多少空間呢。參考地球上最愛囤積資料的 Internet Archive 磁碟用量,他們目前用了 88 PB (88000 TB)。而從最近的 Backblaze Drive Stats for Q1 2021 上的表格數字粗算起來 Backblaze 掌握的容量至少是 100 PB 等級的。這些都是不錯的估計,但應該都只是片面,至少是極端傾向在美國產生的資料量。
一般認為 Google 持有的資料量應該是地球上各大組織中最多的,但 Google 資料中心的容量一直都是謎。依 xkcd/63 於 2013 年估計當時他們持有 10 EB (10000 PB) 左右。至今日,資料廠房數量已經倍增,儲存媒介密度也大幅增加,每日由使用者產生的資料量更是有百倍成長。就姑且假設 Google 已經進入 1 ZB (1000 EB) 等級了吧。
根據 How much data is on the internet? The Big Data Facts Update 2020 這報告上給的數字,有上網的人類約為 4.6 B,為目前人類人口數之 65%。而這些人上網行為所帶來的傳輸資料量在 2019 年為 44 ZB 。與 2025 年時或為 175 ZB。
如果全人類都能上網,或許就會有「數十 ZB」等級的資料需要經常性地保存著。如果算上所有星艦聯邦三百多個文明,整體來說就是 1 YB 數量級的資料了。也就是 21 世紀 Google 所持資料規模的 1000 倍。
如果只限制在傳統計算機的技術領域,1 YB 數量級的資料之索引與搜尋差不多就是個無解的題目。顯然每艘星艦上的電腦系統都必須具備量子電腦以上的效能。
如果一艘星艦的資料容量就真的是千倍於今日 Google 規模的話,說不定這是今日的我們最靠近未來星艦世界的部分。在曲速科技還沒聲影之前,或許我們已經可以開始準備設計給星艦用的資料庫了。
至少 Unicode 已經準備好能迎接瓦肯星人了:🖖