タグ

2023年5月17日のブックマーク (2件)

  • Snowflake形式のIDを採用した場合の苦労ポイント - yoskhdia’s diary

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

    Snowflake形式のIDを採用した場合の苦労ポイント - yoskhdia’s diary
  • 球面集中現象 - 具体例で学ぶ数学

    二次元の場合 いきなり高次元の球を考えるのは大変なので、二次元の場合の球(つまり円)について考えます。半径 $1$ の円について、中心から距離が $0.9$ 以上離れている部分を「表面付近」と呼ぶことにします(図の緑の部分です)。 ・全体の円の面積は $\pi\times 1^2=\pi$ ・「表面付近」の面積は $\pi -\pi\times 0.9^2=0.19\pi$ つまり、全体のうち表面付近にあるのは $19$ %です。 三次元の場合 次に、三次元の場合の半径1の球(つまり普通の球)について考えます。同様に、中心から距離が $0.9$ 以上離れている部分を「表面付近」とします。 二次元の場合と同様に直接計算してもOKですが、ここでは(三次元空間において)相似な図形の体積比が相似比の三乗に比例することを使って計算してみます。 ・全体の球の体積を $V$ とおく ・「表面付近」の体積