第五十一課 NoSQL基礎概念及MongoDB應用、資料庫分配概念

來源:互聯網
上載者:User

標籤:nosql

NoSQL基礎概念及MongoDB
MongoDB基礎應用
MongoDB索引及複製集
資料庫分區的概念及Mongodb  sharding的實現

一、NoSQL基礎概念

    NoSQL(Not Only SQL),是一種技術流派,非關係型資料庫;適合用在大資料領域,各種nosql有各自的查詢語句,這也是nosql的缺點之一。

    大資料(BigDate)也稱海量資料是一個模糊的概念,像Google、百度收集大量資料,分析現在、預測未來;這些資料通過某些特定的特徵和演算法得出某些預測的結果,這些資料為大資料。 

    大資料的四種形式:

       1、 並行資料庫:關係型資料庫水平切割,分區查詢

       2、NoSQL資料庫管理系統:非關聯式模式,分布式,不支援ACID資料庫設計範式成為NoSQL

         優點:簡單資料模型、中繼資料和資料分離、弱一致性、高輸送量、高水平擴充能力和低端                    硬體群集

         缺點:資料模型沒有經過驗證、不支援ACID特性、功能簡單、沒有統一的查詢語言

       3、NewSQL資料庫管理系統:代表產品Cluterix、GenieDB、ScaleBase、NimbusDB、Drizzleyun

       4、雲資料管理系統:

    大資料的分析處理:

       MapReduce

        

    最終一致性細分:

因果一致性、讀自己寫一致性、會話一致性、單調讀一致性、時間軸一致性

    ACID: 強一致性、隔離性、採用悲觀保守的方法、難以變化;

    BASE:弱一致性、可用性優先、採用樂觀的方法、適應變化、更簡單、更快

    資料一致性的實現技術:NRW、2PC、Paxos、Vector Clock


    資料存放區模型: www.nosql-databases.org

        列式儲存模型  、文檔資料模型 、 索引值資料模型  、圖式資料模型

    

        列式模型:

        應用情境:在Distributed File System之上提供支援隨機讀寫的分布式資料存放區

        典型產品:Hadoop/HBase、Hypertable(Facebook研發)、Cassandra(Facebook)

        資料模型:以“列”為中心進行儲存,將同一列資料存放區在一起

                優點:快速查詢、高可擴充性、易於實現分布式擴充

        文檔模型:

                應用情境:非強事務需求的web應用

                典型產品:MongoDB、Elasticsearch、CouchDB、CouchBase Server

                資料模型:索引值模型,儲存為文檔

                優點:資料模型無須事先定義

        索引值模型:

                應用情境:內容緩衝,用於大量並行資料訪問高負載情境

                典型產品:DynamoDB(亞馬遜研發)、Riak、Redis、MemcacheDB(新浪研發)

                資料模型:基於雜湊表實現的key-value

                優點:查詢迅速

        圖式模型:

                應用情境:社交網路、推薦系統、關係圖譜

                典型產品:Neo4j、Infinite Graph、TiTan

                資料模型:圖式結構

                優點:適應於圖式計算情境


二、MongoDB  (官方下載網站 www.mongodb.org/downloads/)

    MongoDB是Nosql的一種,文檔資料存放區模型,jons資料模型,功能次於MySQL,效能強於MySQL。    

    CentOS RPM包:http://downloads-distro.mongodb.org/repo/redhat/os/x86_64/RPMS/

    安裝mongodb:三個包

        (mongo-org-server.rpm、mongol-org-shell.prm用戶端、mongol-org-tools.rpm工具)

    #rpm -ql mongodb 查看mongodb設定檔為/etc/mongod.conf

    #mkdir -pv /mongodb/data 自訂資料庫存放路徑(預設/var/lib/mongo)

    #chown -R mongod:mongod /mongodb/ (系統預設建立mongod使用者來運行mongod,修改目錄許可權)

    #vi /etc/mongod.conf 修改設定檔中定義的資料庫路徑

    #設定檔開啟http介面: httpinterface=true (添加rest=true)

    #service mongod start 

    #ls /mongodb/data (查看資料庫初始化話的資料,非常大)

    #du -sh /mongodb/data/   顯示3.1G

    #ss -tnl  #查看監聽的27017和28017連接埠

    #mongo --host 172.16.100.7   #連入資料庫

    >show dbs   #無需建立資料庫,建立collections(容器,相當於表)後自動延時建立資料庫!

    >db.stats() #查看資料庫資訊

    >db.serverstats()  #查看伺服器狀態










第五十一課 NoSQL基礎概念及MongoDB應用、資料庫分配概念

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.