2-瞭解DBMS

1.DB,DBS,DBMS的區別是什麼?
    1.1 DB 就是數據庫,數據庫是存儲數據的集合,可理解爲多個數據表
    1.2 DBS 數據庫系統,包括數據庫,數據庫管理系統和數據庫管理人員DBA
    1/3 DBMS 數據庫管理系統,可對多個數據庫進行管理 ,DBMS = 多個數據庫(DB) + 管理程序,如Oracle,MySQL等。
2.數據庫類型(模式)--關係型數據庫SQL和非關係型數據庫NOSQL
    2.1 關係型數據庫是DBMS的主流,使用最多的DBMS主要是Oracle,MySQL和SQL Server。
    2.2 非關係型數據庫包括鍵值型數據庫,文檔型數據庫,搜索引擎和列存儲,以及圖形數據庫
        2.2.1 鍵值型數據庫-經過Key-Values鍵值的方式來存儲數據,其中Key和Values能夠是簡單的對象,也能夠是複雜的對象。Key做爲惟一的標識符,優勢是查找速度快,在這方面明顯優於關係型數據庫,同時缺點也很明顯,它沒法像關係型數據庫同樣自由使用條件過濾,若是你不知道去哪裏找數據,就須要遍歷全部的鍵,這就會消耗大量的計算鍵值型數據庫最典型的應用場景就是做爲內容緩存,如Redis。
        2.2.2 文檔型數據庫-用來管理文檔,數據庫中文檔做爲處理信息的基本單位,一個文檔就至關於一條記錄,如MongoDB。
        2.2.3 搜索引擎-常見的全文搜索引擎有Elasticsearch,Splunk和Solr。雖然關係型數據庫採用了索引提高了檢索效率,可是針對全文索引效率卻比較低;搜索引擎的優點在於採用了全文搜索的技術,核心原理在於「倒排索引」。
        2.2.4 列式數據庫-相對於行式存儲的數據庫,Oracle/MySQL/SQL Server等數據庫都是採用的行式存儲(Row-based),而列式數據庫是將數據按照列存儲到數據庫中,這樣作的好處是能夠大量下降系統的I/O,適用於分佈式文件系統,不足在於功能有限。
                    列式數據庫將數據按照列進行存儲,由於每列的數據格式是相同的,在存儲過程時,可使用有效的壓縮算法進行壓縮存儲,在讀取時,能夠只讀取須要的列到內存中,但若是是行式數據庫,就須要將整行數據讀入內存中,因此說列式數據庫按照列式存儲數據會大量下降系統的IO。
        2.2.5 圖形數據庫,利用了圖這種數據結構存儲了實體(對象)之間的關係。最典型的例子就是社交網絡中人與人的關係,數據模型主要是以節點和邊(關係)來實現,特色在於能高效地解決複雜的關係問題。
3.SQL與NoSQL
        3.1 NoSQL的分類不少,剛纔提到的鍵值型、文檔型、搜索引擎、列式存儲和圖形數據庫等都屬於 NoSQL
相關文章
相關標籤/搜索