What have you found for these years?

2009-08-11

couchdb + datamapper

筆記,現有的不能用

1. 用 /_uuids?count=100 跟 couchdb 取 uuid
不過取一筆就好,省得還要維護 state.
因此產生新資料需要 GET + PUT
修改的話也需要 GET + PUT, 前者取 rev,
可以不用在一個 end-user http request 中做。

0.9.1 版看起來是隨機的 md5 值。
不用 serial 因為這方法 overhead 似乎有點高。

collision 時?就重抓 uuid, 這邊做遞迴。
暫時不考慮深度,會碰撞到跑不完應該有點扯...
大不了要求 couchdb 把 md5 換 sha1, 甚至 sha256 @@

2. 每一個 relationship 都要建立一個 view,
根據這篇的方法: CouchDB "Joins"
因此需要 auto_migrate! 或 auto_upgrade! 來建立 view.
只需要用在 has n 上面, belongs_to 不需要。

3. dm-rest-adapter 完全不能用...
dm-couchdb-adapter 看起來過期了,
所以大概是參考他和 0.10 的 AbstractAdapter 做一份。

4. 不知道 Net::HTTP 是不是 thread-safe...

5. many to many 的 relationship 暫時還沒考慮。
依照 view 這麼強大的彈性,很可能不需要?

0 retries:

Post a Comment

All texts are licensed under CC Attribution 3.0