精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

系統(tǒng)設(shè)計的“元素周期表”:40個橫跨所有領(lǐng)域的通用設(shè)計原則

系統(tǒng) 其他OS
系統(tǒng)設(shè)計通常通過特定領(lǐng)域的解決方案來傳授,例如數(shù)據(jù)庫、操作系統(tǒng)或計算機體系結(jié)構(gòu),每個領(lǐng)域都有其自成一派的方法和術(shù)語。

近日,一篇名為《系統(tǒng)設(shè)計的元素》(Elements of System Design)的論文引發(fā)社區(qū)熱議。它的目標(biāo)宏大且吸睛:通過梳理上百篇橫跨操作系統(tǒng)、數(shù)據(jù)庫、分布式系統(tǒng)等領(lǐng)域的經(jīng)典論文,提煉出一套通用的系統(tǒng)設(shè)計原則“元素周期表”。

這份“周期表”的價值,不在于提供一套死板的規(guī)則,而在于為我們提供一套共享的詞匯和心智模型。它能幫助我們更清晰地思考、更精確地溝通、更深刻地理解不同系統(tǒng)設(shè)計背后的內(nèi)在聯(lián)系。

下面便是該論文的中譯版,希望能給大家?guī)l(fā)。

系統(tǒng)設(shè)計通常通過特定領(lǐng)域的解決方案來傳授,例如數(shù)據(jù)庫、操作系統(tǒng)或計算機體系結(jié)構(gòu),每個領(lǐng)域都有其自成一派的方法和術(shù)語。雖然這種多樣性是一種優(yōu)勢,但它也可能掩蓋了跨領(lǐng)域反復(fù)出現(xiàn)的共通原則。本文提出了一個從計算機系統(tǒng)多個領(lǐng)域中提煉出的系統(tǒng)設(shè)計原則的初步分類法。其目標(biāo)是提供一套共享、簡潔的詞匯,以幫助學(xué)生、研究人員和實踐者對系統(tǒng)結(jié)構(gòu)和權(quán)衡進行推理,跨領(lǐng)域比較設(shè)計,并更清晰地溝通設(shè)計選擇。

引言

投身于計算機系統(tǒng)領(lǐng)域的一大樂趣在于其純粹的多樣性,它涵蓋了操作系統(tǒng)、數(shù)據(jù)庫、計算機體系結(jié)構(gòu)、分布式系統(tǒng)、編程語言、網(wǎng)絡(luò)等眾多分支,每個分支都有著豐富的歷史。對于初學(xué)者來說,由于傳統(tǒng)和詞匯的多樣性,要發(fā)現(xiàn)不同領(lǐng)域之間的聯(lián)系可能頗具挑戰(zhàn):相同的設(shè)計原則可能會以不同的面貌出現(xiàn)在不同的領(lǐng)域中。

例如,思考一下 Jim Gray 等人關(guān)于數(shù)據(jù)庫隔離級別的經(jīng)典論文。它仔細闡述了并發(fā)控制機制以及在正確性和性能之間的權(quán)衡。然而,如果沒有在操作系統(tǒng)或計算機體系結(jié)構(gòu)領(lǐng)域接觸過類似問題,這些思想可能看起來僅僅是狹隘地“關(guān)于數(shù)據(jù)庫”的。實際上,相同的設(shè)計原則,“放寬一致性”,以不同的形式在各種系統(tǒng)中反復(fù)出現(xiàn),從弱順序內(nèi)存層次結(jié)構(gòu)到分布式系統(tǒng)中的最終一致性協(xié)議。當(dāng)每個社區(qū)都使用自己的術(shù)語和范例時,初學(xué)者可能很難識別出底層的設(shè)計原則。這種碎片化增加了認知開銷,因為同一個權(quán)衡必須在每個上下文中重新學(xué)習(xí)。

這是一個更廣泛的模式:系統(tǒng)研究富含實踐洞見,但在共享的概念性支架上則較為薄弱。在各個領(lǐng)域中,類似的挑戰(zhàn)反復(fù)出現(xiàn),如管理并發(fā)、確保一致性和適應(yīng)變化,而其框架和詞匯卻常常不同。因此,看似毫不相關(guān)的領(lǐng)域之間的深層聯(lián)系可能仍然相對模糊。

本文是朝著彌合這些差距邁出的一小步。借用門捷列夫的比喻,我們提出了一個反復(fù)出現(xiàn)的系統(tǒng)設(shè)計原則的“元素周期表”。其目標(biāo)并非一個僵化的分類法,而是一個可用的詞匯表:一種用以標(biāo)注論文、講座和設(shè)計文檔中所采用的基本原則的簡潔方式。其目的是揭示計算機系統(tǒng)中已經(jīng)存在的結(jié)構(gòu),以便學(xué)生能形成更連貫的心理地圖,研究人員能精確定位其貢獻,而實踐者能以更高的清晰度跨領(lǐng)域討論設(shè)計選擇。

方法論

我們通過回顧操作系統(tǒng)、計算機體系結(jié)構(gòu)、數(shù)據(jù)庫、網(wǎng)絡(luò)、編程語言、安全以及計算機系統(tǒng)其他領(lǐng)域的 100 多篇有影響力的論文來識別這些原則。這些論文因其歷史意義和持續(xù)的相關(guān)性而被選中,例如關(guān)于并發(fā)控制 和共識 的經(jīng)典論文,以及關(guān)于在系統(tǒng)內(nèi)部使用機器學(xué)習(xí) 和為云設(shè)計系統(tǒng) 的近期工作。

對于每篇論文,我們都問:其底層的高層設(shè)計原則是什么?在不同領(lǐng)域中,獨立的系統(tǒng)常常不是在機制上趨于一致,而是在共享的設(shè)計原則上:例如,通過放寬一致性來提高性能,或通過提升抽象來增強可用性。

要被認定為一條系統(tǒng)設(shè)計原則,它必須滿足兩個條件:

  1. 抽象性 – 該原則必須獨立于具體的技術(shù)或?qū)崿F(xiàn)。
  2. 通用性 – 該原則必須在不同領(lǐng)域中出現(xiàn)(例如,數(shù)據(jù)庫系統(tǒng)、操作系統(tǒng)、編程語言)。

本分析旨在梳理出許多具有持久、通用價值的原則,而非對所有原則進行編目。

設(shè)計原則表

我們整理了一套結(jié)構(gòu)化的、包含 40 多個從系統(tǒng)文獻中提煉出的通用設(shè)計原則。如下圖所示,它們被組織成反映了系統(tǒng)設(shè)計中常見維度的不同主題組。

圖片圖片


圖例: Code = 唯一短符號, Name = 原則名稱, Intent = 簡短描述。

每個原則都帶有一個簡短的符號(例如,Co 代表可組合性,Op 代表樂觀設(shè)計)以便快速參考。我們強調(diào)設(shè)計意圖而非規(guī)定具體機制:這些原則闡述的是諸如“在并發(fā)下保持正確性”或“優(yōu)先處理普遍情況”等目標(biāo),而不是“使用此鎖定協(xié)議”或“優(yōu)化此查詢計劃”,具體的實現(xiàn)則留給特定領(lǐng)域。

目錄

  • Group 1: 結(jié)構(gòu): 如何用清晰的邊界和擴展點來切分和連接組件。
  • Group 2: 效率: 通過將精力集中在有回報的地方,來減少工作或降低成本。
  • Group 3: 語義: 精確地指定行為和接口。
  • Group 4: 分布: 在分布式架構(gòu)中協(xié)調(diào)工作和數(shù)據(jù)。
  • Group 5: 規(guī)劃: 根據(jù)目標(biāo)、成本和約束自動選擇方案。
  • Group 6: 可操作性: 在最小化中斷的情況下觀察、適應(yīng)和演進運行中的系統(tǒng)。
  • Group 7: 可靠性: 在故障、并發(fā)和部分失效下保持正確性。
  • Group 8: 安全性: 約束權(quán)限和強制隔離以保護安全和完整性。

Group 1: 結(jié)構(gòu)

Si – Simplicity (簡單性)

選擇滿足當(dāng)前需求的最簡單的系統(tǒng)設(shè)計;抵制復(fù)雜性,例如“以防萬一”而增加的額外層次、服務(wù)或通用性,直到有證據(jù)表明其有益。

示例: 避免對系統(tǒng)進行過早的架構(gòu)優(yōu)化。

Mo – Modularity (模塊化)

將系統(tǒng)劃分為具有最小化接口的高內(nèi)聚單元,以便每個單元都可以被獨立地推理、替換或演進。該原則專注于分解:選擇邊界以促進關(guān)注點的清晰分離,使每個職責(zé)都位于一個模塊內(nèi)。

示例: OSI 模型將通信分解為具有明確邊界的標(biāo)準(zhǔn)化層次,允許獨立開發(fā)和替換。

Co – Composability (可組合性)

設(shè)計可被安全、靈活地重新組合的組件;依賴顯式的合約和類型約束的接口,以使每個合法的組合都保持正確,讓組件能像可互換的積木一樣被組裝。與模塊化不同,該原則專注于重新組合:確保組件可以安全、靈活地結(jié)合。

示例: Unix 程序(如 grep, sort, uniq)從標(biāo)準(zhǔn)輸入讀取并寫入到標(biāo)準(zhǔn)輸出,讓用戶可以組合復(fù)雜的文本處理管道。

Ex – Extensibility (可擴展性)

設(shè)計系統(tǒng)以允許安全的用戶自定義擴展,例如插件,而無需修改系統(tǒng)核心。當(dāng)擴展來自不受信任方時,通過沙箱進行隔離以保護安全。

示例: Unix 也體現(xiàn)了可擴展性:用戶可以添加新程序而無需更改內(nèi)核。

Pm – Policy/Mechanism Separation (策略與機制分離)

通過暴露一個通用接口,將“應(yīng)該做什么”(策略)與“如何執(zhí)行”(機制)分離開來,使得多種策略可以插入到同一個機制中。

示例: Hydra 擁有一個通用機制的內(nèi)核(調(diào)度、分頁、保護),并將資源分配策略移至用戶級模塊。

Gr – Generalized Design (通用化設(shè)計)

設(shè)計一個具有明確變化點(如類型、可調(diào)參數(shù)或插件)的單一核心,使其可以在不產(chǎn)生重復(fù)的情況下服務(wù)于多種用例,但當(dāng)特化能帶來性能、準(zhǔn)確性或清晰度的顯著提升時,則進行特化。

示例: C++ 標(biāo)準(zhǔn)模板庫是一組通過模板參數(shù)化的容器、迭代器和算法的集合。Postgres 允許用戶向核心數(shù)據(jù)庫系統(tǒng)添加類型和操作符。

Group 2: 效率

Sc – Scalability (可伸縮性)

設(shè)計系統(tǒng)以應(yīng)對數(shù)據(jù)、流量或節(jié)點的增長,同時保持成本或延遲的近線性增長。

