天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

初窺NoSQL世界 開源CouchDB新手入門

  NoSQL現在已經變成在IT界中十分熱門的話題了,在本文中,將為你介紹NoSQL中的一員CouchDB的基本知識,帶你開始走入NoSQL豐富多彩的世界。

初窺NoSQL世界 <a href=/yuedu/kaiyuan/ target=_blank class=infotextkey>開源</a>CouchDB新手入門

  什么是NoSQL

  NoSQL(是not only SQL的縮寫,也有說法認為是non-relational,即非關系型數據庫)其實是不使用傳統的關系數據庫模型,而是使用如key-value存儲、文檔型的、列存儲、圖型數據庫、xml等方式存儲數據的模型統稱。之所以不使用傳統的范式,主要是在于它們存儲數據的方式發生了變化。例如,當你需要存儲發票的數據時,在傳統的關系數據模型中,需要設計表的結構,然后使用服務器端語言將其轉化為實體對象,再傳遞到用戶端(這就是所謂的ORM對象關系映射),而在NoSQL中,你只要保存發票數據就可以了。 NoSQL不需要預先設計表和結構就可以儲存新的數值。當然,請記住,NoSQL不是銀彈。如果你的項目中要保存的數據的確需要關系型數據庫模型才能完成,那么應該堅持使用關系型數據庫。

  NoSQL的特點

  NoSQL的出現主要是為了解決數據庫讀寫性能的問題,隨著越來越龐大的Web應用系統的出現,如SNS,微博等應用需要大量對數據進行讀和寫,并且要求進行分布式的部署,而傳統的關系數據模型在大數據訪問量和分布式環境下,由于關系模型中經常要對多表進行連接操作,因此性能有時會有所降低,所以NoSQL的強調的是非關系型數據,NoSQL 數據存儲不需要固定的表結構,通常也不存在連接 操作。在大數據存取上具備關系型數據庫無法比擬的性能優勢。

  在http://nosql-database.org/中,對NoSQL的描述是:非關系的,分布式的,開源的而且可以垂直擴展的。并且大多數NoSQL數據庫具有以下特點:Schema-free,方便的支持數據冗余,簡單的API,基于最終一致性(eventually consistent)和BASE原則(而非ACID原則)。目前,Google 的 BigTable 與 Amazon 的 Dynamo 是非常成功的商業 NoSQL 實現。一些開源的 NoSQL 體系,如Facebook 的 Cassandra , Apache 的 HBase ,也得到了廣泛認同。

  CouchDB介紹

  CouchDB是Apache組織發布的一款NoSQL開源數據庫項目,是面向文檔類型的Nosql。它由Erlang編寫而成,使用JSON格式去保存數據。所謂文檔數據庫,并不是說它只能存儲文本。CouchDB的字段只有三個:文檔ID、文檔版本號和內容。內容字段可以看到是一個text類型的文本,里面可以隨意定義數據,而不用關注數據類型,但數據必須以json的形式表示并存放。CouchDB以RESTful API的格式提供服務,可以很方便地開發各種語言的客戶端。

  而CouchDB目前的優勢在于:它的數據存儲格式是JSON,而JSON為廣大程序員所熟悉,便于學習,而且CouchDB還可以移值到移動設備上去,當用戶不能聯網時,可以在客戶端保存數據,當能聯網時,可以自動把數據同步到各個分布式結點上去;CouchDB還支持分布式結點的精確復制同步,可以在一個龐大的應用中,隨意增加分布式的CouchDB結點,以支持數據的均衡。

  作為初學者,本文指導在Windows下安裝和初步使用CouchDB。因此本文并沒有選擇以Apache組織下的CouchDB作為介紹,因為該版本的CouchDB比較適合在Linux下進行編譯安裝,步驟比較復雜,因此本文選擇了使用CouchOne

  (http://www.couchone.com/)發布的CouchDB服務器社區版本。CouchOne公司今年與同樣從事NoSQL產品的Membase公司合拼,推出了CouchBase產品(分為社區免費版和商業版),將結合Membase、Memcached和CouchDB。并實現高性能緩存,彈性集群和數據庫功能等技術。而我們發現,couchone的社區版更適合于我們初學者學習。

初窺NoSQL世界 <a href=/yuedu/kaiyuan/ target=_blank class=infotextkey>開源</a>CouchDB新手入門

  下載安裝CouchDB

  首先到http://www.couchone.com/get下載couchbase的服務器版本,選擇Couchbase Server的社區版本,如下圖:

下載安裝CouchDB

  在下載后,直接點安裝文件就會進行自動安裝。在安裝后,我們要啟動Couchbase,啟動方法為:

    1)到安裝目錄Couchbase/Server/bin下,雙擊erl.exe,啟動erlang環境;

    2) 雙擊Couchbase/Server/bin下的couchdb.bat ,啟動couchdb。

  接著,我們通過FireFox瀏覽器(注意,目前只支持FireFox等瀏覽器,最好不要用IE),訪問http://127.0.0.1:5984/_utils,就可以看到couchdb的控制臺頁面了,如下所示,為了更好看到couchdb的交互過程,我們可以同時打開Firebug,如下圖:

