Spec-Zone .ru
спецификации, руководства, описания, API
|
Это - сценарий Perl, который может использоваться, чтобы оценить количество пространства, которое требовалось бы
базой данных MySQL, если бы это было преобразовано в использование NDBCLUSTER
механизм хранения. В отличие от других утилит, обсужденных в этом
разделе, это не требует доступа к MySQL Cluster (фактически, нет никакой причины этого, чтобы сделать так).
Однако, это действительно должно получить доступ к серверу MySQL, на котором находится база данных быть
протестированной.
Рабочий сервер MySQL. Экземпляр сервера не должен оказать поддержку для MySQL Cluster.
Рабочая установка Perl.
DBI
модуль, который может быть получен из CPAN, если
это уже не часть Вашей установки Perl. (Многие Linux и другие дистрибутивы операционной системы
предоставляют их собственные пакеты этой библиотеке.)
Учетная запись пользователя MySQL, имеющая необходимые полномочия. Если Вы не
хотите использовать существующую учетную запись, то создание использования того GRANT
USAGE ON
— где db_name
.*db_name
имя базы данных, которая будет исследована —
достаточно с этой целью.
ndb_size.pl
может также быть найден в источниках MySQL в storage/ndb/tools
.
Следующая таблица включает опции, которые являются определенными для программы MySQL Cluster ndb_size.pl. Дополнительные описания следуют за таблицей. Для опций, характерных для большинства программ MySQL Cluster (включая ndb_size.pl), см. Раздел 17.4.25, "Опции, Характерные для MySQL Cluster Programs — Опции, Характерные для MySQL Cluster Programs".
Таблица 17.27. Опции ndb_size.pl и Переменные: MySQL Cluster NDB7.3
Формат | Описание | Добавленный / Удаленный |
---|---|---|
База данных или базы данных, чтобы исследовать; принимает разграниченный запятой список; значение по умолчанию - ВСЕ (используйте все базы данных, найденные на сервере), | Весь MySQL 5.6 базируемые выпуски |
|
Определите узел и дополнительный порт как узел [:port] | Весь MySQL 5.6 базируемые выпуски |
|
Определите сокет, чтобы соединиться с | Весь MySQL 5.6 базируемые выпуски |
|
Определите имя пользователя MySQL | Весь MySQL 5.6 базируемые выпуски |
|
Определите пользовательский пароль MySQL | Весь MySQL 5.6 базируемые выпуски |
|
Установите выходной формат (текст или HTML) | Весь MySQL 5.6 базируемые выпуски |
|
Пропустите любые таблицы в списке разделенных запятой значений таблиц | Весь MySQL 5.6 базируемые выпуски |
|
Пропустите любые базы данных в списке разделенных запятой значений баз данных | Весь MySQL 5.6 базируемые выпуски |
|
Сохраняет все запросы к базе данных в определенный файл | Весь MySQL 5.6 базируемые выпуски |
|
Загрузки все запросы от файла определяются; не соединяется с базой данных | Весь MySQL 5.6 базируемые выпуски |
|
Определяет таблицу обрабатывать вычисления размера уникального индекса | Весь MySQL 5.6 базируемые выпуски |
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
для
имени базы данных. Можно также исключить одну или более баз данных при использовании --excludedbs
опция со списком разделенных запятой значений имен баз данных, которые будут пропущены. Точно так же можно
заставить определенные таблицы быть пропущенными, перечисляя их имена, разделенные запятыми, после
дополнительного --excludetables
опция. Имя хоста может быть определено, используя
--hostname
; значение по умолчанию localhost
. Можно
определить порт в дополнение к использованию узла host
:port
формат для значения --hostname
.
Номер порта значения по умолчанию 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.sockIncluding information for versions: 4.1, 5.0, 5.1test.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 4DataMemory for Indexes: Index Name Type 4.1 5.0 5.1 PRIMARY BTREE 16 16 16 -- -- -- Total Index DM/Row 16 16 16IndexMemory for Indexes: Index Name 4.1 5.0 5.1 PRIMARY 33 16 16 -- -- -- Indexes IM/Row 33 16 16Summary (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 680Fixedsize DataMemory (KB) 0 0 0Rows/32kb Varsize DM Page 0 0 2040 Varsize DataMemory (KB) 0 0 0 Rows/8kb IM Page 248 512 512 IndexMemory (KB) 0 0 0Parameter 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
, MaxNoOfUniqueHashIndexes
, и MaxNoOfTriggers
параметры конфигурации, требуемые размещать
проанализированные таблицы.
Требования к памяти для всех таблиц, атрибутов, упорядоченных, индексируют, и уникальный хеш индексирует определенный в базе данных.
IndexMemory
и DataMemory
требуемый на таблицу и строку таблицы.