Documentation Home
MySQL 8.0 リファレンスマニュアル
Download this Manual
PDF (US Ltr) - 36.1Mb
PDF (A4) - 36.2Mb


MySQL 8.0 リファレンスマニュアル  /  ...  /  ndb_size.pl — NDBCLUSTER サイズ要件エスティメータ

このページは機械翻訳したものです。

23.4.28 ndb_size.pl — NDBCLUSTER サイズ要件エスティメータ

これは、NDBCLUSTER ストレージエンジンを使用するように変更された場合に、MySQL データベースによって要求される空き領域の大きさを見積もるために使用できる Perl スクリプトです。 このセクションで説明するほかのユーティリティーとは異なり、NDB Cluster にアクセスする必要はありません (実際には、これを行う理由はありません)。 ただし、テストするデータベースがある MySQL サーバーにアクセスする必要はあります。

要件

  • 実行されている MySQL サーバー。 サーバーインスタンスは NDB Cluster をサポートする必要はありません。

  • Perl の有効なインストール。

  • DBI モジュール (まだ Perl インストールの一部でない場合は、CPAN から取得できます) (多くの Linux およびその他のオペレーティングシステム配布では、このライブラリの独自のパッケージが提供されています)。

  • 必要な権限を持つ MySQL ユーザーアカウント。 既存のアカウントを使用したくない場合は、GRANT USAGE ON db_name.* を使用して作成するだけでこの用途には十分です。ここで、db_name は検査するデータベースの名前です。

ndb_size.pl は、storage/ndb/tools 内の MySQL ソースでも見つかります。

次のテーブルに、NDB Cluster プログラム ndb_size.pl に固有のオプションを示します。 追加説明が表のあとにあります。 ほとんどの NDB Cluster プログラム (ndb_size.pl を含む) に共通のオプションについては、セクション23.4.32「NDB Cluster プログラムに共通のオプション — NDB Cluster プログラムに共通のオプション」 を参照してください。

表 23.47 プログラムで使用されるコマンドライン・オプション ndb_size.pl

形式 説明 追加、非推奨、または削除された

--database=dbname

検査するデータベース。カンマ区切りのリスト。デフォルトは ALL (サーバー上のすべてのデータベースを使用) です

(MySQLに基づくすべてのNDBリリースでサポート 8.0)

--hostname[:port]

ホストおよびオプションポートを host[:port] として指定します

(MySQLに基づくすべてのNDBリリースでサポート 8.0)

--socket=file_name

接続先のソケットの指定

(MySQLに基づくすべてのNDBリリースでサポート 8.0)

--user=string

MySQL ユーザー名の指定

(MySQLに基づくすべてのNDBリリースでサポート 8.0)

--password=string

MySQL ユーザーパスワードの指定

(MySQLに基づくすべてのNDBリリースでサポート 8.0)

--format=string

出力形式 (テキストまたは HTML) を設定します

(MySQLに基づくすべてのNDBリリースでサポート 8.0)

--excludetables=tbl_list

カンマ区切りリストのテーブルをスキップ

(MySQLに基づくすべてのNDBリリースでサポート 8.0)

--excludedbs=db_list

カンマ区切りリストのデータベースをスキップ

(MySQLに基づくすべてのNDBリリースでサポート 8.0)

--savequeries=file

指定したファイルにデータベースのすべてのクエリーを保存

(MySQLに基づくすべてのNDBリリースでサポート 8.0)

--loadqueries=file

指定されたファイルからすべてのクエリーをロードします。データベースには接続しません

(MySQLに基づくすべてのNDBリリースでサポート 8.0)

--real_table_name=table

一意のインデックスサイズ計算を処理するテーブルを指定

(MySQLに基づくすべてのNDBリリースでサポート 8.0)


使用法

perl ndb_size.pl [--database={db_name|ALL}] [--hostname=host[:port]] [--socket=socket] \
      [--user=user] [--password=password]  \
      [--help|-h] [--format={html|text}] \
      [--loadqueries=file_name] [--savequeries=file_name]

