まず第一に、IP V6アドレスを保存したいと述べたので、2 ^ 128整数キーの前提は間違っています。IP V6 アドレスは 128 ビット長です。整数として格納するには、アドレスごとに 128/32 または 4 つの 32 ビット整数が必要です。したがって、正しい見積もりは、2^128 の可能なアドレス * 4 つの整数で、合計で 2^128 * 32 ビット整数の 4 つのキーになります....
とにかく、私はそれをバイト単位で求めているので、2^128 の可能なアドレス * 4 つの整数 * 整数あたり 4 バイト = 5.44 * 10^39 バイトになります。その後、アンドレアスの計算に従うだけで、さらに多くの結果が得られます....
そうは言っても、IP V6 の考え方は、使用する必要があるよりも多くのアドレスを持つということです。したがって、2^128 に近い値が何年にもわたって割り当てられるとは思えません。せいぜい今 IP V6 に移行すると、IP V4 アドレス空間が割り当てられるだけで、IP アドレスの数は毎年増加しますが、それほどではありません。
とにかく、スキーマが定義されていないため、何を保存しているのかわからないように思われるため、Azure テーブルが必要な場合があります。ほとんどの場合、キー/値です。IP アドレスごとに、まったく異なるプロパティを保存できます。また、更新/挿入/マージ操作を使用して、別のプロパティを追加したり、別のプロパティを削除したりするのは非常に簡単です。ただし、SQL を使用するよりもデータに均一性を適用したい場合。変更が発生したときにスキーマを変更する必要があるのは事実ですが、これにより、すべての行 (したがって IP アドレス) が同じデータを持つことが強制されます。そうしないと、「必要な」列/プロパティを省略したり、複数のアプリケーションがある場合にそれらのスペルを間違えたりするのは簡単です。しかし、それは本当にあなたが何をしたいかによって異なります。これ' データの整合性を重視しますか、それともプロパティの柔軟性を重視しますか? スキーマを変更する必要がありますが、スキーマから列を追加/削除するコマンドがあります。すべての IP アドレスに同じプロパティを格納するか、それぞれに異なるプロパティを持たせるかが重要です。特定の IP アドレスのほとんどのプロパティを使用していない場合、Azure テーブルの方法は、おそらく SQL の方法よりもアドレスごとに必要なストレージが少ないと思います。したがって、それはすべてあなたが探しているものに依存します。