分類
CISSP

資料科學

https://ithelp.ithome.com.tw/upload/images/20220727/20132160D2dForWP3s.jpg
DIKW Hierarchy (Credit: Drill)
何謂資料?
資料(data)是事實(facts)的記錄;主要以客體(object)方式存在,沒有相對的主體(subject),因此不具備情境(context)、沒有生成意義(meaning),也不產生價值(value),所以也常被為原始資料(raw data)。描述資料的資料則稱為中繼資料(metadata)。資料經過處理,在特定情境就會對主體(人)產生意義,我們稱之為資訊(information)。如何運用資料及資訊來解決問題與創造價值的資訊稱為知識(knowledge)。反覆運用資料、資訊及知識以追求美好未來所累積的經驗總合,稱為智慧(wisdom)。

資料即事實,必須有明確的表示方式(expression)及編碼(encoding)才能被有效的儲存、處理及運用。資料流程圖可有效地呈現資料被儲存、處理及運用的過程。不同的資料型態有不同的表示法及編碼;常見的資料型態有量化及質化資料。例如:數值(9.9)為連續型(continuous)量化資料、計次(1,2,3)為不連續型(discrete)量化資料;類別(男/女)是名目(nominal)的質化資料、大綱符號(A,B,C)是順位(ordinal)的質化資料。將資料以系統化的方式組織起來即形成資料結構(data structure),以有效的儲存、處理及運用資料;常見的資料結構有陣列、鍵結串列、佇列、堆壘、樹及網路等。為解決特定問題,針對特定資料結構的處理邏輯稱為演算法(algorithm);例如:排序(sorting)及遍尋(traversal)等。

何謂科學?
Science is a systematic enterprise that builds and organizes knowledge in the form of testable explanations and predictions about the universe.
Source: Wikipedia

科學是一門有系統地探究萬物,以建立知識體系的過程及學問;這些知識通常是建立在可被驗證的解釋或預測的基礎上。大學(中國經典四書之一)所謂之【格物、致知】即為科學之道。

何謂資料科學?
資料科學是一門科學的新研究領域,主要目的是從巨量且複雜的資料集中,萃取出更高階的知識及智慧。資料科學通常涉及資料的管理及治理議題(從資料的表示、編碼、儲存、處理、運用到治理),因此通常會涵蓋資料庫、統計學、軟體工程、商業分析等知識領域。

參考(References)
.Science
.What Is Science?
.DIKW Hierarchy – Understanding the Concept of Wisdom
資料來源:https://coaches.wuson.org/%E8%B3%87%E6%96%99%E7%A7%91%E5%AD%B8/

PS:此文章經過作者同意刊登 並且授權可以翻譯成中文

分類
CISA

資料庫管理系統(DBMS)

資料庫管理系統(英語:database management system縮寫DBMS) 是一種針對物件資料庫,為管理資料庫而設計的大型電腦軟體管理系統。具有代表性的資料管理系統有:OracleMicrosoft SQL ServerAccessMySQLPostgreSQL等。通常資料庫管理師會使用資料庫管理系統來建立資料庫系統。

現代DBMS使用不同的資料庫模型追蹤實體、屬性和關係。在個人電腦、大型電腦和主機上應用最廣泛的資料庫管理系統是關係型DBMS(relational DBMS)。在關係型資料庫中,用二維表格表示資料庫中的資料。這些表格稱為關係[1]


描述

