<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # NoSQL 數據庫簡介 > 原文: [https://beginnersbook.com/2017/09/introduction-to-nosql/](https://beginnersbook.com/2017/09/introduction-to-nosql/) 數據庫管理系統提供存儲和檢索數據的機制。有不同種類的數據庫管理系統: 1. RDBMS(關系數據庫管理系統) 2. OLAP(在線分析處理) 3. NoSQL(不僅是 SQL) 在本指南中,我們將討論 NoSQL。 **NoSQL 數據庫**的創建是為了克服關系數據庫的局限性。 ## 什么是 NoSQL 數據庫? NoSQL 數據庫與 MQSql 等關系數據庫不同。在關系數據庫中,您需要創建表,定義模式,設置字段的數據類型等,然后才能實際插入數據。在 NoSQL 中你不必擔心,你可以動態插入,更新數據。 NoSQL 數據庫的一個優點是它們非常容易擴展,并且它們在我們在數據庫上執行的大多數類型的操作中要快得多。在某些情況下,您更喜歡關系數據庫而不是 NoSQL,但是當您處理大量數據時,NoSQL 數據庫是您的最佳選擇。 ## 關系數據庫的局限性 1. 在關系數據庫中,我們需要首先定義數據的結構和模式,然后才能處理數據。 2. 關系數據庫系統通過強制執行 [ACID 屬性](https://beginnersbook.com/2015/04/acid-properties-in-dbms/)(原子性,一致性,隔離性和持久性)來提供數據的一致性和完整性。在某些情況下,這有點像銀行系統一樣有用。但是,在大多數其他情況下,這些屬性是顯著的性能開銷,并且可能使您的數據庫響應非常慢。 3. 大多數應用以 [JSON](https://beginnersbook.com/2015/04/json-tutorial/) 格式存儲數據,而 RDBMS 不為您提供更好的方法來對此數據執行創建,插入,更新,刪除等操作。另一方面,NoSQL 以 JSON 格式存儲數據,這與當今世界的大多數應用兼容。 ## NoSQL 的優點是什么? 使用 NoSQL 數據庫(如 MongoDB 和 Cassandra)有幾個優點。主要優點是高可擴展性和高可用性。 **高可擴展性:** NoSQL 數據庫(如 MongoDB)使用分片進行水平擴展。分片是對數據進行分區并將其放置在多臺機器上,以保持數據的順序。垂直擴展意味著向現有機器添加更多資源,而水平擴展意味著添加更多機器來處理數據。垂直縮放并不容易實現,另一方面,水平縮放很容易實現。水平擴展數據庫示例:MongoDB,Cassandra 等。由于此功能,NoSQL 可以處理大量數據,因為數據增長 NoSQL 擴展自身以高效處理該數據。 **高可用性:** MongoDB 中的自動復制功能使其具有高可用性,因為如果發生任何故障,數據會將自身復制到先前的一致狀態。 ## NoSQL 數據庫的類型 以下是 NoSQL 數據庫的類型以及屬于該類別的數據庫系統的名稱。 MongoDB 屬于基于 NoSQL 文檔的數據庫類別。 + **鍵值存儲**:Memcached,Redis,Coherence + **表**:Hbase,Big Table,Accumulo + **基于文檔**:MongoDB,CouchDB ,Cloudant ## RDBMS 與 NoSQL **[RDBMS](https://beginnersbook.com/2015/04/rdbms-concepts/)**:它是一種結構化數據,提供更多功能但性能更低。 **NoSQL**:結構化或半結構化數據,功能更少,性能更高。 ![RDBMS NoSQL Comparison](https://img.kancloud.cn/04/2b/042b58bdb8dd1189d5a7c09d5129be50_500x250.jpg) ### 所以當我在 NoSQL 中說較少的功能時缺少什么: 1. NoSQL 中沒有約束 2. NoSQL 不支持連接 這些支持實際上阻礙了數據庫的可伸縮性,因此在使用像 MongoDB 這樣的 NoSQL 數據庫時,可以在應用中實現這些功能水平。 ## 什么時候去 NoSQL 當您想要在關系數據庫上選擇 NoSQL 時: 1. 當您想要存儲和檢索大量數據時。 2. 您存儲的數據之間的關系并不重要 3. 數據不是結構化的,而是隨著時間而變化 4. 數據庫級別不需要約束和聯接支持 5. 數據不斷增長,您需要定期擴展數據庫以處理數據。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看