示例: MapReduce 通過將工作分解為并行任務(wù)并以最小的協(xié)調(diào)來聚合結(jié)果,從而在節(jié)點間進行擴展。

Rc – Reuse of Computation (計算復(fù)用)

通過緩存、物化中間結(jié)果(例如索引),或在重復(fù)或稍作修改的輸入上增量更新輸出來避免冗余工作,從而節(jié)省計算。

示例: B+樹復(fù)用其已排序的鍵順序:查找遵循現(xiàn)有的搜索路徑,而不是每次重新掃描整個數(shù)據(jù)集,從而復(fù)用了計算。

Wv – Work Avoidance (工作規(guī)避)

跳過不會改變外部可觀察結(jié)果的計算。例子包括惰性求值和謂詞短路。

示例: 惰性求值將工作推遲到值被需要時才執(zhí)行,從而消除了無用的計算。

Cc – Common-Case Specialization (普遍情況特化)

檢測主導(dǎo)運行時的執(zhí)行路徑或數(shù)據(jù)項(“熱點”),并專門為它們創(chuàng)建一個精簡的快速路徑,同時用一個較慢的通用路徑來正確處理所有情況。

示例: 在首次調(diào)用時緩存接收者類的目標(biāo)方法,這樣后續(xù)對該普遍接收者的調(diào)用將命中快速路徑;不常見的類則回退到完整的方法查找例程。

Bo – Bottleneck-Oriented Optimisation (瓶頸導(dǎo)向優(yōu)化)

對端到端性能進行剖析,定位最緊張的資源約束,并在此處集中改進,直到另一個階段成為限制因素。

示例: 罕見的第99百分位延遲的長尾請求是延遲瓶頸,而復(fù)制請求有助于削減尾部響應(yīng)時間。

Ha – Hardware-Aware Design (硬件感知設(shè)計)

根據(jù)底層硬件的延遲、帶寬、并行性和持久性特性(例如緩存層次、NUMA、SSD、GPU)來塑造算法和數(shù)據(jù)結(jié)構(gòu)。

示例: BLAS 定義了經(jīng)過緩存和向量優(yōu)化的內(nèi)核,使線性代數(shù)代碼能高效利用硬件。

Op – Optimistic Design (樂觀設(shè)計)

假設(shè)普遍情況會成功并繼續(xù)執(zhí)行,跳過協(xié)調(diào),僅在假設(shè)被證明錯誤時才依賴一個(可能昂貴的)恢復(fù)路徑。

示例: 樂觀并發(fā)控制無鎖地運行事務(wù),然后在提交時進行驗證,僅在檢測到?jīng)_突時才回滾。

La – Learned Approximation (學(xué)習(xí)式近似)

用在數(shù)據(jù)上訓(xùn)練的模型替換手工制作的算法,以犧牲有界的不精確性來換取效率或靈活性。

示例: 感知器分支預(yù)測器在線學(xué)習(xí)權(quán)重以預(yù)測分支結(jié)果,其性能優(yōu)于固定的兩位計數(shù)器,且無需擴大表的大小。

Group 3: 語義

Al – Abstraction Lifting (抽象提升)

將底層操作封裝在一個更高層的接口或領(lǐng)域特定語言之后,該接口表達的是意圖而非步驟。這使得內(nèi)部優(yōu)化成為可能,也允許單一的定義能針對不同的后端。

示例: SQL 查詢聲明要檢索的結(jié)果;DBMS 自動選擇訪問路徑、連接順序和物理操作符。

Lu – Language Homogeneity (語言同質(zhì)性)

在核心組件和擴展中采用單一、良定義的中間表示(或語言),從而使語義對齊、工具可組合,并以最小的努力實現(xiàn)跨層優(yōu)化和復(fù)用。

示例: LLVM 暴露了一個基于類型和SSA的IR,許多前端以此為目標(biāo),許多后端也共享它,從而實現(xiàn)了跨語言優(yōu)化和相同中間端遍的復(fù)用。

Se – Semantically Explicit Interfaces (語義明確的接口)

精確地指定一個接口(涵蓋效果可見性、順序、持久性等),以便用戶可以對調(diào)用的真實外部可觀察狀態(tài)進行推理,而無需猜測隱藏的緩沖或復(fù)制。

示例: SQL 隔離級別指定了精確的異常語義,并明確了可見性保證。

Fs – Formal Specification (形式化規(guī)約)

使用數(shù)學(xué)模型或邏輯來描述系統(tǒng)行為,以支持嚴(yán)格的推理、驗證或綜合。實現(xiàn)此原則的機制包括時序邏輯、狀態(tài)機以及其他使系統(tǒng)屬性可分析的形式化方法。

示例: TLA+展示了如何使用邏輯和集合論來規(guī)約和檢查系統(tǒng),以便在編碼前捕獲設(shè)計錯誤。

Ig – Invariant-Guided Transformation (不變量驅(qū)動轉(zhuǎn)換)

使用形式化聲明的不變量來驅(qū)動安全的重構(gòu)、優(yōu)化或重新配置。

示例: 在編譯器中,SSA 將“每個名稱只有一個定義”視為 IR 不變量;各個遍在重寫代碼時保持語義,然后重新建立 SSA。在查詢優(yōu)化器中,關(guān)系代數(shù)等價(例如,選擇/投影下推)保持結(jié)果的語義。

Group 4: 分布

Lt – Location Transparency (位置透明)

隱藏資源的物理位置,以便客戶端通過統(tǒng)一的名稱或句柄進行交互。

示例: 程序可以像調(diào)用本地過程一樣調(diào)用遠程過程,從而掩蓋了主機的地理位置。