デフォルトでは、このユーティリティーはサーバー上のすべてのデータベースを分析しようとします。 --database オプションを使用すると、単一データベースを指定できます。デフォルト動作を明示的に指定するには、データベースの名前に ALL を使用します。 1 つ以上のデータベースを除外するには、--excludedbs オプションを使用して、スキップするデータベース名のカンマ区切りのリストを指定します。 同様に、特定のテーブルをスキップするには、オプションの --excludetables オプションに続けて、それらの名前をカンマで区切ってリストします。 ホスト名を指定するには、--hostname を使用します。デフォルトは localhost です。 ホストに加えてポートを指定するには、--hostname の値に host:port 形式を使用します。 デフォルトのポート番号は 3306 です。 必要に応じて、ソケットも指定できます。デフォルトは /var/lib/mysql.sock です。 MySQL のユーザー名およびパスワードは、表示されている対応するオプションで指定できます。 出力の形式を制御するには、--format オプションを使用します。これには、値 html または text を指定でき、text がデフォルトです。 テキスト出力の例を次に示します。

shell> ndb_size.pl --database=test --socket=/tmp/mysql.sock
ndb_size.pl report for database: 'test' (1 tables)
--------------------------------------------------
Connected to: DBI:mysql:host=localhost;mysql_socket=/tmp/mysql.sock

Including information for versions: 4.1, 5.0, 5.1

test.t1
-------

DataMemory for Columns (* means varsized DataMemory):
         Column Name            Type  Varsized   Key  4.1  5.0   5.1
     HIDDEN_NDB_PKEY          bigint             PRI    8    8     8
                  c2     varchar(50)         Y         52   52    4*
                  c1         int(11)                    4    4     4
                                                       --   --    --
Fixed Size Columns DM/Row                              64   64    12
   Varsize Columns DM/Row                               0    0     4

DataMemory for Indexes:
   Index Name                 Type        4.1        5.0        5.1
      PRIMARY                BTREE         16         16         16
                                           --         --         --
       Total Index DM/Row                  16         16         16

IndexMemory for Indexes:
               Index Name        4.1        5.0        5.1
                  PRIMARY         33         16         16
                                  --         --         --
           Indexes IM/Row         33         16         16

Summary (for THIS table):
                                 4.1        5.0        5.1
    Fixed Overhead DM/Row         12         12         16
           NULL Bytes/Row          4          4          4
           DataMemory/Row         96         96         48
                    (Includes overhead, bitmap and indexes)

  Varsize Overhead DM/Row          0          0          8
   Varsize NULL Bytes/Row          0          0          4
       Avg Varside DM/Row          0          0         16

                 No. Rows          0          0          0

        Rows/32kb DM Page        340        340        680
Fixedsize DataMemory (KB)          0          0          0

Rows/32kb Varsize DM Page          0          0       2040
  Varsize DataMemory (KB)          0          0          0

         Rows/8kb IM Page        248        512        512
         IndexMemory (KB)          0          0          0

Parameter Minimum Requirements
------------------------------
* indicates greater than default

                Parameter     Default        4.1         5.0         5.1
          DataMemory (KB)       81920          0           0           0
       NoOfOrderedIndexes         128          1           1           1
               NoOfTables         128          1           1           1
         IndexMemory (KB)       18432          0           0           0
    NoOfUniqueHashIndexes          64          0           0           0
           NoOfAttributes        1000          3           3           3
             NoOfTriggers         768          5           5           5

デバッグ目的で、このスクリプトによって実行されるクエリーを含む Perl 配列は、を使用して指定されたファイルから --savequeries を使用してファイルに保存できます。スクリプトの実行中に読み取られるこのような配列を含むファイルは、--loadqueries を使用して指定できます。 これらのオプションにはデフォルト値はありません。

出力を HTML 形式で生成するには、次に示すように --format オプションを使用して出力をファイルにリダイレクトします。

shell> ndb_size.pl --database=test --socket=/tmp/mysql.sock --format=html > ndb_size.html

(リダイレクトしない場合、出力は stdout に送られます)。

このスクリプトの出力には次の情報が含まれています。

  • 分析されるテーブルに対応するために必要な DataMemory, IndexMemory, MaxNoOfTables, MaxNoOfAttributes, MaxNoOfOrderedIndexes および MaxNoOfTriggers 構成パラメータの最小値。

  • データベースに定義されているすべてのテーブル、属性、順序付けされたインデックス、および一意のハッシュインデックスのメモリー要件。

  • テーブルおよびテーブル行ごとに必要な IndexMemory および DataMemory