Главная страница

Отчет о преддипломной практике


Скачать 0.64 Mb.
НазваниеОтчет о преддипломной практике
Дата21.12.2021
Размер0.64 Mb.
Формат файлаdocx
Имя файлаÄÆùàÆ ÅÄ ÅÉÇèÆêèà é êìöÄÉîÇûêÄììÄî ûàìÆÉà.docx
ТипОтчет
#312976
страница4 из 6
1   2   3   4   5   6

3.2 Обоснование выбора СУБД


Далее рассматриваются достоинства и недостатки в сравнении двух СУБД: MySQL и PostgreSQL. Выбор производится из двух наиболее широко используемых и хорошо зарекомендовавших себя СУБД

MySQL обладает следующими преимуществами перед PostgreSQL:

  • MySQL обычно намного превосходит PostgreSQL по скорости работы.

  • По количеству пользователей MySQL также намного превосходит PostgreSQL. Поэтому код тестируется значительно более придирчиво и опытным путем доказана большая его надежность, нежели у PostgreSQL.

  • MySQL работает в среде Windows лучше, чем PostgreSQL. MySQL Server запускается как настоящее (родное) Windows-приложение (в NT/2000/XP - сервис), в то время как PostgreSQL запускается в среде эмуляции, Cygwin.

  • MySQL оснащен большим количеством API для других языков и поддерживается большим количеством существующих программ, нежели PostgreSQL.

  • MySQL работает на высоконадежных промышленных системах 24/7 (включенных 24 часа в сутки 7 дней в неделю). PostgreSQL же пока что не может работать в таких системах, так как иногда приходится запускать VACUUM для освобождения занятого последствиями работы команд UPDATE и DELETE пространства и проводить статистический анализ, необходимый для достижения максимальной производительности PostgreSQL.

  • В комплект поставки MySQL входят два тестовых пакета, mysql-test-run и crash-me, а также пакет для замеров производительности. Тестовая система постоянно обновляется, в нее добавляется код для тестирования всех новых возможностей и почти всех воспроизводимых ошибок.

  • MySQL поддерживает больше стандартных функций ODBC, чем PostgreSQL.

  • MySQL обладает значительно более мощной реализацией ALTER TABLE.

  • В MySQL предусмотрена возможность создания таблиц без транзакций, что необходимо приложениям, требующим максимально возможной скорости работы.

  • MySQL может работать с двумя поддерживающими транзакции обработчиками таблиц, а именно - InnoDB и BerkeleyDB. Так как все системы поддержки транзакций в разных условиях работают по-разному, это дает разработчику возможность найти наилучшее решение для условий, в которых будет работать его система.

  • В MySQL реализован полнотекстовый поиск

  • Система MySQL с самого начала разрабатывалась в расчете на многопоточность, а PostgreSQL использует процессы. Переключение контекстов и доступ к общим данным несколькими потоками осуществляется значительно быстрее, нежели отдельными процессами.

  • В MySQL реализована значительно более мощная система привилегий, нежели в PostgreSQL. В то время как PostgreSQL обеспечивает лишь привилегии INSERT, SELECT и UPDATE/DELETE над базой или таблицей, MySQL предоставляет возможность определения полного набора разнообразных привилегий на уровне базы, таблицы и столбца.

  • Все типы таблиц в MySQL (кроме InnoDB) реализованы в виде файлов (по одной таблице в файле), что значительно облегчает создание резервных копий, перенос, удаление и даже создание символьных ссылок между базами данных и таблицами, даже если сервер находится в нерабочем состоянии.

  • Наличие утилиты для восстановления и оптимизации таблиц MyISAM (наиболее распространенного типа таблиц в MySQL). Ее использование требуется только в случае физического повреждения файла данных (например, в результате аппаратного сбоя). Позволяет восстановить большую часть данных.

Недостатки MySQL по сравнению с PostgreSQL:

  • Поддержка транзакций в MySQL пока не настолько хорошо проверена, как в системе PostgreSQL.

  • Блокировка таблиц, применяющаяся в нетранзакционных таблицах MyISAM, во многих случаях работает быстрее, нежели блокировки на уровне страниц, строк или контроль версий. Недостаток этого подхода в том, что если не учитывать механизм работы блокирования таблиц, один длительный запрос может надолго заблокировать таблицу.

  • При помощи UDF (user-defined functions, определяемые пользователем функции) возможности MySQL можно расширить и дополнить обычными SQL-функциями или их объединениями. Но это сделать не так просто, да и система не настолько гибка в этом отношении, как PostgreSQL.

  • В MySQL сложнее организовывались обновления, затрагивающие несколько таблиц сразу.


4 Анализ особенностей работы СУБД MySQL

4.1 Установка и конфигурирование MySQL


