溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

認識數據和數據庫

發(fā)布時間:2020-06-20 21:05:36 來源:網絡 閱讀:533 作者:水蒸氣coty 欄目:大數據

什么是數據庫

  • 數據庫是一個以某種有組織的方式存儲的數據集合。簡單的說,數據庫(database)就是一直存放數據的倉庫,這個倉庫是按照一定的數據結構(數據結構是指數據的組織形式或數據之間的聯系)來組織、存儲的,我們可以通過數據庫提供的多種方法來管理數據庫(數據庫中的庫)里的數據。
    當我們收集到大量的數據后,應該把它們保存起來進一步的處理、抽取我們需要的信息。
    數據庫排名網:https://db-engines.com/en/ranking
    關于NoSQLhttp://www.nosql-databases.org/

    數據庫的種類

    數據庫通常分為層次型數據庫網絡型數據庫關系型數據庫三種。不同的數據庫是按不同的數據結構來聯系和組織的。當今互聯網中最常用的數據庫模型主要有兩種,即關系型數據庫非關系型數據庫。

    數據類型:結構化數據、半結構化數據、非結構化數據。

  • 結構化數據:結構化的數據是指可以使用關系型數據庫表示和存儲,表現為二維形式的數據。一般特點是:數據以行為單位,一行數據表示一個實體的信息,每一行數據的屬性是相同的。舉一個例子:
學生表
學號 姓名 年齡
S001 張三 22
S002 李四 19
S003 王五 33
  • 半結構化數據:半結構化數據是結構化數據的一種形式,它并不符合關系型數據庫或其他數據表的形式關聯起來的數據模型結構,但包含相關標記,用來分隔語義元素以及對記錄和字段進行分層。因此,它也被稱為自描述的結構。
    • 半結構化數據,屬于同一類實體可以有不同的屬性,即使他們被組合在一起,這些屬性的順序并不重要。
    • 常見的半結構數據有XML和JSON,對于兩個XML文件,第一個可能為:
      <person>
      <name>A</name>
      <age>13</age>
      <gender>female</gender>
      </person>

      第二個可能為:

      <person>
      <name>B</name>
      <gender>male</gender>
      </person>
    • 從上面的例子中,屬性的順序是不重要的,不同的半結構化數據的屬性的個數是不一定一樣的。有些人說半結構化數據是以樹或者圖的數據結構存儲的數據,怎么理解呢?上面的例子中,<person>標簽是樹的根節(jié)點,<name>和<gender>標簽是子節(jié)點。通過這樣的數據格式,可以自由地表達很多有用的信息,包括自我描述信息(元數據)。所以,半結構化數據的擴展性是很好的。
  • 非結構化數據:
    顧名思義,就是沒有固定結構的數據。各種文檔、圖片、視頻/音頻等都屬于非結構化數據。對于這類數據,我們一般直接整體進行存儲,而且一般存儲為二進制的數據格式。

1 . 關系型數據庫的模型是把復雜的數據結構轉換為簡單的二元關系(二維表格形式)。在關系型數據庫中,對數據的操作幾乎全部建立在一個或多個關系表格上,通過對這些關聯的表格分類、合并、連接或選取等運算來實現數據的管理。
關系型數據庫典型產品介紹:Oracle、Mysql及其變種和PostgreSQl等。
關系型數據庫表格之間的關系舉例

學生表
學號 姓名 年齡
S001 張三 22
S002 李四 19
S003 王五 33

課程表
課程號 課程名 學分
C001 Linux 25
C002 Python 25
C003 Mysql 25
C004 Java 25

選課表
學號 課程名 成績
S001 C001 88
S001 C001 92
S001 C001 78
S001 C001 84

2 . 非關系型數據庫介紹

    • 非關系型數據庫泛指NoSQL,NoSQL(NoSQL = Not Only SQL)。
    • 隨著互聯網Web2.0網站的興起,傳統(tǒng)的關系型數據庫在應付Web2.0網站,特別是超大規(guī)模和高并發(fā)的SNS類型的Web2.0純動態(tài)網站已經顯得力不從心,暴露出很多難以克服的問題。
    • NoSQL是一項全新的數據革命性運動,早起就有人提出,發(fā)展到2009年趨勢越發(fā)高漲。非關系型時間庫由于其本身的特點得到了非常迅速的發(fā)展,NoSQL數據庫在特定的場景下可以發(fā)揮出難以想象的高效率和高性能,它是作為對傳統(tǒng)關系型數據庫的一個有效的補充。
    • 鍵值存儲數據庫(Key-Value)
      鍵值數據庫類似傳統(tǒng)語言中使用哈希表,這張表有一個特定的鍵和一個指針指向特定的數據??梢酝ㄟ^key來添加、查詢和刪除數據庫,因為使用key主鍵訪問數據,所以會獲得很高的性能及擴展性。Key-Value模型對IT系統(tǒng)來說的優(yōu)勢在于簡單、易部署、高并發(fā)。
    • 典型產品:Redis、Memcached

3 . 列式存儲數據庫(Column-oriendted)

    • 列式存儲數據庫將數據存儲在列族中,一個列族存儲經常是被一起查詢的相關數據,比如人類,我們經常會查詢某人的姓名和年齡,而不是家庭住址。這種情況下姓名和年齡會被放到一個列族中,而家庭住址會被放到另一個列族中。
    • 這種數據庫通常用來衣服分布式存儲的海量數據。
    • 典型產品:HBase

4 . 面向文檔數據庫(Document-Oriented)

    • 面向文檔數據庫將數據以文本形式存儲。每個文檔都是自包含的數據單元,是一系列數據項的集合,每個數據項都有一個名稱與對應的值,值既可以是簡單的數據類型,如字符串、數字和日期等;也可以是復雜的類型,如有序列表和關聯對象。數據存儲的最小單位是文檔,同一個表中存儲的文檔屬性可以是不同的,數據可以使用XML、JSON或JSONB等多種形式存儲。

5 . 圖形數據庫

    • 圖形數據庫允許我們將數據以圖的方式存儲。實體會被作為頂點,而實體之間的關系則會被作為邊。比如我們有三個實體,Steve Jobs、Apple和Next,則會有兩個“Founded by”的邊將Apple和Next連接到Steve Jobs。
    • 典型產品:Neo4J、InforGrid
向AI問一下細節(jié)
推薦閱讀:
  1. 認識JSON
  2. STP認識

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI