我剛剛完成了一個數據庫課程,深入到數據庫的內部。我試圖將我們在課程中學到的所有術語連接起來,但我感覺我缺少一些片段。這裏是我所知道的:數據庫術語之間的區別
- 數據庫:數據結構的「邏輯」表示 - 可互換地用來指物理數據,關係案例中的「表格」數據和DBMS。
- 數據庫管理系統(DBMS):爲管理員/用戶提供開發加速訪問等機制的工具。系統理解數據的統計信息,並可執行查詢優化以開發良好的執行路徑。例如:PostgreSql,MySQL,MongoDB。我想很多人會混淆DBMS和數據庫是一回事嗎?
- 數據存儲在磁盤上。這些數據不是由文件系統管理的,但是DBMS執行與I/O有關的系統調用嗎?
- 像map/reduce這樣的框架被用於分佈式數據庫,因爲它們提供了任務的「並行化」,因爲我可以有很多映射器,框架抽象了系統細節,比如可伸縮性,負載平衡等。我很困惑,減少僅適用於HDFS,HBase等。
- 最終所有的數據都存儲在一個磁盤上,而DBMS是這個數據寫入的位置和結構的主腦。
我需要澄清和指導我的理解,我想連接點。
這是一個很好的總結需要連接的點。我會補充說,關於實現模型含義關係或其他方面,概念是中性的,邏輯與關係或SQL實現相關聯,並且物理可以包括DBMS特定功能,例如某些特殊類型的索引或放置規則。 –
感謝您的讚揚和反饋,@WalterMitty。你在概念和物理層面上提出了很好的觀點,雖然我同意邏輯層次與關係理論相關聯(科德定理證明了等價於一階邏輯的關係模型),但我並不認爲這兩者與一個SQL實現。雖然SQL DBMS支持與邏輯模型相當接近的物理實現,但對非集合和依賴關係的理解在非SQL數據庫中同樣重要。 – reaanb
我會接受的是,將關係模型綁定到SQL實現有點過分。在我的實踐中,我創建的每個關係數據庫都是針對一些DBMS(如Oracle),它既是SQL又是關係數據庫(關閉近似)。我忽略了不是基於SQL的關係系統。 –