debiancdn

AWS, Content Delivery Network and Debian

加畑さんインタビュー:衝突しない文字列を作るお話 [[JAWS DAYS 2013 Araki room]] #jawsug

2013年春、東京ビッグサイトへ集結せよ!という掛け声で、3月の15日、16日の二日間アマゾンウェブサービスのユーザグループであるJAWS-US (Japan AWS User Group)が全国から一同に会してユーザカンファレンスを行いました。当日のタイムスケジュール、資料、動画はこちらから参照できます。

荒木が進行した「荒木の部屋・AWSサポート出張所(松井の部屋)」についてはUstream中継の記録がいつでもご覧いただけます。本記事はそこでの会話内容、プレゼンテーション内容を元にしています。一連の記事はこちらで順次追加公開していきます。

ユニークなIDをどうやってコスト安く=O(log2)で作るかというマニアックなお話(Youtubeはこちら)。

乱数はかぶる、ハッシュは長いので。さて。

2兆個、だいたい英数8桁の衝突しない文字列をつくるお話。

素数は3793、3797、3803、3821、3823、3833、3847。。というあたりで存在しています。ここから4つ(p1,p2,p3,p4)選んだ積は2兆くらいになる。そこで3800×4個のファイルをS3につくっておく。それぞれのファイルは2桁の文字(Ad, s6, xJとか。。)を入れた1.txtとかのファイル。

あとはシーケンシャルに作った数Nを N mod p1, N mod p2, N mod p3, N mod p4のファイルから取り出すとぶつかることがない8桁の文字列がコスト低く取り出せる、という話でした。ユニークなIDを連番でなく使いたいときに使えます。実際5000req/secをt1.microで作れているそうです。Nを作るためにMySQLを使っている。

AWSでオートナンバーだけ返すサービスがあればそのNを自分で作る必要がないので作って欲しい、という話でした。

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中