Dc – Decentralised Control (去中心化控制)

將決策權(quán)分散到多個節(jié)點,以避免單點故障或瓶頸。

示例: Dynamo 通過一致性哈希對數(shù)據(jù)進行分區(qū),并使用基于 gossip 的成員關(guān)系,從而避免了任何中央?yún)f(xié)調(diào)器。

Fp – Function Placement (功能放置)

將功能放置在擁有必要上下文和資源的地方,以實現(xiàn)正確性和效率,避免在別處進行冗余工作。

示例: 端到端論證表明,像可靠性檢查這樣的功能只有在端點才能實現(xiàn)其正確性。

Lo – Locality of Reference (引用局部性)

將相關(guān)的數(shù)據(jù)和操作在時間和空間上彼此靠近,以保持訪問模式并最小化計算與狀態(tài)之間的分離。

示例: 工作集模型形式化了時間局部性,以將熱點頁面保留在內(nèi)存中。

Group 5: 規(guī)劃

Ep – Equivalence-based Planning (等價規(guī)劃)

在保持語義等價的通用IR上應(yīng)用代數(shù)/邏輯重寫規(guī)則;將最終選擇推遲到后續(xù)的成本/約束階段。

示例: Starburst 的基于規(guī)則的重寫系統(tǒng)應(yīng)用關(guān)系等價(例如,謂詞下推)來生成邏輯上等價的查詢。

Cm – Cost-based Planning (成本規(guī)劃)

當(dāng)系統(tǒng)必須在備選的設(shè)計、配置或執(zhí)行策略中做出選擇時,使用成本模型來指導(dǎo)搜索,以找到低成本的解決方案(能源、金錢等),而無需枚舉整個空間。

示例: Selinger 查詢優(yōu)化器在一個成本模型下選擇成本最低的計劃。

Cp – Constraint-based Planning (約束規(guī)劃)

將決策和硬性或軟性約束進行編碼,并依賴一個求解器(ILP/SMT等)來找到一個可行或最優(yōu)的分配方案。

示例: Quincy 將集群調(diào)度問題建模為帶有局部性和公平性約束的最小成本流問題,并求解以獲得分配方案。

Gd – Goal-Directed Planning (目標(biāo)導(dǎo)向規(guī)劃)

接受對期望最終狀態(tài)的聲明性描述,并自動合成一個具體的操作序列來達到它,從而將用戶與實現(xiàn)細節(jié)隔離開來。

示例: Cascades 查詢優(yōu)化器通過基于規(guī)則的轉(zhuǎn)換和成本引導(dǎo)的搜索,將一個 SQL 查詢(目標(biāo))轉(zhuǎn)化為一個可執(zhí)行的計劃。

Bb – Black-Box Tuning (黑盒調(diào)優(yōu))

當(dāng)分析性的成本模型不可用時,通過在目標(biāo)系統(tǒng)上測量候選方案來搜索計劃/配置空間,迭代地選擇更好的方案(例如,啟發(fā)式或貝葉斯搜索),并緩存勝出者。

示例: ATLAS 在目標(biāo) CPU 上憑經(jīng)驗對候選的 BLAS 內(nèi)核配置進行計時,并固定性能最佳的參數(shù),而無需分析性的成本模型。

Ah – Advisory Hinting (建議性提示)

提供非強制性的提示,系統(tǒng)可以利用這些提示來提高性能,但不會改變正確性或需要強制執(zhí)行。

示例: Lampson 提倡使用可選的“提示”,這些提示有助于提高性能,但如果被忽略,絕不能影響正確性。

Group 6: 可操作性

Ad – Adaptive Processing (自適應(yīng)處理)

監(jiān)控運行時條件,并自動調(diào)整參數(shù)或策略。

示例: Eddies 根據(jù)反饋在運行時持續(xù)地對查詢操作符進行重新排序,在不停止執(zhí)行的情況下進行適應(yīng)。

Ec – Elasticity (彈性)

根據(jù)不斷變化的需求和成本目標(biāo),自動調(diào)整資源分配。例子包括預(yù)測性自動伸縮和負載整形。

示例: Chase 等人根據(jù)負載和效用動態(tài)地配置服務(wù)器,體現(xiàn)了彈性資源管理。

Wa – Workload-Aware Optimisation (負載感知優(yōu)化)

持續(xù)觀察工作負載的形態(tài)(傾斜、局部性、訪問頻率等),并調(diào)整數(shù)據(jù)布局、算法選擇或資源分配以匹配當(dāng)前模式。

示例: 數(shù)據(jù)庫“cracking”技術(shù)根據(jù)查詢謂詞增量地重組列數(shù)據(jù),從而使數(shù)據(jù)布局持續(xù)地適應(yīng)觀察到的工作負載。

Au – Automation and Autonomy (自動化與自治)

讓系統(tǒng)無需人工干預(yù)即可執(zhí)行常規(guī)或響應(yīng)式任務(wù),通常通過從追蹤或用戶提供的示例中學(xué)習(xí)來實現(xiàn)。

示例: AutoAdmin 從工作負載追蹤中自動推薦索引/物化視圖 [7]。通過示例編程的系統(tǒng)通過從少數(shù)用戶提供的示例中進行泛化來自動化任務(wù)。

Ho – Human Observability (人類可觀測性)

暴露系統(tǒng)的內(nèi)部狀態(tài),如指標(biāo)、追蹤、計劃,以使系統(tǒng)有意地變得透明;這種透明度提高了可觀測性、調(diào)試、內(nèi)省和控制能力。

