Первая лекция по Администрированию Баз Данных
Primary tabs
Forums:
mysqld – исполняемый файл демона ?Запуск ?Сервис ?Исполняемый файл ?Скрипт ?mysqld_safe ?mysql.server ?При запуске читает файл конфигурации mysql.conf (my.cnf) ?В файле прописываются параметры сервера ?Параметры можно указать в командной строке Архитектура СУБД mySQL
shell> mysqld --verbose --help
Возможности MySQL
ANSI SQL
- Кроссплатформенность
- Хранимые процедуры
- Триггеры
- Курсоры - указатель на область памяти
- Обновляемые представления - (виртуальное представление - то что строится каждый раз при запросе) - обновляемые представления похожи на временные таблицы - то есть это таблица, которая строится на основе запросы и строится , в частности , на основе аналитических данных.
- Подключаемые «движки» для хранения данных - возможность хранить данные в разных структурах
Файл Конфигурации -
[client] // клиентское приложение port=3306 [mysql] // настройка клиента командной строки default-character-set=latin1 [mysqld] // настройка "демона" базы port=3306 basedir="C:/Program Files/MySQL/MySQL Server 5.0/" datadir="C:/Program Files/MySQL/MySQL Server 5.0/Data/" default-character-set=latin1 default-storage-engine=INNODB max_connections=341 query_cache_size=9M table_cache=700 myisam_max_sort_file_size=100G myisam_sort_buffer_size=8M
Конфигурационные операции
basedir Каталог инсталляции MySQL
datadir Каталог, где хранятся файлы данных
init-file Имя файла инициализации (SQL), выполняется при старте open-files-limit Ограничение на кол-во доступных дескрипторов
skip-grant-tables Старт сервера без учета привилегий и паролей
transaction-isolation Уровень изоляции транзакций (READ-UNCOMMITTED, READ-COMMITTED, REPEATABLE-READ, SERIALIZABLE) Конфигурационные переменные
shell> mysqld –-basedir=/my/data –-init-file=my.init
Типы таблиц ?Транзакционные
Inno DB
?Нетранзакционные
?MyISAM -
?Memory - хранение данных исключительно в памяти
Merge ?CSV ?Archive ?Кластерные
?NDB - для кластерной системы (для mysql - при реализации кластера требуется как минимум три машины) - таблицы хра
Тип таблиц по умолчанию - MyIsam (на самом деле - тот, который вы выбрали при установке)
InnoDB
InnoDB (транзакционный)
Свойства:
- ?Блокировки на уровне записей
- ?Неблокирующее чтение
- ?Таблицы хранятся в одном файле
- ?Для служебных целей отдельно создается файл структуры таблицы .FRM
- ?Транзакции реализуются посредством журнальных файлов - то есть -предположим, что у нас есть таблица и нам надо поменять какую-то строчку -мы используем оператор
UPDATE ....
это команда записывается в журнал - и только потом уже производятся реальные изменения в структурах данных - это позволяет в "случае чего" "откатиться"
MyISAM
- Каждая таблица хранится в 3-х файлах
- .FRM - структура таблицы
- .MYD (MYData) – данные
- .MYI (MYIndex) – индекс
- ?Таблицы – платформонезависимые
- ?Поддержка автоинкрементности
- ?Поддержка восстановления (mysqlcheck)
- ?Поддержка сжатия (myisampack)
- ?Нет поддержки ссылочной целостности
- ?B-tree индексы
- ?Блокировки на уровне таблиц
Способы хранения таблиц в СУБД MySQL - подробнее
Memory
- ?Все данные хранятся в памяти - то есть движок очень быстрый
- ?Структура таблиц хранится в файле .FRM
- ?B-Tree индексы
- ?Не поддерживаются типы хранящие большие бинарные данные типа - BLOB, TEXT
- ?При перезапуске сервера данные теряются (но не структура таблиц)
Использование -
Например есть сеть терминалов и сервер - с терминалов постоянно идут транзакции - которые на сервере нужно обрабатывать довольно быстро - записывать данные в память - эта память(таблицу) как раз и можно организовать как Memory
Merge
- ?Объединение нескольких таблиц MyISAM одинаковой структуры - чтобы обращаться к этому объединению как к одной таблице
- ?Создается файл с расширением .MRG
- ?При удалении MERGE таблицы удаляется только псевдоним
Пример -
имеется 15 тысяч скважин = с ни каждые 10 минут (или чаще) счётчики сбрасывают данные - то есть поток данных огромный
- данные в таком случае хранят в нескольких таблица - так вот их можно объединить в случае необходимости.
Archive
- как правило используется для архивного хранения оперативных данных - то есть информации которая активно уже не используется , но может когда-нибудь пригодится.
- ?Для архивного хранения больших объемов данных
- ?Сжатие данных
- ?Блокировка на уровне строк
- ?Отсутсвие индексов
- ?Нет поддержки удаления и обновления данных
Дескрипторы Файлов :
При работе с файлами ,хранящими структуры таблиц их приходится постоянно открывать и закрывать - это расходует ресурсы системы. - используются различные приёмы.
- Сервер mySQL – один процесс со множеством потоков
- ?Для каждого подключения создается отдельный поток
- ?Каждое подключение использует дескриптор файлов для доступа к файлам
- ?Количество дескрипторов для процесса ограничивается операционной системой
- ?Поддерживается кэш дескрипторов - то есть при закрытии файла дескриптор сохраняется , а потом не создаётся заново, а используется готовый
ТИПЫ ДАННЫХ MYSQL
(здесь таблица)
Клиентские программы.
- mysql – утилита командной строки для работы с MySQL - базовая утилита для взаимодействия пользователя с MYSQL
- mysqladmin – утилита командной строки для выполнения административных задач
- mysqlcheck – утилита для проверки, исправления и оптимизации таблиц (MyISAM)
- mysqldump – утилита для выгрузки данных в формате TEXT, SQL, XML
- mysqlshow – отображает статус баз данных, таблиц, столбцов и индексов Клиентские программы
Администрирование баз данных
- Log in to post comments
- 2612 reads