Кэш страницы используется, чтобы сохранить метаданные базы данных, данные BLOB и индексы таблицы.
Параметры Falcon также могут быть установлены в командной строке mysqld через использование следующих параметров командной строки:
– -falcon-max-record-memory=#
– -falcon-min-record-memory=#
– -falcon-page-cache-size=#
Вы можете также допускать и отключать тип памяти Falcon при запуске, обеспечивая эти параметры mysqld, если этот mysqld включает тип памяти Falcon:
– -falcon включает Falcon.
– -skip-falcon выключает Falcon.
2.4.3. Создание пространства таблиц Falcon
Внутри Falcon все данные внутри одной базы данных сохранены внутри одиночного пространства таблиц, которое в свою очередь сохранено внутри одного файла в структуре каталогов MySQL. Одиночная база данных Falcon создаст три главных файла. Один файл содержит данные Falcon и будет сохранен в файле с именем базы данных Falcon с расширением .fts. Например, таблицы Falcon определенные в базе данных test, будут сохранены внутри файла test.fts в каталоге баз данных MySQL.
Два других файла содержат дисковую копию последовательного файла регистрации Falcon. Они также созданы внутри области соответствующей базы данных. В будущем выпуске Вы сможете определить альтернативное расположение для этих журналов. Так с вышеупомянутым файлом данных примера test.fts журналы будет именованы test.fl1 и test.fl2.
Определения таблицы, как с другими типами памяти MySQL, сохранены в файл .frm в каталоге базы данных. Например, таблица falcontest в базе данных test создаст файл определения (описания) таблицы falcontest.frm в каталоге test.
При создании таблицы внутри базы данных MySQL, где соответствующий файл пространства таблиц Falcon не существует, это будет автоматически создано с файлом данных и журналами.
2.4.4. Создание таблиц и индексов в Falcon
Falcon поддерживает все стандартные типы данных столбцов, обеспечиваемые MySQL.
Чтобы создать таблицу, которая использует Falcon, примените опцию ENGINE = Falcon в инструкции CREATE TABLE:
CREATE TABLE names (id INT, fname VARCHAR (20),
lname VARCHAR (20)) ENGINE=Falcon
Индексы могут быть созданы, используя все стандартные методы, например, Вы можете явно определять индекс на столбце:
CREATE TABLE ids (id int, index (id)) ENGINE=Falcon
Генерируйте один как часть первичного ключа:
CREATE TABLE ids (id int),PRIMARY KEY (id) ENGINE=Falcon
Или Вы можете создавать много ключей и многократные индексы:
CREATE TABLE t1 (id int NOT NULL, id2 int NOT NULL, id3 int NOT NULL,
name CHAR(30), primary key (id, id2),
index index_id3 (id3)) ENGINE=Falcon
2.4.5. Принципы и терминология
Вы должны понять следующие базисные принципы и терминологию.
MySQL Falcon объединяет продвинутые методы с упрощенной структурой, которая приводит к высокоэффективной транзакционной базе данных, которая требует небольшого сопровождения или поиска неисправностей администратором базы данных.
Файл данных пользователя сохраняет данные Falcon.
Последовательный файл регистрации Falcon содержит недавно совершенные изменения данных, индексные изменения и транзакционную информацию. Также обеспечивает средства восстановления данных.
Кэш страницы хранит страницы базы данных.
Кэш записи хранит копии активных и нейтральных записей.
Память системы хранит информацию контекста транзакции, индексные акселераторы и метаданные системы.
Рабочие потоки являются фоновыми потоками. Имеются два потока: поток 'gopher' перемещает данные из последовательный файла регистрации Falcon в кэш страницы базы данных и из кэша страниц на диск. Второй поток программы записи страницы, который пишет страницы с blob.
2.4.5.1. Файл и структуры данных Falcon
Одиночные файлы базы данных Falcon хранят все данные записи, индексы, структуру базы данных и другую информацию. Индивидуальная информация сохранена в ряде страниц.
Страницы описывают блок распределения оперативной памяти в Falcon. Страницы используются, чтобы сохранить данные и индексировать информацию. Размер страницы и то, как Falcon кэширует и распределяет страницы для использования при сохранении информации, воздействует на эффективность в зависимости от записей, которые сохраняются.
Страницы, кэшируемые в памяти используются, чтобы сохранить индексы, blob'ы и структурные данные для конкретного пространства таблиц. Активные записи сохранены внутри отдельного кэша записей.
Все транзакции в базе данных регистрируются и сохранены внутри отдельного журнала. Журнал автоматически сбрасывается и изменения записываются на диск, когда имеется команда COMMIT, когда включен auto-commit или автоматически через каждые 30 секунд, когда транзакции не используются.
2.4.5.2. Последовательный файл регистрации Falcon