Google Cloud Bigtableの開発インスタンスをPythonクライアントgoogle-cloud-happybaseパッケージとともに使用しています。Google Cloud BigTableのスキャン速度
開発目的の場合: - 私のテーブルは56.5k行に18列あります。
-Myテーブルは、各行の要素の
・平均サイズの含有量が9.5バイトである1列ファミリーを有します。
行×キーは-The行キーが釣り合う平均〜35バイト
です。
テーブルにscan()関数を使用すると、各行キーの内容を取得するために使用できるジェネレータが得られます。私は発電機から内容を読み取るたびに、私は、例えば一貫性のタイミングていません。
samp = table.scan(columns = ['sample_family:ContactId'])
for i in range(56547):
start_time = timeit.default_timer()
samp.next()
elapsed = timeit.default_timer() - start_time
append_list.append(elapsed)
(次を呼び出すため-The期間の中央値)を4.05e-06秒
-The最大時間は、 next()を呼び出すには0.140秒かかるいくつかの呼び出しで.404秒です。
- 外れ値のため、ジェネレータのすべての要素のnext()を呼び出す合計時間は理想的には(4.05e-06)* 56,547〜0.29秒です正常に配布されました。
明らかに、パフォーマンスを捨てるいくつかの異常値があります。
それはここで見つけるメトリックと一致していないとして、私の質問は、なぜ私は、パフォーマンスのこのタイプを見ていている:https://cloud.google.com/bigtable/docs/performance
私の考え があるワークロードが大幅未満< 300ギガバイトであることから、Bigtableのは可能性があることを小さなセットのパフォーマンスを最適化するデータのバランスを取ることはできません。
また、私の開発インスタンスが17.1MBの1ノードを使用していても、これは問題ではないと思います。
- 私は、誰かが遭遇した問題や問題を洞察し、状況を改善するための可能なステップを教えてくれるのだろうかと思っていました。