2014年2月15日

DynamoDB python 支援現況

用了幾天 DynamoDB (with python boto)下來實在是很不順,最主要原因是版本支援凌亂,現在 python boto v2.25 總共有兩個 module, boto.dynamodb, boto.dynamodb2 ,兩個版本的比較可以看這裡,然後每個版本又分兩個 layer, layer1, layer2,layer2 是 high level api 而且並不是只用最高層最新版的就好了,新版的很多細部功能還沒支援,用底層 api 又會增加很多負擔,比如說像 ACID 更新一個 entity,支援度比較好的是 layer1.update_item,用 layer2 反而要自己建立 request json 內容,另外像是批次抓資料,目前是 boto.dynamodb 的支援度比 boto.dynamodb2 來的好,可以限制抓取特定的 property ,但是要用不同 library 又相似的功能相似的功能名稱造成程式不好閱讀,有時候看到一個 table object 卻不知道是哪一個版本的哪一層的 table 。