[Couchbase] Couchbase 介紹 - Server - 2

再上一篇已經完成了安裝, 這邊稍微簡單解釋一下畫面上的功能

我並沒有全部都有用到, 我只目前覺得比較可以觀察跟使用的地方做講解

Cluster Overview


顯示現在機器的基本狀況, 記憶體&硬碟使用情況, 還有bucket簡易的顯示畫面, 跟現在連線到cluster的狀況


Server Nodes


在Server Node你會看到你所加入的每台機器的基本狀況, 而且也會看到每個記憶體跟硬碟使用狀況, 還有每台機器的運作時間, 以及Couchbase版本

列出一張多台狀態


Data Buckets


這邊會列出已經存在的Data Bucket, Bucket有在幾個Nodes上面

也可以在這邊做新增Bucket的功能

不過那畫面跟上一篇安裝介紹畫面差不多, 新增的就不多說了

已經存在多少筆Data, 現在每秒存取多少資料, 還有每個Bucket所使用的Ram/Disk Usage

畫面還有5個功能, 可以直接點beer-sample看運作狀況, 或者試點右邊的Documents - Views - Compact - Edit

左邊直接點beer-sample Bucket看細部運作狀況, 會看到General Bucket Analytics



因為只是拿測試, 沒有甚麼實際數據, 當data在存取的時候, 這邊會有很豐富的狀況,

像是每秒的讀/寫, miss ratio, total active doc, memory used...etc.

而且還可以依據分, 時, 天, 週, 月, 年來區分

話說這邊有個有趣的現象, 因為他其實背後是算一段時間的平均, 所以要是不夠穩定的網路存取, 會看到有時候會有大的peak, 有時候又平平沒動靜, 那其實很正常

其他詳細請查官方文件, 都介紹會太瑣碎...

最下面可以看到最常存取的Key是哪些, 如果是做real time服務的或許會滿有用的

點 Document

點了會列出一些已經存在的項目 - 這邊我拿內建的測試資料 bear-sample做範例

可以看到左邊有ID, 那是 DocumentID基本上就是Key, 右邊有Content也就是一般稱呼的Value, 右邊可以直接點Edit Document來修改內容, 或者直接按Delete刪掉此筆資料

這邊稍微解釋一下, 因為這是一個NoSQL的data format, 基本上NoSQL就是靠著Key-Value的型態去建構, 不清楚的人可以去google一下 C++的STL - map 或是Python的dictionary, Java的HashMap...etc. 很多語言都有支援這種格式, 而為甚麼Key-Value會很快, 這就扯到資料結構了, 基礎上來講這是資料結構上的紅黑樹實作, 但其實implementation上有更多的變化, 想了解的可以去google一下資料.

但是在NoSQL database, 那個value通常都不是那麼單純的放個數字之類, 如a => 1, b => 2, 反而通常value都會存放不少重要的紀錄, 只是利用key來快速存取出整筆資料, document式的存取

點 Views

會直接跳到下一個功能Views, 兩個是一樣的, 留到下面講

點 Comapct

我都是讓他自動Compaction,

想要詳細了解請參看: http://www.couchbase.com/docs/couchbase-manual-2.0/couchbase-admin-tasks-compaction-process.html

或者等我哪天很閒再補充...

點 Edit

跟新增Bucket的畫面接近, 可以修改一些設定, 也可以整個刪除Bucket或是做Flush

Views


切到views的時候要注意, 假設有多個Buckets記得要先選, 這邊預設是beer-sample, 然後會分成兩種Views, 一個是Development Views, 一個是Production Views, Development Views可以讓你設計你要怎麼去存取你的NoSQL Data, Production Views則是不能修改, 會有這兩種差異是因為, Development Views會只有部份的data來配合你寫的規則, 只是做測試跟簡易的驗證, 並不會整個data全部參考到, 舉例來講, 整個Bucket有十萬筆data, Development Views可能只會看到幾百甚至幾千筆data, 讓你寫規則的時候可以看, 但並不會套用全體, 而如果已經確定寫好規則, 可以從Development Views轉成Production Views, 然後他會針對你寫的規則, 對整體的data做加速(通常是針對你寫的規則對data做index), 之後存取這樣規則的data, 速度就會大幅的上升.

之後我特地用一篇文章來仔細的講解如何使用Views, 這算是他在data操作上最精華的內容, 不過我也只是針對自己用過得需求使用.

XDCR



XDCR是縮寫, 全名為Cross Datacenter Replication, 簡單講, 就是可以做異地備援的操作, 而且相當的容易操作, 如果你今天有NoSQL data要作備援, 這應該可以滿足你的需求. 首先點Create Cluster Reference, 會出現


輸入Cluster Name跟加入備援的機器IP即可, 那台Couchbase機器的帳號密碼也要輸入, 要當備援的機器當然也要裝上Couchbase的服務, 這邊我做一個有趣的測試(其實是因為手上VM剛好空間不夠, 有空再放他台測試...), 我選自己這台當備援


跟著就是要設定你要備援哪些Bucket, 甚至是倒到哪個Bucket裡面去, 都可以做細部的設定, 那我在我這台測試機上面多開一個Bucket叫做testbackup, 然後要將beer-sample備援到testbackup


就會開始看到他正在把資料慢慢的倒過去

XDCR的特點就是, 你不用一樣的機器, 你只要有足夠的空間跟記憶體存放, 而且只要你在原本的Cluster增加了一筆資料, 被加入XDCR的cluster也就馬上會新增一筆資料.

而且XDCR本身也是一台完整的Couchbase Server

需要更多了解請參看官網: http://www.couchbase.com/docs/couchbase-manual-2.0/couchbase-admin-tasks-xdcr.html

Log

我只有出異常狀況才會來看, 這邊就單單只是個Log

7. Settings

這邊就是一些比較瑣碎的設定, 像是要不要接獲新版通知, 要不要做自動Failover, 如果出問題要不要做Alert(自動寄信通知等), 還有要不要Auto-Compaction, 最後一個則是要不要把範例的Bucket導入進去

下一篇會提及用API跟Couchbase溝通, 目前我只有在C&C++&PHP使用過, 其餘語言有需要會在加上, API介紹完才會把最重要的Views寫一篇介紹使用, 那才是NoSQL做SQL的精華(純個人想法)

留言

這個網誌中的熱門文章

[Linux] Linux下查詢硬體記憶體資訊 Memory Information

[Other] Chrome 重新整理所有開啟頁面

[Python] Simple Socket Server