Dynamoの論文を訳した


Dynamo: Amazonの高可用性Key-value Store[和訳] — Gist

 

DynamoDBとかも出てきた事だし、MySQL以外のデータベースに興味が出て来たのでNoSQL的な流れの源流っぽいDynamoの論文を読んでみることにしました。十日くらい掛けて一通り読んだものの、時間がかかりすぎて何が書いてあったのか全く覚えていなかったので、論文の抄訳的なものをサラリと書き出して理解に努めようと思ったのだけど、残念ながらサラリとエッセンスを抽出出来るほど頭がよくなかったので、しょうがないのでカッとなって全訳しました。

 Dynamoは、「顧客は例えディスクが壊れていようが、ネットワーク経路が断線しようが、データセンターが竜巻で破壊されようが、彼らのショッピングカートを閲覧したり、アイテムを追加したりできるべきです」とか、その可用性のためにバージョン衝突とその調停を受け入れ、カートに追加したアイテムが消えたりはしないが、カートから削除したアイテムがいつの間にか復活する事態は許容する、みたいな決断をしているあたりがかっこいいなと思いました。

ECのデータ永続化に関してそんな設計に承認したりするのは怖くてそうだと思うのだけど、技術的な限界点とECサービスとしてのビジネス要件を高度に判断する企業なんだなーという印象を持ちました(ECサービスに関わったことがないので素人の見解です)。トランザクション処理や原子性保証が自明でないNoSQL時代においてスケールするシステムを構築するためには、そういった判断が重要になってくるのかなと思いました。

 

ところで落ち着いて読んでみたらDynamoとDynamoDBは思いのほか別物だったのでいま泣いてます。