高速にIDを採番できる仕組みを検討したとき、Snowflake形式のID生成は選択肢のひとつとして有力です。 Snowflakeを紹介する記事は見つかりますが、実際に採用して苦労した話はあまり聞かないため、備忘的に書いてみるエントリです。 Snowflakeとは 1つのIDは64bit(ScalaではLong型)に収まり、ID採番サービスを複数のデータセンターに分散可能かつ高速に採番可能に設計されたID生成の方式です。 先頭ビットにタイムスタンプを持つため、順序があることも特徴のひとつです。 Twitter社がオリジナルの考案者です。*1 github.com カヤック社からSnowflake形式でID生成可能なKatsubushiというオープンソースのソフトウェアがGithubで公開されています。 発表スライドも参考になります。 github.com 他のID生成方式 他にはDBのシーケ