table-size
table-size -name <name> -json <string>
[-rows <num> [[-primarykey | -index <name>] -keyprefix <size>]]
行入力を使用して指定の表のキーおよびデータ・サイズを計算し、必要に応じて、同じ書式の指定行数に必要なNoSQL DBキャッシュ・サイズを見積もります。複数のサンプル行でこのコマンドを実行することにより、ストア・パフォーマンスに必要なキャッシュ・サイズを決定するのに役立ちます。
-
-jsonでは、計算に使用するサンプル行を指定します。
-
-rowsでは、キャッシュ・サイズの計算に使用する行数を指定します
-
-indexまたは-primarykeyおよび-keyprefixを使用して、索引キーの予期する共通点をバイト数単位で指定できます。
このコマンドの主な実行内容は次のとおりです。
-
JSON形式の入力行に基づいてキーとデータのサイズを計算します。
-
同じJSON形式で指定された行数に必要なDBキャッシュ・サイズを推定します。
出力には、主キー/索引に関する詳細なサイズ情報と合計サイズが含まれ、内部的にJEのDbCacheSizeユーティリティを呼び出して、入力パラメータを利用し、主キーと索引に必要なキャッシュ・サイズを計算します。
java -jar $KVHOME/dist/lib/je.jar DbCacheSize -records <num> -key <size> -data <size> -keyprefix <size> -outputproperties -replicated <JE properties...> -duplicates]
説明:
-
-records <num>: -row <num>によって指定された行の数。
-
-key <size>: ステップ1で取得されるキーのサイズ。
-
-data <size>: ステップ1で取得されるデータのサイズ。
-
-keyprefix <size>: -primarykey | -index <name> -keyprefix <size>を使用して指定される、キーの予測される共通点
-
-duplicates: 表索引のためにのみ使用されます。
-
-<JE properties...>: kvstoreで使用されるJE構成パラメータ。
-
次に例を示します。
kv-> execute "create table user (id integer, address string,
zip_code string, primary key(id))"
kv-> execute "create index idx1 on user (zip_code)"
次の場合を参照してください。
-
JSONの入力行に基づいてキーとデータのサイズを計算します。
kv-> table-size -name user -json '{"id":1, "address": "Oracle Building ZPark BeiJing China", "zip_code":"100000"}' === Key and Data Size === Name Number of Bytes ----------------- --------------- Primary Key 8 Data 47 Index Key of idx1 7
-
10000行の表のキー/データのサイズとキャッシュ・サイズを計算します。
kv-> table-size -name user -json '{"id":1, "address": "Oracle Building ZPark BeiJing China", "zip_code":"100000"}' -rows 10000 === Key and Data Size === Name Number of Bytes ----------------- --------------- Primary Key 8 Data 47 Index Key of idx1 7 === Environment Cache Overhead === 16,798,797 minimum bytes === Database Cache Sizes === Name Number of Bytes Description ----- --------------- ---------------------------------- 1,024,690 Internal nodes only Table 1,024,690 Internal nodes and record versions 1,024,690 Internal nodes and leaf nodes ----- --------------- ---------------------------------- 413,728 Internal nodes only idx1 413,728 Internal nodes and record versions 413,728 Internal nodes and leaf nodes ----- --------------- ---------------------------------- 1,438,418 Internal nodes only Total 1,438,418 Internal nodes and record versions 1,438,418 Internal nodes and leaf nodes
詳細は、DbCacheSizeのjavadocを参照してください。
ノート:
キャッシュ・サイズは、次の方法で計算されます。
-
表のキャッシュ・サイズ
java -jar KVHOME/lib/je.jar DbCacheSize -records 10000 key 8 -data 47 -outputproperties -replicated <JE properties...>
パラメータは次のとおりです。
-
レコード番号: 10000
-
主キー・サイズ: 8
-
データ・サイズ: 47
-
-
表のキャッシュ・サイズ
java -jar KVHOME/lib/je.jar DbCacheSize -records 10000 -key 7 -data 8 -outputproperties -replicated <JE properties...> -duplicates
パラメータは次のとおりです。
-
レコード番号: 10000
-
索引キー・サイズ: 7
-
データ・サイズ: 8。セカンダリ索引のデータが主キーなので、ここでは主キー・サイズを使用しています。
-
索引に-duplicatesを使用します。
-
-
合計サイズ = 表のキャッシュ・サイズ+idx1のキャッシュ・サイズ。
-
-
idx1のキー接頭辞サイズでキャッシュ・サイズを計算します
kv-> table-size -name user -json '{"id":1, "address":"Oracle Building ZPark BeiJing China", "zip_code":"100000"}' -rows 10000 -index idx1 -keyprefix 3 === Key and Data Size === Name Number of Bytes ----------------- --------------- Primary Key 8 Data 47 Index Key of idx1 7 === Environment Cache Overhead === 16,798,797 minimum bytes === Database Cache Sizes === Name Number of Bytes Description ----- --------------- ---------------------------------- 1,024,690 Internal nodes only Table 1,024,690 Internal nodes and record versions 1,024,690 Internal nodes and leaf nodes ----- --------------- ---------------------------------- 413,691 Internal nodes only idx1 413,691 Internal nodes and record versions 413,691 Internal nodes and leaf nodes ----- --------------- ---------------------------------- 1,438,381 Internal nodes only Total 1,438,381 Internal nodes and record versions 1,438,381 Internal nodes and leaf nodes
詳細は、DbCacheSizeのjavadocを参照してください。
ノート:
idx1にはキー接頭辞サイズが与えられ、idx1のキャッシュ・サイズは次のように計算されます。
java -jar KVHOME/lib/je.jar DbCacheSize -records 10000 -key 7 -data 8 -keyprefix 3 -outputproperties -replicated <JE properties...> -duplicates
上の例では、idx1のキャッシュ・サイズが413,691であり、ケース2の413,728より小さいことがわかります。keyprefixの使用方法の詳細は、JE DbCacheSizeのドキュメントを参照してください。