天天看點

庖丁解牛資料庫系統結構

标題索引

追朔原因

軟體結構

檔案分類

總結分析

    提及資料系統讓人望其項背、難以起及,思考良久日:"不識廬山真面目,隻緣身在此山中",此山看彼山或許才能識得彼山雄壯真容,為識資料庫大山,望一步一印爬彼山。

    資料庫系統軟體系統自稱資料存儲的生态系統,是以類似完整作業系統,擁有不同引擎、連接配接接口、管理系統、線程等等完整的生态系統節點,具體可參考如下官方結構圖:

<a href="https://s5.51cto.com/oss/201711/22/b5e43f1b24eed4b8353d3de23b13d3ff.png" target="_blank"></a>

圖1-1 mysql資料庫系統結構圖

    由圖可知資料系統主要由Connectors、Connection pool、Management Services、Utillties、SQL interface、Parser、Optimizer、Caches&amp;Buffers和Pluggable Storage Engines組成。

    Connectors:是連接配接資料庫的元件,不同開發語言及不同的應用場景所用的資料庫連接配接管理工具不同,其主要目的是連接配接登陸管理資料庫。

    Connection Pool:由圖可知線上程池的元件中又有各個子功能,分别如下:

        Authentication:用戶端驗證功能

        Thread Reuse:線程重用功能,當線程處理完請求會并不會銷毀線程,而是調會空閑線程池中以供處理其他請求;

        Connetion limits:連接配接限制,由線程池中的線程數量決定連接配接數量;

        Check Memory:記憶體資源檢測。

    Management Services &amp; Utillties:伺服器的管理如備份、備份恢複、叢集配置等等相關配置檔案;

    SQL interface:

        DML,DDL,Stored Procedures Views,Triggers等SQL語句的接口功能

    Parser:解析器,SQL語句通過在解釋器進行查詢授權的權限;

    Optimizer:通過将SQL語句進行優化,優化後進行路徑查詢;

    Storage Engines:不同的存儲引擎,引擎不一緻存儲方式和存儲結構等不一緻;

    File system:檔案所存儲的檔案系統;

    File &amp; logs:檔案存儲及日志檔案的的相關資訊,如Redo、Undo、Data、Index、Binary、Error、Query and Slow;

    在資料檔案基本上分為兩大類資料檔案和日志檔案

    資料檔案:資料庫檔案和索引檔案

    日志檔案:重做日志、撤銷日志、二進制日志、錯誤日志、查詢日志、慢查詢日志和中繼日志

本文轉自 薛偉博 51CTO部落格,原文連結:http://blog.51cto.com/weiboxue/2043356,如需轉載請自行聯系原作者