精品欧美一区二区三区在线观看 _久久久久国色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ù)棧公眾號

激情综合网天天干| 国产亚洲一区| 狠狠色狠狠色综合日日五| 久久久久资源| 亚洲天堂视频在线| 欧美精品91| 亚洲美女福利视频网站| 亚洲免费黄色网| segui88久久综合| 国产亚洲女人久久久久毛片| 91久久精品国产91性色| 日韩成人在线免费视频| 精品大片一区二区| 日韩视频免费观看高清完整版在线观看 | 悠悠资源网亚洲青| 一区在线中文字幕| 狠狠爱一区二区三区| 亚洲天堂一二三| 在线亚洲自拍| 久久亚洲精品毛片| 香蕉视频黄色在线观看| 久久99国产精品二区高清软件| 亚洲一区二区精品3399| 亚洲一区二区三区精品视频| 午夜视频福利在线| 精品一区二区综合| 日韩免费黄色av| 国产大片中文字幕| 欧美在线网址| www.久久久久| 波多野结衣av在线观看| japanese色系久久精品| 欧美日韩大陆一区二区| 少妇人妻互换不带套| caoporn视频在线| 亚洲三级在线观看| 一区二区视频在线播放| 麻豆国产在线播放| 97精品电影院| 国产精品一区二区三区在线观 | 美洲天堂一区二卡三卡四卡视频| 91精品国产色综合| 久久一级黄色片| 91精品二区| 久久精品99国产精品酒店日本| 国产aⅴ激情无码久久久无码| 日本国产精品| 日韩成人黄色av| 男男一级淫片免费播放| 超碰成人在线观看| 亚洲电影天堂av| 欧美xxxx日本和非洲| 久久av偷拍| 51午夜精品国产| 最新av免费在线观看| 国产成人久久精品麻豆二区| 欧美性高清videossexo| 福利在线一区二区三区| 91福利精品在线观看| 日本高清视频一区二区| 18岁视频在线观看| 日本h片久久| 欧美日本精品一区二区三区| 亚洲午夜激情影院| 国产成人久久精品一区二区三区| 91精品国产综合久久小美女| 一级黄色片在线免费观看| 99综合久久| 日韩视频在线一区二区| 性高潮免费视频| 日韩精品社区| 亚洲天堂免费观看| 五月婷婷六月香| 久久精品亚洲人成影院 | 美国一级片在线观看| 婷婷激情综合| 久久久久久久久久久网站| 国产无码精品在线观看| 亚洲一区日韩| 国产精品久久久久久久久免费| 中文字幕在线网站| 国产成人综合精品三级| 久久综合久久久| 大片免费播放在线视频| 亚洲人精品午夜| 人人干视频在线| 美女福利一区二区三区| 欧美日韩国产综合草草| 亚洲精品成人无码毛片| 超碰成人97| 伊人久久久久久久久久久久久 | 一区二区三区美女| 日韩欧美一区三区| 欧美一级做一级爱a做片性| 精品剧情在线观看| 成人免费无遮挡无码黄漫视频| 日韩电影在线视频| 欧美肥婆姓交大片| 黄色av网站免费观看| 久久精品国产**网站演员| www.成人av| avav免费在线观看| 亚洲高清三级视频| 久久人人爽av| 清纯唯美亚洲经典中文字幕| 久久精品国产久精国产一老狼| 日韩欧美一区二区一幕| 蜜桃免费网站一区二区三区| 懂色av一区二区三区在线播放| 国产三级在线免费观看| 亚洲午夜精品17c| 天天干天天操天天玩| 精品国产乱子伦一区二区| 精品精品国产国产自在线| 欧美一区二区三区四| 精油按摩中文字幕久久| 欧美中日韩免费视频| 日本一级理论片在线大全| 欧美日韩在线三区| 精品黑人一区二区三区观看时间| 亚洲精品国产首次亮相| 国产成人av在线播放| 成人毛片视频免费看| 亚洲色图视频免费播放| 午夜精品在线免费观看| 日本欧美三级| 久久频这里精品99香蕉| 国产片在线播放| 国产精品色婷婷| 成人在线观看黄| 欧美综合自拍| 国内精品免费午夜毛片| www.麻豆av| 亚洲色图一区二区三区| 第四色婷婷基地| 精品国产乱码久久久久久果冻传媒| 性欧美暴力猛交69hd| 国产av无码专区亚洲a∨毛片| 国产精品毛片久久久久久久| 激情内射人妻1区2区3区| 日韩精选在线| 欧洲亚洲免费视频| 亚洲人妻一区二区| 五月天激情小说综合| 亚洲熟女一区二区| 亚洲人成高清| 国产尤物99| av2020不卡| 亚洲第一精品夜夜躁人人爽| 久久久久无码国产精品| 国产盗摄女厕一区二区三区| a级片一区二区| 伊人久久大香线蕉av超碰| 九色成人免费视频| wwwav在线播放| 亚洲综合免费观看高清完整版在线| 亚洲av毛片在线观看| 亚洲区综合中文字幕日日| 成人综合国产精品| 色屁屁www国产馆在线观看| 日韩欧美国产麻豆| 国产一级一级片| av在线不卡免费看| 久久综合久久色| 成人在线电影在线观看视频| 国产精品亚洲综合天堂夜夜| 成人三级网址| 亚洲国产成人精品久久| 日本天堂网在线| xfplay精品久久| 91视频免费版污| 欧美独立站高清久久| 91免费精品国偷自产在线| 日本动漫同人动漫在线观看| 亚洲精品一区二区三区蜜桃下载 | 成人亚洲欧美一区二区三区| 羞羞网站在线看| 亚洲国产高清福利视频| 91porny九色| 中文字幕一区二区三区色视频| 欧美国产日韩在线视频| 亚洲精品日本| 神马影院我不卡| 成人自拍视频| 欧美性视频网站| 最新电影电视剧在线观看免费观看| 欧美精品乱码久久久久久| 久久国产精品二区| 国产亚洲欧美日韩俺去了| 亚洲精品mv在线观看| 一区二区三区导航| 在线视频精品一区| 美女福利一区| 国产中文字幕91| 交100部在线观看| 中文字幕亚洲欧美| 高清乱码毛片入口| 欧美性感一类影片在线播放| 国产亚洲精品码| 中文字幕欧美激情一区| 毛茸茸free性熟hd| 男女性色大片免费观看一区二区 | 一本一本久久| 一级一片免费播放| 免费精品国产的网站免费观看| 国产欧美日韩精品在线观看| 大桥未久在线视频| 久久天天躁日日躁| 久久电影中文字幕| 精品99一区二区三区| 中文字幕人妻互换av久久| 午夜精品影院在线观看| 欧美视频一区二区在线| 久久影院视频免费| 91精品国产高清91久久久久久 | 一区二区三区日本久久久| 91免费精品国偷自产在线| 免费成人动漫| 91精品国产91久久久久福利| 成人片在线看| 最近中文字幕日韩精品| 欧美孕妇孕交| 亚洲国产日韩精品在线| 99热这里只有精品66| 欧美日韩免费观看一区二区三区| 日韩免费视频一区二区视频在线观看| 亚洲精品成人悠悠色影视| av片在线免费看| 日本一区二区视频在线| 波多野结衣 在线| 成人av免费网站| 国产chinesehd精品露脸| 国产中文字幕精品| 亚洲精品www.| 久久精品国产99久久6| 8x8x最新地址| 可以免费看不卡的av网站| 日本免费不卡一区二区| 最新国产乱人伦偷精品免费网站| 91大学生片黄在线观看| 亚洲欧美伊人| 成年人视频大全| 影音先锋日韩精品| 日韩一二区视频| 欧美+日本+国产+在线a∨观看| 国产精品亚洲天堂| 91精品推荐| 黑人巨大国产9丨视频| 图片区亚洲欧美小说区| 一区二区三区四区久久| 久久综合成人| 中文字幕一区二区三区乱码| 偷偷www综合久久久久久久| 国产又爽又黄ai换脸| 亚洲一区 二区 三区| 久久最新免费视频| 欧美区日韩区| 成人在线国产视频| 国产日本精品| 成熟老妇女视频| 秋霞午夜av一区二区三区| www.99av.com| 激情文学综合插| 国产又黄又嫩又滑又白| 成人sese在线| 国产精品亚洲无码| 中文av一区二区| 一区二区成人免费视频| 亚洲激情男女视频| 你懂的国产视频| 欧美性xxxxx极品少妇| 91肉色超薄丝袜脚交一区二区| 欧美一区二区三区播放老司机| 亚洲黄色在线播放| 亚洲精品色婷婷福利天堂| a√资源在线| 精品综合久久久久久97| 人成在线免费网站| 国产精品丝袜久久久久久高清| 涩爱av色老久久精品偷偷鲁| 国产一区在线免费观看| 成人午夜av| 91视频 - 88av| 久久www成人_看片免费不卡| 一区二区成人网| 国产成人av一区二区| 国产精品无码午夜福利| 亚洲日本乱码在线观看| 在线观看 中文字幕| 欧美人与禽zozo性伦| 欧美性猛交 xxxx| 亚洲网在线观看| 2024最新电影免费在线观看| 秋霞成人午夜鲁丝一区二区三区| 涩涩涩久久久成人精品| 国产亚洲欧美一区二区| 国产精品99久久| 国产又黄又大又粗视频| 国产在线视频精品一区| 不卡一区二区在线观看| 亚洲精品国产成人久久av盗摄 | 欧美人动与zoxxxx乱| 天堂中文在线官网| 久久香蕉国产线看观看av| 日韩伦理精品| 91免费版网站在线观看| 精品日韩一区| 日韩av三级在线| 国产真实乱偷精品视频免| 久久久久久亚洲中文字幕无码| 一区二区三区欧美日韩| 在线观看毛片视频| 日韩国产精品一区| 男女羞羞视频在线观看| 国产精自产拍久久久久久| 亚洲瘦老头同性70tv| 亚洲精品蜜桃久久久久久| 极品少妇一区二区| 日韩中文字幕有码| 日韩欧美a级成人黄色| 国产91视频在线| 日韩一区二区在线视频| 欧美xxx网站| 久久国产精品高清| 亚洲国产99| 9.1在线观看免费| 亚洲欧美日韩国产综合在线| 最新在线中文字幕| 亚洲欧洲国产精品| 国产无遮挡裸体视频在线观看| av在线不卡一区| 欧美永久精品| 亚洲高清在线不卡| 中文字幕在线不卡视频| 中文字字幕在线观看| 亚洲色图50p| 精品成人av| 欧美一区二区视频17c| 性欧美videos另类喷潮| 亚洲精品乱码久久久久久久| 亚洲国产你懂的| 天天av天天翘| 777午夜精品福利在线观看| 欧美黄色影院| 免费在线观看的av网站| 久久色视频免费观看| yjizz国产| 亚洲天堂2020| 91综合国产| 亚洲精品一卡二卡三卡四卡| 免费欧美日韩国产三级电影| 神马久久久久久久久久久| 欧美亚洲国产一区在线观看网站| 成人全视频高清免费观看| 国产精品免费一区二区三区都可以| 成人同人动漫免费观看| 亚洲欧美天堂在线| 亚洲精品成a人| 色香蕉在线视频| 欧美中文字幕在线| 激情五月综合网| 五月天av在线播放| 亚洲免费伊人电影| 蜜桃91麻豆精品一二三区| 6080yy精品一区二区三区| 妖精一区二区三区精品视频| 91热这里只有精品| 亚洲视频一二三区| 懂色av蜜臀av粉嫩av分享吧| 国产91精品黑色丝袜高跟鞋| 精品少妇av| 两女双腿交缠激烈磨豆腐 | 亚洲GV成人无码久久精品| 亚洲最大中文字幕| 9999精品免费视频| 青青草国产免费| 国产亚洲一二三区| 国产美女三级无套内谢| 韩国视频理论视频久久| 国产成人手机高清在线观看网站| 天天综合天天添夜夜添狠狠添| 亚洲一级电影视频| 高清日韩av电影| 97超碰人人看人人| 久久久久久网| 在线看的片片片免费| 亚洲国产精品女人久久久| 成人精品一区二区三区电影| www成人免费| 国产亚洲综合色| 99久久婷婷国产一区二区三区| 5566日本婷婷色中文字幕97| 91久久夜色精品国产按摩| 日本道中文字幕| 欧美日韩在线一区二区| 极品av在线| 久久久无码中文字幕久...| 久久香蕉国产线看观看99| jlzzjlzzjlzz亚洲人| 国产精品成熟老女人|