2017-10-31 8 views
1

48GBのRAMを搭載した2台のホストサーバー(合計96GB)に80GBのデータをアップロードしようとしています。私たちはテーブルも分割しました。ただし、パーティション分割しても、最大10 GBのデータしかアップロードできません。 VMCインターフェイスでは、サイズワークシートを確認しました。表の行数は40,00,00,000、表の最大サイズは1053,200,000k、最小サイズは98,000,000Kです。だから、パーティション分割後も80GBをアップロードする際の問題は何ですか?このテーブルサイズは何ですか?VoltDBでパーティショニングしてもデータをアップロードできません

答えて

1

サイズワークシートは、表のスキーマに基づいて、行数に必要なメモリの最小サイズと最大サイズを提供します。 VARCHARまたはVARBINARYの列がある場合は、minとmaxの差がかなり大きくなる可能性があります。実際のメモリ使用量は通常、その中間にありますが、ロードする文字列の実際のサイズ。

しかし、ワークシートによれば、最小サイズは98GBであり、null可能な文字列がnullであるか、空でない文字列が空の文字列であることを意味します。ヒープサイズとオーバーヘッドを考慮しなくても、これは96GB以上の容量です。

kfactorの設定は何ですか? 0の場合、各レコードのコピーは1つのみです。 1の場合は、各レコードが2つコピーされるので、その構成では最低196GBが必要です。

RAM内の1レコードあたりのサイズは、選択したデータ型およびインデックスがあるかどうかによって異なります。また、15文字または63バイトより長いVARCHAR値は、固定長記憶域よりもオーバーヘッドのかかるプール・メモリーに格納されますが、値が最大サイズよりも小さい場合は無駄なスペースを削減できます。

メモリ内のレコードごとのサイズを最小限にする方法についてのアドバイスが必要な場合は、テーブルとインデックスの定義を共有してください。サイズを小さくする可能性のある調整を提案できます。

クラスタにノードを追加したり、RAMを増やして容量を増やすことができます。

関連する問題