示例: Paxson 的端到端互聯(lián)網(wǎng)數(shù)據(jù)包動態(tài)分析展示了豐富的測量和追蹤如何實現(xiàn)有根據(jù)的調(diào)試和調(diào)優(yōu)。

Ev – Evolvability (可演進性)

設(shè)計系統(tǒng)使其能在最小化停機時間或重寫成本的情況下進行變更,且不破壞現(xiàn)有客戶端的外部合約或可觀察行為。與讓外部人員通過定義的鉤子點添加新行為而不觸及核心的可擴展性不同,可演進性讓系統(tǒng)內(nèi)部隨時間變化而不會破壞現(xiàn)有的外部合約。

示例: Parnas 展示了模塊化設(shè)計如何使系統(tǒng)更容易在不進行顛覆性重寫的情況下進行擴展。

Group 7: 可靠性

Ft – Fault Tolerance (容錯性)

設(shè)計系統(tǒng)使其在組件故障時仍能繼續(xù)運行,盡管可能以一種降級的形式。

示例: Gray 對計算機為何停止運行的分析表明,復(fù)制和自動重啟讓服務(wù)能夠在硬件和軟件故障中持續(xù)運行。

Is – Isolation for Correctness (隔離以保正確)

防止組件間的意外干擾,從而使局部推理保持有效。

示例: 兩階段行級鎖定阻止一個事務(wù)讀取或覆蓋另一個事務(wù)未提交的數(shù)據(jù),從而保持隔離保證。

At – Atomic Execution (原子執(zhí)行)

將多個操作組合在一起,使其表現(xiàn)為不可分割的,要么全部生效,要么全不生效。

示例: 使用事務(wù)性內(nèi)存,事務(wù)內(nèi)的內(nèi)存操作會進行推測性執(zhí)行,然后原子性地提交;如果發(fā)生任何沖突或故障,整個塊將中止,不留下任何部分狀態(tài)。

Cr – Consistency Relaxation (一致性松弛)

為提高性能、可用性或并發(fā)性,在有文檔記錄的邊界內(nèi),刻意放寬強一致性或順序約束。

示例: Bayou 允許移動客戶端在斷開連接時更新副本,并保證在副本重新連接時最終會趨于一致,這是用嚴(yán)格的一致性換取離線可用性。

Group 8: 安全性

Sy – Security via Isolation (隔離以保安全)

強制執(zhí)行嚴(yán)格的邊界,使故障或惡意代碼無法影響其他組件。

示例: 一個正確的虛擬機監(jiān)視器為每個客戶機呈現(xiàn)一個完整、隔離的機器,并攔截特權(quán)操作,防止一個客戶機危及其他客戶機或宿主機。

Ac – Access Control and Auditing (訪問控制與審計)

定義權(quán)限,并記錄每次訪問以備問責(zé)。

示例: Lampson 對訪問控制列表、能力(capabilities)和審計追蹤的分類法是現(xiàn)代安全機制的基礎(chǔ)。

Lp – Least Privilege (最小權(quán)限)

只授予完成任務(wù)所必需的最小權(quán)限,以縮小爆炸半徑。

示例: 對1988年互聯(lián)網(wǎng)蠕蟲的尸檢報告顯示,過度的權(quán)限讓蠕蟲得以傳播,并促使了最小權(quán)限守護進程的廣泛采用。

Tq – Trust via Quorum (法定人數(shù)信任)

依賴多個獨立參與者的一致同意,而非單一權(quán)威。

示例: Paxos 算法將狀態(tài)復(fù)制到一個多數(shù)法定人數(shù)中,這樣即使少數(shù)節(jié)點崩潰或行為惡意,服務(wù)也能保持正確。

Cf – Conservative Defaults (保守默認值)

發(fā)布時采用限制性的、安全的設(shè)置;讓專家選擇性地進入風(fēng)險更高、速度更快的模式。

示例: 采用“默認無訪問”策略,每個保護機制都應(yīng)只在明確授予時才允許訪問。

Sa – Safety by Construction (構(gòu)造即安全)

通過代碼或數(shù)據(jù)的結(jié)構(gòu)設(shè)計,使整類錯誤變得不可能發(fā)生,而不僅僅是被檢測到。

示例: Rust 的所有權(quán)和借用檢查器在編譯時就防止了數(shù)據(jù)競爭和懸垂指針。

案例研究

為了說明多個設(shè)計原則在實踐中如何交織在一起,我們以關(guān)系數(shù)據(jù)庫系統(tǒng)中從邏輯操作符計劃到物理操作符計劃的映射為例。

  • 數(shù)據(jù)庫系統(tǒng)將聲明性意圖轉(zhuǎn)化為可執(zhí)行步驟(策略與機制分離)。
  • SQL 表達了“做什么”(抽象提升),并具有精確的語義(語義明確的接口)。
  • 優(yōu)化器首先使用代數(shù)等價來重寫查詢(等價規(guī)劃)。
  • 然后它使用成本模型來選擇具體的物理操作符(成本規(guī)劃)。
  • 物理操作符通常針對底層硬件特性進行優(yōu)化(硬件感知設(shè)計)。
  • 謂詞下推體現(xiàn)了工作規(guī)避,而索引則實現(xiàn)了計算復(fù)用
  • 建議性提示可以指導(dǎo)優(yōu)化器,而較新的數(shù)據(jù)庫系統(tǒng)增加了運行時重優(yōu)化(自適應(yīng)處理)、學(xué)習(xí)模型(學(xué)習(xí)式近似)和采樣(Probabilistic Design,注:原文表格未列出此原則,但案例中提及)。