資料庫管理系統是一套電腦程式,以控制資料庫的分類數據存取。一套資料庫包括:

  1. 模型語言,用以因應該資料庫管理系統的數據模型,來定義各資料庫的schema
    • 最常用的三大類分別為階層式網路式關聯式的模型。一個資料庫管理系統可提供一種、兩種,甚至全部三種方式,也可能提供其他形式。最適合的模型要視乎個別應用程式、交易進行比率及查詢經常使用的程度等。現時最常使用的則是SQL所支援,相似於關聯式模型但又有些微違背的方式。很多資料庫管理系統也支援ODBC,以支援程式編寫員以標準方法存取該資料庫管理系統。
  2. 最佳化的數據結構(欄位紀錄檔案),以支援在永久儲存裝置(permanent data storage device,即比主記憶體(volatile main memory)慢得多)上儲存極大量的數據。
  3. 查詢語言及撰寫報表的程式,讓使用者可以互動方式查問資料庫,進行數據分析及依使用者的權限來更新數據。
    • 它必須控制數據的保安,以防止不獲授權的使用者觀看甚至更新資料庫的數據。使用者可以提供有效的密碼來存取整個資料庫或其中一部分。譬如員工資料庫包括所有員工資料的數據,但某組使用者可能只被批准檢視薪金相關的數據,其他的又可能只可以存取工作履歷及病歷數據。
    • 如果該資料庫管理系統向使用者提供可輸入更新資料庫甚至進行查詢的互動途徑,則此能力可以用來管理個人的資料庫。可是,它不一定提供審核或其他在多使用者環境中所需要的各種控制機制。這些機制可能要整套應用程式都為數據輸入或更新而修改才能提供。
  4. 交易機制(最好可以保證ACID特性),在多使用者同時存取之下仍維持數據完整性(data integrity),與及提供故障排除(fault tolerance)。
    • 資料庫管理系統依靠不容許超過一名使用者在同一時間更新同一項紀錄來維持資料庫的完整性。資料庫管理系統可以用唯一索引限制來避免重覆紀錄。譬如不能有兩位顧客有同一個顧客編號(主鍵)在資料庫中存在。

資料來源:https://zh.m.wikipedia.org/zh-tw/%E6%95%B0%E6%8D%AE%E5%BA%93%E7%AE%A1%E7%90%86%E7%B3%BB%E7%BB%9F

分類
CISSP

分層(Layering)可以更好地理解這些單元之間的關係,從而使依賴關係清晰,避免不必要的複雜性。

https://ithelp.ithome.com.tw/upload/images/20220707/20132160qMND5H34Mk.jpg
-安全設計原則分類
模組化和分層的原則是跨系統工程學科的基礎。源自功能分解(functional decomposition)的模組化和分層通過使理解系統的結構成為可能,在管理系統複雜性(complexity)方面是有效的。然而,良好的模組化分解或系統設計的細化是具有挑戰性的,並且抵制一般的原則陳述。
模組化(Modularity)用於將功能和相關數據結構隔離(isolate)為定義明確的邏輯單元( logical units)。分層(Layering)可以更好地理解這些單元的關係,從而使依賴關係清晰,避免不必要的複雜性。
模組化的安全設計原則將功能模組化( modularity)擴展到包括基於信任、可信度、特權和安全政策(security policy)的考慮。
基於安全的模組化分解包括以下內容:
– 將政策分配給網路中的系統;
– 向分層分配系統政策;
– 將系統應用程序分離為具有不同地址空間的進程;
– 基於硬體支持的特權域,將進程劃分為具有不同特權的主體。
模組化和分層的安全設計原則與縱深防禦(defense in depth)的概念不同,這在 F.4 節中進行了討論。
資料來源:NIST SP 800-160 第 1 卷

參考
NIST SP 800-160 第 1 卷
模組化(網絡)

資料來源: Wentz Wu QOTD-20211029

PS:此文章經過作者同意刊登 並且授權可以翻譯成中文

分類
CISSP

軟體開發工具包 (Software development kit :SDK)是開發一個分佈式軟體系統時,最不可能是構成系統元素。

軟體開發工具包 (SDK) 是一個可安裝包中的軟體開發工具集合。它們通過編譯器、調試器和軟體框架來促進應用程序的創建。它們通常特定於硬體平台和操作系統組合。創建具有高級功能的應用程序,例如廣告、推送通知等;大多數應用軟體開發人員使用特定的軟體開發工具包。
分佈式軟體系統的元素通常通過定義的應用程序編程接口 (Application programming interface:API) 進行通信。

SDK 是軟體開發工具的集合。它不是組成系統元素。
依屬進程(Dependent processes)是分佈式軟體系統的一部分。他們使用靜態庫還是動態庫都沒有關係。
接口描述語言 (Interface description language:IDL) 用於定義接口,然後將其翻譯成特定的編程語言。

參考
進程間通信
遠程過程調用
軟體開發工具包

資料來源: Wentz Wu QOTD-20211028

PS:此文章經過作者同意刊登 並且授權可以翻譯成中文