下載安裝CouchDB

  順便提醒一下,couchdb大量使用了jQuery插件機制,可以通過http://127.0.0.1:5984/_utils/script/jquery.couch.js看到代碼的詳細情況,有興趣的可以查閱。

  創建數據庫用戶

  couchdb默認的用戶都是admin,這其實不大安全,因此我們可以先創建一個數據庫用戶,我們在頁面的右下角會發現如下圖描述的有Welcome to Admin Party! Everyone is admin! Fix this的字樣,點Fix this,然后在彈出的窗口中,可以輸入自己要設置的用戶名和密碼,保存即可。

下載安裝CouchDB

  同時,couchdb還支持使用jQuery中的$.couch.signup()方法去創建用戶,這樣,你就可以按照自己的需要去為couchdb去創建用戶了,比如增加一些字段屬性如email等,還可以設置更詳細的couchdb的權限。

  開始創建一個文檔數據

  下面我們開始使用couchdb的控制面板去創建一個文檔數據,步驟如下:

  1)點Create Database,在彈出的窗口中輸入文檔的名稱,這里我們命名為mycouchshop,點確定按鈕后,可以看到在控制面板中出現了我們剛建立的文檔,如下圖:

開始創建一個文檔數據

  2)點mycouchshop,將打開這個文檔;

  3) 點New Document,這將新建一個文檔;

  4) 在打開的文檔中,點Add Field去增加字段,首先,id是默認的字段,我們不需要修改它,我們增加一個字段的名稱name,然后在其value字段中寫入:NETtuts CouchDB Tutorial One,注意在每輸入完一個字段的值的時候,可以雙擊輸入的文本框,讓鼠標離開文本框,以方便輸入下一個字段的值,最后點Save Document保存我們的輸入,系統會自動增加一個rev的字段,這個是表示文檔的版本號,如下圖:

開始創建一個文檔數據

  如何更新一個文檔

  要注意的是,couchdb只一個只允許增加數據的數據庫,當要對數據庫更新時,只是向其中增加新的更新后的版本,而保留原始的版本。下面我們要對剛才新建立的文檔修改一下結構,步驟為:

  1)繼續打開mycouchsho數據庫;

  2)選擇增加字段,增加一個名稱為type的字段,值設置為product;

  3) 選擇保存該文檔。

  此時留意,當保存該文檔后,會發現如下圖所示,最下方couchdb會顯示出目前這個是第幾個版本:

開始創建一個文檔數據

  可以看到,目前的是第2個版本了,可以點Previous Version回到上一個版本。

  通過Curl去創建文檔

  在couchdb中,還可以使用支持使用curl的方式去新建一個文檔,而通過curl向couchdb創建文檔時,couchdb是通過REST的接口進行接收數據的。步驟如下,注意下面的方法需要在linux下運行創建。

  1)首先創建一個json格式的文件,代碼如下,將其保存為person.json:

   "forename":    "Gavin",   
"surname": "Cooper",
"type": "person"

it知識庫初窺NoSQL世界 開源CouchDB新手入門,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 亚洲AV久久婷婷蜜臀无码不卡 | 久久国产乱子伦免费精品 | 国产精品成人观看视频免费 | 久久精品电影 | 国产亚洲AV无码成人网站 | bl(高h)文| 99在线精品国自产拍 | 国产午夜精品久久久久九九 | 亚洲综合国产精品 | 六月婷婷国产精品综合 | 国产免费麻传媒精品国产AV | 飘雪在线观看免费高清完整版韩国 | 美艳人妻在厨房翘着屁股 | 一扒二脱三插片在线观看 | 国精产品一区二区三区四区糖心 | 窝窝影院午夜看片毛片 | 国产真实强被迫伦姧女在线观看 | 国产嫩草在线观看 | 三级黄视频 | 晓雪老师我要进你里面好爽 | 亚洲精品视频免费看 | 日韩精品a在线视频 | 中文字幕不卡免费高清视频 | www.青青草原| 好大快用力深一点h视频 | 野花日本免费完整版高清版动漫 | 99久久国产露脸精品国产吴梦梦 | 中国videos1314tv| 国产精品点击进入在线影院高清 | 亚洲免费网站在线观看 | 美女脱内衣裸身尿口露出来 | 青草国产超碰人人添人人碱 | 亚洲伊人久久大香线蕉综合图片 | 色婷婷粉嫩AV精品综合在线 | 99精品中文字幕在线观看 | 暖暖日本手机免费完整版在线观看 | 俄罗斯女人Z0Z0极品 | 国产剧果冻传媒星空在线观看 | 校花在公车上被内射好舒服 | 欧美大香线蕉线伊人久久 | 美女乱草鲍高清照片 |