因此,數(shù)據(jù)庫系統(tǒng)中從邏輯到物理操作符的映射,體現(xiàn)了多個設(shè)計原則如何共同作用,以高效處理聲明性的SQL查詢。

局限性

任何試圖組織像計算機系統(tǒng)這樣廣泛的領(lǐng)域的嘗試都涉及到權(quán)衡。此表不是一份檢查清單或一個普適的理論;它是一個共享的詞匯表,旨在突出反復(fù)出現(xiàn)的原則并鼓勵進行結(jié)構(gòu)性反思。話雖如此,仍有幾個局限性:

  • 正交性:原則之間可能重疊、相互加強或部分沖突;設(shè)計就是關(guān)于平衡這些張力。
  • 主觀性與粒度:推導(dǎo)和映射原則涉及判斷;邊界是模糊的,不同的讀者可能會以不同的方式標(biāo)記同一個系統(tǒng),或以不同的方式解釋同一個原則。
  • 非形式化分類法:這不是一個完整或最小的設(shè)計原則集合。沒有嘗試從一個最小的核心推導(dǎo)出這些原則。

最終,此表是一種幫助學(xué)生更清晰地看到反復(fù)出現(xiàn)的設(shè)計原則,協(xié)助系統(tǒng)設(shè)計師更精確地溝通權(quán)衡,并幫助研究人員認識到他們的思想在更廣闊的系統(tǒng)設(shè)計藍圖中所處位置的手段。

結(jié)論

系統(tǒng)設(shè)計橫跨不同的領(lǐng)域和詞匯,這可能使共享討論變得更加困難。我們繼承機制,研究權(quán)衡,并建立直覺,然而用于描述底層思想的簡潔術(shù)語并不總是唾手可得。這里提供的設(shè)計原則“元素周期表”旨在提供一種適度的通用語言,通過命名反復(fù)出現(xiàn)的思想,使其更容易被傳授、比較和在其上進行構(gòu)建。

參考文獻

[1] Ron Avnur and Joseph M. Hellerstein. Eddies: Continuously Adaptive Query Processing. In SIGMOD, 2000. [2] Rudolf Bayer and Edward McCreight. Organization and Maintenance of Large Ordered Indexes. Acta Informatica, 1972.

... (請參考原文中的詳細參考文獻列表) ...

[48] Hubert Zimmermann. OSI Reference Model – The ISO Model of Architecture for Open Systems Interconnection. IEEE Transactions on Communications, 1980.

如何引用

如果您覺得本分析有用,請按如下方式引用:

Joy Arulraj. Elements of System Design arXiv preprint arXiv:TBD, 2025.

論文地址:https://github.com/jarulraj/periodic-table

責(zé)任編輯:武曉燕 來源: TonyBai
相關(guān)推薦

2018-05-22 07:41:34

2023-01-02 12:57:40

AI

2021-08-12 07:21:55

Google搜索互動式化學(xué)元素周期表化學(xué)

2015-09-11 10:53:44

DevOps

2021-08-19 15:19:16

代碼開發(fā)模型

2018-12-25 15:32:55

數(shù)字化轉(zhuǎn)型企業(yè)信息化案例

2020-01-08 14:45:38

Kubernetes存儲架構(gòu)

2023-10-11 11:37:36

微服務(wù)架構(gòu)

2021-05-07 15:27:23

架構(gòu)設(shè)計架構(gòu)開發(fā)

2010-10-11 11:25:26

MySQL主鍵

2016-10-18 13:31:23

CronPaxos服務(wù)

2017-06-19 14:21:01

JavaScriptAPI設(shè)計原則

2021-07-12 15:17:08

機器學(xué)習(xí)化學(xué)元素氧化態(tài)

2015-08-11 11:01:22

設(shè)計原則開發(fā)者

2013-03-06 10:20:38

HTML5框架

2016-11-28 09:06:45

前端系統(tǒng)開發(fā)

2022-04-14 10:24:27

分布式系統(tǒng)性能

2023-10-23 11:49:59

2010-10-19 17:21:35

SQL SERVER主

2011-03-21 17:09:38

數(shù)據(jù)表設(shè)計原則
點贊
收藏

51CTO技術(shù)棧公眾號