MySQL работает почти на любой известной Unix-платформе, а также под управлением Windows и OS/2. Дистрибутив MySQL существует как в двоичном виде, так и в виде исходного текста. Если дистрибутив получен в виде исходного текста, то перед установкой нужно его скомпилировать. В любом случае следует руководствоваться инструкциями, имеющимися в дистрибутиве.

Порядок установки MySQL-сервера.



а)



б)

Рисунок 4.1 – Процесс установки MySQL. Шаг 1,2.

Первое окно мастера установки (рис. 4.1, а) предлагает выбрать тип установки. Необходимо отметить выборочную установку компонентов "Custom". В следующем окне (рис. 4.2, б) можно выбрать дополнительные компоненты и сменить установочную директорию программы. Далее установить файлы в выбранную директорию.





а)



б)

Рисунок 4.2 – Процесс установки MySQL. Шаг 3,4.
Учетную запись можно создать, выбрав в диалоговом окне "Create a new free MySQL.com account" (рис. 4.2, а). Либо можно выбрать "Skip Sign-Up" для перехода на следующую страницу.

Далее происходит процесс настройки MySQL сервера: выбор детализированной настройки - "Detailed Configuration" (рис. 3, а) и типа компьютера - "Developer Machine" (рис. 4.3, б).



а)



б)

Рисунок 4.3 – Процесс установки MySQL. Шаг 5,6.

Выбрав пункт "Multifunctional Database" (рис. 4.4, а), можно работать как с таблицами типа InnoDB (с возможностью использования транзакций), так и с высокоскоростной MyISAM (как правило, для веб-разработок используется именно этот тип таблиц). Далее происходит выбор диска и директории для хранения таблиц типа InnoDB (рис. 4.4, б).



а)



б)

Рисунок 4.4 – Процесс установки MySQL. Шаг 7,8.




а)



б)

Рисунок 4.5 – Процесс установки MySQL. Шаг 9,10.
В следующем диалоговом окне (рис. 4.5, а) выбирается максимально возможное количество подключений к серверу MySQL. При выборе "Decision Support (DSS)/OLAP", максимальное количество подключений будет ограничено двадцатью, чего более чем достаточно при установке сервера на компьютере и отсутствии большого количества одновременных подключений. Отметив "Enable TCP/IP Networking" (рис. 4.5, б) включается поддержка TCP/IP соединений и выбирается порт, через который они будут осуществляться. Стандартным для сервера MySQL является порт 3306. Отметив "Enable Strict Mode", можно задать режим строгого соответствия стандарту SQL (данную опцию рекомендуется оставлять включенной).



а)



б)

Рисунок 4.6 – Процесс установки MySQL. Шаг 11,12.
Отметив в следующем окне (рис. 4.6, а) "Manual Selected Default Character Set / Collation" и выбрав из ниспадающего меню "cp1251" можно определить, что изначально для таблиц будет использоваться кодировка Cyrillic Windows (cp1251), что означает корректную работу с русским языком в данной кодировке.

Если отметить "Install As Windows Service" (рис. 4.6, б), сервер будет запускаться в виде сервиса, что является рекомендуемым способом запуска. Ниже, в ниспадающем списке, задается имя сервиса. Далее, нужно убрать галочку рядом с "Launch the MySQL Server automatically", сервер будет запускаться вручную. Галочку рядом с "Include Bin Directory in Windows PATH" позволит установить видимость директории "bin", для командной строки.



а)



б)

Рисунок 4.7 – Процесс установки MySQL. Шаг 13,14.
Следующее окно (рис. 4.7, а) позволить установить пароль пользователя "root" и пароль доступа. В окне (рис. 4.7, б) нужно обратить внимание на строку "Write configuration file", которая указывает на месторасположение конфигурационного файла MySQL - "my.ini", который далее необходимо будет отредактировать.

Если в процессе установки, появится сообщение об ошибке, нужно отключить все антивирусы и firewall, затем нажать кнопку "Retry" чтобы продолжить установку.

Далее необходимо осуществить редактирование файла "my.ini".

1. В раздел [client], после строки:

   port=3306

нужно добавить строку, определяющую каталог, содержащий файлы описания кодировок:   character-sets-dir="C:/Program Files/MySQL/MySQL Server 5.0/share/charsets"

2. В раздел [mysqld], после строки:

   port=3306

нужно добавить следующие две строки, первая из которых определяет каталог, вторая – устанавливает кодировку, в которой данные передаются MySQL:
   character-sets-dir="C:/Program Files/MySQL/MySQL Server 5.0/share/charsets"
   skip-character-set-client-handshake
   init-connect="SET NAMES cp1251"

3. Далее, в строке:

   default-storage-engine=INNODB

нужно заменить изначально устанавливаемый тип таблиц:

   default-storage-engine=MYISAM

4. Сохранить изменения и закрыть файл "my.ini".
1   2   3   4   5   6


написать администратору сайта