好這都不是重點~XD 重點是這個星期剛好Amazon 有舉辦 AWS DynamoDB and Elastic MapReduce 的 Technical Workshop,當然就二話不說立馬報名~
由於這次講的主題是針對產品的技術Detail 去介紹和探討,如果對NoSQL 不認識或不了解,可能會容易聽不懂吧?我在這邊嘗試著整理我有記錄到的筆記再加一些我的記憶。
DynamoDB
一開始講師Jidesh 先定義怎樣的情境該使用NoSQL (for high throughput),什麼時候還是該用SQL (specific data with structure attribute),然後才開始進入主題介紹DynamonDB,不過講師還是建議大家有時間的話還是先去看 Amazon CTO - Werner Vogels 所寫文章 和介紹paper (PDF)。
DynamoDB 的定位很明確,就是專門處理 High throughput , Small size item (
此外Jidesh 花了很多時間在解釋Dynamo DB 神奇的 partition (or Sharding?)機制,簡單來說他們是透過ring 的概念去做資料的hash,所以會盡量的把資料分散到各個node,但是如果有某筆資料存取特別頻繁(hot data),Jidesh 會建議可以把Key 再次分散,比如說Key=a,改成Key=a1,a2,a3....等,不過我也有問他那目前有提供任何的機制去監控hot data access嘛?結果目前是還沒有的,所以看樣子只能透過經驗法則,如:
64k item size limit, 1KB metering for throughput),特色如下:
- 沒有Schema 的概念,就只有很簡單Key-value pair的table
- 兩種Hash Key 模式 :Single Key & Composite key (Range key)
- No index Query API ,only scan API
- 如發現系統效能變慢
- 發現資料存取throughput 太大
目前也有提供免費試用方案(Free tier),詳情請見官網:
● 10 reads/sec and 5 writes/Sec
- Metering is done in 1KB blocks
- 10, 1KB items equivalent to 1,10KB item
● Scan and Edit Tables in the AWS console
Elastic MapReduce
在介紹EMR之前,Jidesh 先重新介紹了一下Big Data ,其種講到幾個重點:- 3Vs (Volume & Velocity & Variety)
- Big Data 到底要收集什麼,越來越難定義,越來越多東西都要收集,事後再來分析
- New model is collect as mush as possible. "Data-First " Log everything!
- Collect & store & analyze & share
後面就是最刺激的Live Demo 啦,教材都有放在網站上,這次講的題目是:
後記:
所以EMR有兩種用法,一種是開了只做短暫的分析,另一種是開了就拿來做長期使用,真的跑Hadoop的Service 在上面,不過這時候價錢就會是考量了....
Reference:
[1] AWS Elastic MapReduce Document
5 則留言 :
你好,我在google 發現了你的blog。我們想要在台灣找軟體公司可以把現存的網站轉到AWS dynamo 上面,請問你有沒有關於這類公司的資訊呢?或者建議去哪些地方尋找?
謝謝!
Eddie 你好請問你們是美國公司還是台灣公司啊?:P 就我的認知,AWS Dynamo 適合吞吐量大,或是生命週期可能比較短暫的網站,如果你們的網站是這種性質,那再考慮會比較好,其實你可以問AWS在台灣的account manager 他們可以幫你介紹,需要聯絡方式的話我可以幫你聯絡,還是包給我做(咦?XD),
你好,我上次有回信給你,不過好像沒有寄到這裡來?不知道是寄去哪裡了。
我們是美國公司,我負責回台灣找可以重建網站的軟體公司。
可以請你給我AWS 台灣 AE 的聯絡方式嗎?
如果你個人有在接 case,我們也可以談談後續的細節。
hello~你試著回這個訊息,應該會直接寄到我信箱,然後我們在信裡談
如果還是不行,那就先寄信到
howie.yu at outlook.com
我們之後在信裡談~:)
張貼留言