2012-01-10

install Cassandra in Ubuntu

目標:
    利用 VirtualBox 架起兩台 ubuntu server,並且安裝 Cassandra,並設定成同一個 ring。

環境(environment):
(1) Virtual Box
(2) Ubuntu 10.04
(3) Cassandra
   
步驟:
(1) 安裝 ubuntu server * 2。
      IP 分別為 192.168.65.39 & 192.168.65.222。
(2) 分別安裝 Cassandra。
(3) 設定兩台成一個 cassandra ring。
      以 192.168.65.39 為 seed provider。


2011-12-02

NoSQL (II)

主要參考自 IThome
   NoSQL解決資料庫暴量的新方法
   了解NoSQL不可不知的5項觀念  :
   快速認識4類主流NoSQL資料庫  : 這4大類型包括了Key-Value資料庫、記憶體資料庫、圖學資料庫和文件資料庫。

[terms]:
avalanche of data: 雪崩資料(大量資料或瞬間之高流量)
split-brain
map-reduce: 映射 與 化簡
parallel aggregated queries: 平行聚合查詢

about NoSQL

這篇是看了 InfoQ 上的影片: NoSQL誤用和常見陷阱分析(孫立) 後,記錄下的一些摘要:

NoSQL:
1. 有許多個版本,如 TtServer(
Tokyo Cabinet), ....
2. 升級版本之相容性: data format, API interface
3. 精通它


2011-11-10

列表(List)與字典(Dictionary)的比對效能

[問題]
某個 windows service 時常處於 CPU 忙碌、佔據大量記憶體,而且執行速度極慢? (應該說是執行結果跟不上現實需要)

[原因]
幾經測試,原來...,現有的 code 是用上 List().Contains 的方式來比對。
以前沒那麼慢,那是因為要比對的歷史記錄並不多,而累積到現在,赫然發現已有四十七萬多筆了。再加上判斷二千多筆資料是否存在在歷史記錄之中,比對數就用上了 2k * 470k 這種等級。難怪CPU那麼忙,而且要花費許多時間。

[step]
知道原因後,二話不說,直接改寫成 Dictionary,利用 Dictionary 來比對。
結果,執行一次時間由數十秒變成1~2秒,CPU 偶爾上揚一下 -- 表示有在做事。
這... 也不去細究源由了,算是補上一個坑,路更平了。

2011-11-09

消失的時間 -- ASP.Net 呼叫 remoting call

[寫在前面]

(1) 在 IIS 下,aspx 接到 request 後,再以 remoting call 的方式,呼叫一 windows service(主要是在本機上); 而這個 windows service 實做了所有的邏輯,並且會定時(如: 每一分鐘或每五分鐘)從 database 中重新載入資料形成 memory cache;並將結果回傳給 aspx,再由 aspx 組成網頁或字串以回應。
(2) aspx 與 windows service 會記錄各自所消耗的時間。
(3) environment: Windows 2003, .net framework 2.0 sp1.

[問題 & 狀況]
(1) aspx 記錄了呼叫 remoting call 到得到結果的時間,在某些時候,會遠超過 windows service 處理該次的時間。
      而其中,消失的時間那裡去了呢?
      會是因為 thread pool 滿了,而在等待嗎? CPU 太忙所導致嗎?
      但是看起來,系統資源似乎還綽綽有餘啊!
(2) 而這種現象,在流量大(QPS高)時,尤其明顯。
(3) 有些機器很嚴重,但有些機器卻還可以接受。(ps: 機器等級差不多,執行內容都相同。)

2011-11-01

customize setting of new layout/UI (Google plus style) of Google Reader

Google Reader 是我常用的瀏覽資訊服務,它讓我在一個畫面看盡了我有興趣(訂閱RSS)的網站的更新文章,而不用煩惱"不知何時該去巡視一遍網站"、"到底何時有新文章"。

但由於 Google Reader 預設的文字大小、以及版面的設計佔了許多面積,於是在 Firefox 與 Chrome 裡,我都使用了 Stylish 這個擴充元件,並且在 userstyles.org 安裝了一些可以改變 Google Reader 版面的 script code。後來,我也試著自己去修改其中的 code。

但在今天使用 Google Reader 時,Google  Reader 被套用了 Google+ style 產生了新的版面,所以之前的就不合用了。

試著自已修改了一下,還不錯,分享如下:

2011-10-28

MongoDB 小試

今天又測試了 MongoDB,覺得還蠻有趣的,只管新增資料,就可以直接查詢了,毋須留意 table schema。

主要有兩個測試,分列如下:

[Question 1]
     relational database 中的一筆資料有多個欄位,在 MongoDB 中如何達到這種效果呢?