v天堂福利视频在线观看| www毛片com| 99a精品视频在线观看| 亚洲成a人v欧美综合天堂下载| 精品国产综合| 97人妻精品视频一区| 91成人看片| 亚洲乱亚洲乱妇无码| 久久久久久久久久久久久久久国产| 99视频免费在线观看| 99精品偷自拍| 国产专区欧美专区| 999这里只有精品| 91精品国产成人观看| 日韩精品中文字幕在线| 精品人妻一区二区三| 欧美巨大丰满猛性社交| 国产精品成人免费精品自在线观看| 成人蜜桃视频| 伊人免费在线观看| 一本一本久久| 欧美成人精品在线观看| 91视频免费在观看| 三级精品视频| 日韩一级免费观看| 亚洲娇小娇小娇小| 小视频免费在线观看| 亚洲伦在线观看| 午夜欧美性电影| 午夜视频1000| 成人免费视频播放| 3d动漫精品啪啪一区二区三区免费| 久久精品五月天| 亚洲黄网站黄| 久久综合久久美利坚合众国| 亚洲精品一区二区三区影院忠贞| 国产一区福利| 欧美福利一区二区| 91福利国产成人精品播放| 人人草在线视频| 亚洲成人午夜影院| 18黄暴禁片在线观看| 精品孕妇一区二区三区| 国产精品视频看| 日本在线视频一区| 黄网在线观看| 久久精品视频在线免费观看| 精品人伦一区二区三区| 亚洲乱熟女一区二区| 国产在线国偷精品免费看| 国产精品揄拍500视频| 中文字幕男人天堂| 日韩成人免费看| 国产精品第10页| 成年人视频免费| 日韩中文字幕区一区有砖一区| 欧美综合第一页| 国产免费一区二区三区四区五区| 亚洲在线成人| 日韩美女在线看| 最近中文字幕免费观看| 免费在线视频一区| 国产在线高清精品| 国产欧美久久久精品免费| 国产一区二区在线观看视频| 亚洲最大福利视频网| 亚洲AV无码一区二区三区少妇| 国产99久久久国产精品免费看 | 91免费看`日韩一区二区| 久久精品一区二区三区不卡免费视频| 午夜视频免费在线| 国产日本亚洲高清| japanese在线视频| 国产91在线亚洲| 九九视频免费看| 欧美性久久久| 欧美在线视频导航| 一区二区视频网站| 国产成人在线看| 精品亚洲欧美日韩| 二区在线观看| 亚洲视频一区二区在线| 久久在线中文字幕| 黄色成人免费网| 欧美精品123区| 日本三级日本三级日本三级极| 亚欧日韩另类中文欧美| 中文字幕日韩在线观看| 国产成人自拍网站| 国产亚洲一区在线| 国产欧美一区二区| 欧美特级特黄aaaaaa在线看| 国产日产欧美精品一区二区三区| 中文字幕欧美日韩一区二区三区| 美女精品导航| 欧美三级电影在线看| 免费看91视频| 青青草91久久久久久久久| 欧美激情视频给我| 在线观看日韩一区二区| 成人免费毛片aaaaa**| 日韩欧美亚洲区| 国产在线精品日韩| 香蕉视频黄在线观看| 国产精品国产三级国产三级人妇| 欧美日韩一区高清| 国产精品高潮粉嫩av| а√中文在线资源库| 久久久精品中文字幕麻豆发布| 最新国产精品久久| 厕沟全景美女厕沟精品| 欧美一区二区三区四区高清| 国产女主播喷水高潮网红在线| 中文字幕免费一区二区| 国产精品成av人在线视午夜片| 亚洲免费国产视频| 亚洲人成人一区二区在线观看| 国产亚洲精品网站| eeuss鲁片一区二区三区| 日韩中文字幕国产| 波多野结衣在线电影| 成人免费va视频| 男插女免费视频| 91av一区| 亚洲日本成人女熟在线观看| 国产无码精品一区二区| 国产精品一区二区久激情瑜伽| 午夜精品一区二区三区四区| 成人一区福利| 日韩av在线导航| 劲爆欧美第一页| 久久99精品国产91久久来源| 清纯唯美一区二区三区| 色在线中文字幕| 亚洲成人黄色在线观看| 久久免费公开视频| 国产九色精品成人porny| 亚洲国产日韩综合一区| 欧美成a人片在线观看久| 精品亚洲一区二区三区在线播放 | 欧美夜福利tv在线| 天堂av中文字幕| 亚洲成av人片在线| 波多野结衣办公室双飞| 欧美午夜视频| 不卡一区二区三区视频| 18视频在线观看| 日韩午夜激情视频| 九九热这里只有精品6| 男人日女人网站| 99国产精品99久久久久久| 99久久免费观看| 一区二区视频| 久久久中精品2020中文| 狠狠综合久久av一区二区| 一区二区三区成人| 影音先锋资源av| 亚洲精品影视| 免费日韩av电影| 97久久香蕉国产线看观看| 亚洲欧美国产日韩天堂区| 国产精品777777| 国产亲近乱来精品视频| 国产一伦一伦一伦| 911久久香蕉国产线看观看| 97在线电影| 九色porny丨首页入口在线| 日韩精品久久久久久久玫瑰园| 精品午夜福利视频| 91最新地址在线播放| 热久久精品国产| 日韩专区精品| 91成人免费视频| 成人bbav| 国产午夜精品视频| 99久久国产免费| 精品美女永久免费视频| 手机免费看av| 国产一区在线看| www.99热这里只有精品| 精品久久影院| 91在线在线观看| 伊人成综合网站| 日韩中文字幕网| 好吊色一区二区| 91福利视频网站| 欧美另类视频在线观看| 久久综合狠狠综合久久激情 | 亚洲理论在线a中文字幕| 最近中文字幕在线免费观看| 亚洲人成网站在线| 亚洲一区二区三区无码久久| 欧美a级理论片| www.av91| 波多野结衣的一区二区三区 | 国产精品igao视频| 中文字幕中文字幕在线十八区| 国产午夜亚洲精品理论片色戒| 国产精品18久久久久久麻辣| 成人av黄色| 精品亚洲aⅴ在线观看| 国产毛片毛片毛片毛片| 欧美日韩国产综合新一区 | 夜夜嗨av一区二区三区中文字幕| 国产高清自拍视频| 国产乱一区二区| 国产激情在线观看视频| 欧美午夜精品| 中文有码久久| 精品国产一区二区三区av片| 不卡一区二区三区视频| 欧美电影在线观看网站| 51午夜精品视频| caopen在线视频| 在线日韩日本国产亚洲| 神马亚洲视频| 精品国产乱码久久久久久牛牛| 又色又爽又黄无遮挡的免费视频| 午夜影院久久久| 成人在线观看免费完整| 亚洲国产精品国自产拍av| 噜噜噜在线视频| 国v精品久久久网| 国产高清999| 青青草国产精品97视觉盛宴| 欧美老熟妇喷水| 狠狠爱综合网| 一本色道久久88亚洲精品综合| 欧美aaaa视频| 亚洲va久久久噜噜噜久久狠狠| 日韩三级毛片| 国外成人在线视频网站| 欧美三级一区| 91久久极品少妇xxxxⅹ软件| 日韩欧乱色一区二区三区在线 | 久久国产天堂福利天堂| 亚洲欧美视频一区二区| 亚洲天堂开心观看| 日韩黄色影片| 国产视频自拍一区| 青青青草网站免费视频在线观看| 亚洲精品国产成人| 欧美一级一区二区三区| 精品国产99国产精品| 亚洲av无码乱码国产精品久久| 日韩欧美亚洲国产精品字幕久久久| 亚洲天堂中文在线| 欧美区在线观看| 一级黄色片免费看| 7777精品伊人久久久大香线蕉经典版下载 | 91精品啪在线观看国产爱臀| 91亚洲va在线va天堂va国| 色999韩欧美国产综合俺来也| 国产精品青草久久久久福利99| 少妇精品视频一区二区免费看| 国产97在线|日韩| 视频一区在线免费看| 国产精品福利观看| 韩国精品视频在线观看| 国产欧美在线视频| 久久视频免费| 国产精品视频免费一区| 国产区精品视频在线观看豆花| 精品高清视频| 国产成人精品999在线观看| 日本一区二区三区免费观看| 色男人天堂综合再现| 91社在线播放| 国产在线欧美| 99精品人妻少妇一区二区| 视频在线在亚洲| 911av视频| 成人av中文字幕| 亚洲精品国产一区黑色丝袜| 日本一区二区在线不卡| 免费国产羞羞网站美图| 亚洲高清免费一级二级三级| 国产嫩bbwbbw高潮| 欧美日韩aaaaaa| 成人爽a毛片一区二区| 日韩理论片久久| 日韩在线观看www| 欧美精品999| 性欧美freehd18| 97视频中文字幕| 九九视频精品全部免费播放| 伊人久久av导航| 亚洲精品少妇| 手机av在线免费| 99re免费视频精品全部| 日韩av网站在线播放| 亚洲国产一区视频| 国产精品成人无码| 欧美zozozo| 日本中文字幕伦在线观看| 韩国视频理论视频久久| 久久亚洲精品中文字幕| 精品一卡二卡三卡四卡日本乱码| 日韩免费av| 激情综合在线观看| 国产一区二区三区在线观看精品| 在线天堂www在线国语对白| 国产精品国产三级国产普通话蜜臀| 日韩免费一二三区| 欧美日韩国产首页在线观看| 天堂成人在线| 九九精品视频在线| 精品国产美女a久久9999| 国产自产在线视频一区| 欧美肉大捧一进一出免费视频| 成人三级在线视频| 顶级黑人搡bbw搡bbbb搡| 欧美性jizz18性欧美| 亚洲精品免费在线观看视频| 这里只有精品视频在线| 午夜影院在线播放| 国产日韩欧美精品| 欧美日一区二区三区在线观看国产免| 欧美精品性生活| 99视频国产精品| 久久久久人妻一区精品色欧美| 欧美日韩美少妇| 国产精品一区在线看| 91chinesevideo永久地址| 日韩欧美一级| 9999在线观看| 久久狠狠亚洲综合| 永久免费毛片在线观看| 欧美性极品xxxx做受| 天堂v在线观看| 午夜精品蜜臀一区二区三区免费| 日韩亚洲精品在线观看| 国产精品美女在线播放| 蜜桃久久久久久| 精品国产aaa| 欧美在线免费观看亚洲| 国产在线三区| 欧美国产日韩一区二区三区| 久久av偷拍| 日本一道在线观看| 国产精品99久| 欧美黄色免费在线观看| 91精品国产福利| 大片免费在线观看| 91九色精品视频| 久久久久久免费视频| 一区二区三区国产好的精华液| 国产精品麻豆视频| 国产又黄又粗又猛又爽| 伦伦影院午夜日韩欧美限制| 亚洲aⅴ网站| 男人j进女人j| 高清不卡在线观看| 日韩av男人天堂| 日韩精品中文字幕久久臀| 桃色一区二区| 亚洲精品一区二| 国产一区二区三区综合| 国产在线一二区| 日韩精品免费在线播放| yw.尤物在线精品视频| 亚洲最大免费| 国产盗摄一区二区三区| 国产一级二级毛片| 亚洲美女在线视频| 91精品店在线| 久久观看最新视频| av亚洲产国偷v产偷v自拍| 久久久久久久久黄色| 在线亚洲男人天堂| 国产精品久久久久久av公交车| 少妇久久久久久被弄到高潮| av电影在线观看不卡| 无码人妻久久一区二区三区| 日韩视频精品在线| swag国产精品一区二区| 免费观看精品视频| 国产精品高清亚洲| 黄色一级大片在线免费看国产一| 2019中文字幕免费视频| 久久蜜桃av| 这里只有精品视频在线观看| 少妇又色又爽又黄的视频| 欧亚精品中文字幕| 亚洲a在线视频| 精品人妻一区二区免费视频| 在线精品视频免费播放| aaa大片在线观看| 欧美一区二区在线| 国产一区二区视频在线播放| 国产精品久久久久久久久久久久久久久久久| 国产亚洲欧美另类中文| 亚洲精品高潮| 免费看黄色一级大片| 亚洲一区二区av电影| 岛国在线视频免费看| 99中文字幕| 免费视频最近日韩| 国产在线观看黄色| 欧美另类老女人|