Репетиторские услуги и помощь студентам!
Помощь в написании студенческих учебных работ любого уровня сложности

Тема: ОТЧЕТ ПО ПРАКТИКЕ В ИНФОРМАЦИОННОМ ЦЕНТРЕ

  • Вид работы:
    Отчет по практике по теме: ОТЧЕТ ПО ПРАКТИКЕ В ИНФОРМАЦИОННОМ ЦЕНТРЕ
  • Предмет:
    Другое
  • Когда добавили:
    21.03.2012 10:20:23
  • Тип файлов:
    MS WORD
  • Проверка на вирусы:
    Проверено - Антивирус Касперского

Другие экслюзивные материалы по теме

  • Полный текст:

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

    Содержание

     

    Введение. 4

    1 Организация и структура филиала ООО "Лукойл-Информ". 6

    2 Обслуживание и администрирование программного обеспечения, используемого  отделом АУФИП филиала ООО "Лукойл-Информ". 10

    2.1 Особенности установки и настройки системы 1С:Предприятие. 10

    2.2 Особенности администрирования системы 1С:Предприятие. 13

    3 Выбор и изучение СУБД для автоматизации работы отдела АСУП.. 14

    3.1 Сравнительный анализ современных свободных СУБД.. 14

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

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

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

    4.2 Администрирование MySQL. 25

    4.3 Оптимизация работы MySQL. 32

    4.4 Тестирование производительности MySQL. 36

    Заключение. 40

    Список используемых источников. 41

    Введение


    Компания «Лукойл-Информ» является головной организацией по информационно-технологическому обеспечению деятельности Группы «Лукойл». В его задачи входит разработка, внедрение и сопровождение информационных систем в вертикально-интегрированной нефтяной компании «Лукойл», систем управления производством и технологическими процессами, обеспечение корпоративной информационной безопасности, развитие и обслуживание телекоммуникационной инфраструктуры.

    «Лукойл-Информ» - один из крупнейших операторов связи России на информационно-технологическом рынке услуг, сотрудничающий с ведущими мировыми компаниями в этой области.

    В  филиале г. Когалым проводилась преддипломная практика, результатом которой стало изучение принципов работы, структуры и организации компании, в частности отдела АУФИП,  а также программных средств, используемых в отделе.

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

    -   изучить структуру, организацию и функциональные особенности отдела АУФИП;

    -   изучить технологию автоматизации обработки информации на компьютерах с помощью программного продукта 1C:Предприятие, используемого на предприятии;

    -   изучить процесс установки, конфигурирования и администрирования  программного продукта 1C:Предприятие;

    -   провести сравнительных анализ существующих СУБД для использования в рамках будущего дипломного проекта;

    -   изучить принципы функционирования, установки, администрирования выбранной СУБД;

    -   разработать и провести ряд экспериментов с применением выбранной СУБД, которые показывают производительность СУБД для средненагруженных проектов.



    1 Организация и структура филиала ООО "Лукойл-Информ"

    Организационная структура филиала компании "Лукойл-Информ" приведена на рисунке 1.1 и отображает основные отделы компании. Практика проходилась на основе отдела АУФИП (Автоматизированное управление финансами и персоналом), именно поэтому далее анализируются особенности работы этого отдела.

    Рисунок 1.1 - Организационная структура филиала компании "Лукойл-Информ"


    Отдел АУФИП состоит из главного бухгалтера и бухгалтеров, подчиненных главному. Функции главного бухгалтера:

    - составление и сдача бухгалтерской, налоговой, финансовой, статистической отчетности, отчетности в Фонды;

    - оценка и планирования финансового состояния компании;

    - финансовый анализ деятельности компании;

    - составления бюджета предприятия;

    - планирование, анализ и контроль выполнения бюджета;

    - организация системы управленческого учета;

    - контроль за выполнением финансово-правовых договоров.


    Взаимодействие АУФИП с другими отделами компании:

    1) С планово-экономическим отделом:

    Получение планов производства продукции на месяц, квартал год в целом по компании и по отдельным подразделениям; отчетов о выполнении планов структурными подразделениями и компании в целом.

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

    2) С техническим отделом:

    Получение отчетов о выполнении планов; отчетов о движении основных материалов; актов на передачу оборудования в эксплуатацию; расчетов о затрате материалов на единицу продукции; приказов, распоряжений, актов и других документов, необходимых для бухгалтерского учета; договоров; смет.

    3) С отделом сбыта:

    Получение товарно-сопроводительной документации; отчетов об отгруженной контрагентам продукции; сведений о состоянии запасов продукции на составах готовой продукции; счетов, выставленных контрагентам за отгруженную продукцию; данных о возвращении продукции контрагентами; информации о расходах на отгрузку продукции; копий претензий и рекламаций, предъявленных предприятию; сведений о порче, повреждении, потере продукции; актов о списании продукции;

    Предоставление данных о движении продукции; норм запасов продукции на составах; норм естественного убытка; итогов инвентаризации продукции;

    4) С отделом маркетинга:

    Получение отчетов о расходах на маркетинговые исследования; расчетов расходов на обслуживание продукции после продажи; сведений о ценах на материально-технические средства в поставщиков, тарифы на услуги по перевозке, проведению рекламных мероприятий.

    Предоставление бухгалтерских данных об обращении, реализации, запасах продукции; итогов инвентаризаций материально-технических ресурсов; нормативов на представительские, командировочные и рекламные расходы;

    5) С отделом организации и оплаты труда:

    Получение данных об использовании фондов оплаты труда и фондов материального поощрения; положений о премировании; норм труда; расчетов трудоемкости продукции.

    Предоставление сведений о фактически начисленной заработной плате по компании и по отделам; утвержденных фондов оплаты труда и фондов материального поощрения; сведений о дополнительных выплатах; рекомендаций из оформления затраты фондов оплаты труда.

    Рисунок 1.2 - Предметная область, автоматизируемая системами отдела АУФИП

    Системы автоматизации работы отдела АУФИП обеспечивают решение всех задач, стоящих перед бухгалтерской службой компании, если бухгалтерская служба полностью отвечает за учет на предприятии, включая, например, выписку первичных документов, учет продаж и т.д. Кроме того, информацию об отдельных видах деятельности, торговых и производственных операциях, могут вводить сотрудники смежных служб предприятия, не являющиеся бухгалтерами. В последнем случае за бухгалтерской службой остается методическое руководство и контроль за настройками информационной базы, обеспечивающими автоматическое отражение документов в бухгалтерском и налоговом учете.

    Системы автоматизации используются для ведения бухгалтерского и налогового учета. Предметная область, автоматизируемая системами иллюстрируется схемой, приведенной на рис. 1.2.

     

     


    2 Обслуживание и администрирование программного обеспечения, используемого  отделом АУФИП филиала ООО "Лукойл-Информ"

    2.1 Особенности установки и настройки системы 1С:Предприятие

    Задачей процесса установки является сделать возможным запуск системы 1С:Предприятие на компьютере пользователя. В процессе установки 1С:Предприятия производятся следующие действия:

    -   на локальном диске компьютера пользователя (или на сетевом диске, доступном с компьютера пользователя) размещаются программные файлы системы 1С:Предприятие;

    -   в системный каталог Windows компьютера пользователя копируются (или в случае необходимости обновляются уже находящиеся там) системные файлы, необходимые для работы системы 1С:Предприятие;

    -   производятся необходимые изменения в системном реестре Windows компьютера пользователя;

    -   на компьютере пользователя в меню операционной системы вносятся пункты для запуска программ системы 1С:Предприятие.

    В зависимости от комплекта поставки допускается несколько вариантов установки системы 1С:Предприятие:

    -   локальная установка;

    -   административная установка;

    -   сетевая установка.

    Локальная установка может быть выполнена для любого комплекта поставки и является единственно возможным вариантом для однопользовательских вариантов 1С:Предприятия. При выполнении локальной установки выполняются все перечисленные выше действия.

    Административная установка  является не установкой, а подготовкой к установке. Суть ее состоит в том, что на сервере локальной сети создается каталог, в который из дистрибутива 1С:Предприятия переносятся все необходимые файлы для того, чтобы путем запуска из этого каталога программы SETUP.EXE можно было выполнить процедуры локальной или сетевой установки 1С:Предприятия. При этом не производится никаких изменений в меню, системном каталоге и реестре Windows как сервера, так и компьютера, на котором запущена программа установки.

    Сетевая установка может быть выполнена только путем запуска программы SETUP.EXE из каталога, созданного в процессе административной установки. Сетевая установка отличается от локальной главным образом тем, что в процессе сетевой установки на компьютер пользователя не копируются программные файлы системы 1С:Предприятие, а пункты меню для запуска программ 1С:Предприятия настраиваются таким образом, что при запуске исполняемые файлы (.EXE, .DLL) берутся из каталога сервера локальной сети, из которого запускалась программа SETUP.EXE для выполнения сетевой установки.

    Локальная установка является наиболее простым вариантом. В этом случае на каждом компьютере, на котором предполагается использовать 1С:Предприятие выполняется процедура локальной установки. В самом простом случае установка выполняется непосредственно с дистрибутивного комплекта 1С:Предприятия. Но локальная установка может быть выполнена также и из каталога на сервере, в который была предварительно произведена административная установка.

    При локальной установке достигается наилучшая скорость запуска 1С:Предприятия (программные файлы загружаются с локального диска компьютера, а не с удаленного диска сервера) и несколько меньше загружается сеть. Но при этом на каждом из компьютеров пользователей расходуется дисковое пространство под одни и те же программные файлы 1С:Предприятия.

    Однако, наиболее серьезным недостатком локальной установки являются сложности с администрированием, особенно в тех случаях, когда система 1С:Предприятие используется на многих компьютерах локальной сети. Дело в том, что периодически появляются обновленные выпуски (релизы) системы 1С:Предприятие, которые в случае использования локальной установки приходится устанавливать на каждый компьютер, на котором используется 1С:Предприятие (не рекомендуется использовать при работе с одной и той же информационной базой разные релизы системы 1С:Предприятие).

    Процедура сетевой установки подразумевает копирование в системный каталог Windows компьютеров пользователей некоторых входящих в комплект поставки 1С:Предприятия системных файлов, которые также могут время от времени обновляться (правда намного реже, чем программные файлы 1С:Предприятия). Поэтому, для обеспечения полной надежности и во избежание рассогласования версий системных файлов, после обновления релиза 1С:Предприятия на сервере рекомендуется повторить процедуру сетевой установки на компьютерах пользователей.

    Сетевые версии системы 1С:Предприятие при интенсивной работе создают в сети довольно значительный трафик и этот факт следует учитывать при проектировании физической структуры сети. Использование высокопроизводительных сетей благоприятно сказывается на производительности системы 1С:Предприятие, особенно в тех случаях, когда с системой одновременно работает большое число пользователей.

    Поэтому структура и топология сети учитывает, что для компьютеров, на которых работает 1С:Предприятие и для сервера, на котором размещается информационная база системы 1С:Предприятие должна быть обеспечена наилучшая пропускная способность сети.

    Для размещения файлов информационной базы используется выделенный файл-сервер, работающий под управлением серверной операционной системы Windows Server 2003.

    2.2 Особенности администрирования системы 1С:Предприятие

    При администрировании системы выполнялись следующие задачи:

    - настройка системы авторизации пользователей и контроля прав;

    - ограничение прав на различные функции по категориям пользователей;

    - разделение доступа пользователей к данным;

    - монитор работы пользователей;

    - журнал истории работы пользователей.

    3 Выбор и изучение СУБД для автоматизации работы отдела АСУП

     

    3.1 Сравнительный анализ современных свободных СУБД

    СУБД Postgres

    Postgres - объектно-реляционная система управления базами данных, теперь известная как PostgreSQL, происходит от пакета Postgres, написанного в Berkeley. После десятилетия разработки, PostgreSQL - это наиболее прогрессивная база данных с открытыми исходными текстами, доступная везде, предлагает многовариантное управление параллелизмом, поддерживает почти все конструкции SQL (включая вложенную выборку, транзакции, и определяемые пользователем типы и функции), и имеет широкий ряд связей с языками (включая C, C++, Java, Perl, Tcl, и Python).

    PostgreSQL базируется на языке SQL и поддерживает многие из возможностей стандарта SQL:2003 (ISO/IEC 9075).

    На данный момент (версия 8.4.0), в PostgreSQL имеются следующие ограничения:

    -   максимальный размер таблицы: 32 ТБайт;

    -   максимальный размер записи: 1,6 Тбайт;

    -   максимальный размер поля: 1 ГБайт;

    -   максимум полей в таблице: 250—1600, в зависимости от типов полей.

    Сильными сторонами PostgreSQL считаются:

    - поддержка БД практически неограниченного размера;

    - мощные и надёжные механизмы транзакций и репликации;

    - наследование;

    - легкая расширяемость.


    СУБД MySQL

    MySQL является относительно небольшой и быстрой реляционной СУБД основанной на традициях Hughes Technologies Mini SQL (mSQL).

    К основным достоинствам пакета MySQL можно отнести:

    - многопоточность - поддержка нескольких одновременных запросов;

    - оптимизацию связей с присоединением многих данных за один проход;

    - записи фиксированной и переменной длины;

    - ODBC драйвер в комплекте с исходными файлами;

    - гибкая система привилегий и паролей;

    - до 16 ключей в таблице, каждый ключ может иметь до 15 полей;

    - интерфейс с языками C и Perl, Php и т.д.;

    - основанная на потоках, быстрая система памяти;

    - все операции работы со строками не обращают внимания на регистр символов в обрабатываемых строках;

    - все поля имеют значение по умолчанию, INSERT можно использовать на любом подмножестве полей;

    - легкость управления таблицей, включая добавление и удаление ключей и полей.

    Наиболее простой способ работы с MySQL сводится к использованию программы MySQL. Это клиентская часть СУБД MySQL. Можно выполнять команды SQL непосредственно из командной строки системы unix или из интерактивного режима MySQL.

    СУБД MySQL имеет библиотеку C API. Ее можно использовать для запросов к базе данных, вставки данных, создания таблиц и т.п. C API поддерживает все функции MySQL.

    Также доступен 32-битный ODBC драйвер для MySQL. Он позволяет запрашивать и получать данные из других источников с поддержкой ODBC.

    MySQL сегодня стала наиболее популярной СУБД с открытым исходным кодом. Её популярность объясняется высокой скоростью работы, большой отказоустойчивостью, легким использованием. Ее можно использовать во всех видах ПО – веб-сайты, бизнес-критичные системы, обычное клиентское ПО и т.д. Данной СУБД пользуются такие корпорации как Yahoo!, Alcatel-Lucent, Google, Nokia, YouTube, and Zappos.com.

    В зависимости от требований могут использоваться следующие специализированные продукты:

    - MySQL Enterprise – оптимальный выбор для систем, не требующих сверхбольшой производительности или сверхмалого объёма;

    - MySQL Cluster – СУБД, построенная на кластерной архитектуре для работы с большими БД, требующими огромной производительности;

    - MySQL Embedded Database – небольшая СУБД, которая хорошо подходит к встраиваемым системам, таким как системы сетевого управления,  CRM и ERP, VoIP и Online Messaging системы, обучающее ПО и т.д.

    СУБД Firebird

    Firebird (FirebirdSQL) — компактная, кроссплатформенная, свободная система управления базами данных (СУБД), работающая на GNU/Linux, Microsoft Windows и разнообразных Unix платформах.

    В качестве преимуществ Firebird можно отметить многоверсионную архитектуру, обеспечивающую параллельную обработку оперативных и аналитических запросов (это возможно потому, что читающие пользователи не блокируют пишущих), компактность (дистрибутив 5Mb), высокую эффективность и мощную языковую поддержку для хранимых процедур и триггеров. Firebird используется в различных промышленных системах с 2001 г. Это коммерчески независимый проект C и C++ программистов, технических советников и разработчиков мультиплатформенных систем управления базами данных, основанный на исходном коде, выпущенном корпорацией Borland 25 июля 2000 года в виде свободной версии Interbase 6.0.

    Среди недостатков перечислятся отсутствие кеша результатов запросов, индексов fulltext для полнотекстового поиска.

    Firebird является сервером баз данных. Один сервер Firebird может обрабатывать несколько независимых баз данных, каждую с множеством пользовательских соединений. И, что немаловажно, он является полностью свободным от лицензионных отчислений даже для коммерческого использования.

    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".

    4.2 Администрирование MySQL

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

    Создание баз данных

    С помощью mysqladmin можно создавать новые базы данных:

    mysqladmin -p create DATABASENAME


    Параметр -р указывает,  необходимость выдать приглашение для ввода пароля суперпользователя, который задан ранее. Если ввести правильный пароль, то mysqladmin создаст новую пустую базу данных с указанным именем. Поскольку в MySQL база данных - это каталог с группой файлов, команда mysqladmin create создает новый каталог, который будет содержать файлы базы данных.

    Удаление базы данных

    В процессе разработки приложения, вероятно, потребуется создать несколько баз данных для поддержки процесса разработки. Например, обычной практикой в разработке приложений баз данных является создание отдельных баз данных для разработки, тестирования и работы. По завершении разработки следует избавиться от этих промежуточных баз данных. Утилита mysqladmin позволяет удалить базу данных с помощью параметра «drop»:

    mysqladmin -p drop DATABASENAME


    Как и в команде mysqladmin create, DATABASENAME является именем базы данных, которую нужно уничтожить. MySQL не позволит случайно удалить базу данных. После ввода этой команды она предупредит вас, что удаление базы данных потенциально очень опасно и попросит вас подтвердить свое намерение. После удаления базы данных вы можете убедиться в том, что в каталоге data больше нет каталога, служившего ранее этой базой данных.

    Переименование и копирование баз данных

    В MySQL нет утилиты для переименования и копирования баз данных. Поскольку база данных - это просто файлы в некотором каталоге, можно, соблюдая осторожность, переименовывать и копировать базы данных с помощью операционной системы. Хотя использование команд операционной системы позволяет переименовывать и копировать базы данных, результат не сохранит параметров защиты исходных таблиц, поскольку MySQL хранит данные по защите в таблице системной базы данных. Для того чтобы полностью скопировать базу данных, потребуется также продублировать ее информацию по защите, хранимую в системной базе данных MySQL.

    Состояние сервера

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

    Uptime: 395 Threads: 1 Questions: 14 Slow queries: 0

    Opens: 10 Flush tables: 1 Open tables: 6


    Выводимые величины означают следующее:

    Uptime - число секунд, в течение которых сервер запущен и работает.

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

    Questions - число запросов, переданных базе данных с момента запуска.

    Slow queries - число запросов, выполнение которых потребовало больше времени, чем время, указанное в конфигурации. Соответствующий ключ в конфигурации - long_query_tiroe.

    Opens - число таблиц, открытых с момента запуска сервера.

    Flush tables - количество команд flush, refresh и reload.

    Open tables - число таблиц, открытых в данный момент.

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

    Если компиляция MySQL производилась с параметром --with-debug , то mysqladmin status показывает также текущую и максимальную величину используемой памяти.

    Если необходима более подробная статическая информация, то нужно выполнить команду mysqladmin version. Она выдает на экран следующее:

    bin/mysqladmin Ver 7.8 Distrib 3.22.17, for sun-solaris2.6 on spare TCX Datakonsult AB, by Monty

    Server version 3.22.17

    Protocol version 10

    Connection Localhost via Unix socket

    Unix socket /tmp/;ny3ql. sock

    Uptime: 23 mm 58 sec

    Threads: 1 Questions: 15 Slow queries: 0 Opens: 10 Flush tables: 1 Open tables: 6


    Последняя строка совпадает, конечно, с теми данными, которые показывает mysqladmin status. Остальные данные совершенно другие.

    Server version - версия запущенного сервера MySQL.

    Protocol version -  версия коммуникационного протокола MySQL, который поддерживает сервер.

    Connection - метод подключения к серверу.

    Unix socket - имя файла сокета, который вы используете для обмена данными с сервером. Если связь с MySQL происходит через TCP/IP, вместо этого пункта будет указан пункт TCP port с номером порта MySQL.

    Uptime - суммарное время работы сервера.

    Две другие команды, mysqladmin variables и mysqladmin extended-status, предлагают дополнительную информацию.

    Поскольку MySQL многопоточна, отследить активность процесса с помощью команды Unix ps не просто. Несмотря на то что выполняется несколько потоков, в списке процессов будет указан только один процесс. MySQL позволяет справиться с этим с помощью команды mysqladmin processlist, которая перечисляет все активные потоки в виде таблицы, в которой точно указано, чем занят каждый процесс. Выдаваемые величины имеют следующий смысл:

    Id - внутренний идентификационный номер потока. Это значение не имеет отношения к каким-либо системным ID процессов. Можно  использовать это число в команде mysqladmin kill, чтобы завершить поток.

    User - пользователь, подключенный к серверу через этот поток.

    Host - имя узла, с которого подключился пользователь.

    Db - база данных, к которой подключен пользователь.

    Command - тип команды, выполняемой потоком. Команда может иметь один из следующих типов:

    Sleep - поток ждет ввода пользователя. Большинство процессов должно находиться в этом состоянии.

    Quit - поток в процессе завершения.

    Init DB - поток готовит выбранную базу к взаимодействию. Клиент одновременно может обмениваться данными только с одной базой, но переключение между базами можно осуществить в любой момент.

    Query- поток выполняет реальный запрос. Хотя наибольшая часть взаимодействия с базой данных происходит в виде запросов, эти команды производятся очень быстро и редко появляются в выдаче.

    Field list - поток создает список полей в таблице.

    Create DB- поток создает новую базу данных.

    Drop DB - поток удаляет базу данных.

    Reload - поток перезагружает таблицы доступа MySQL. После перезагрузки все новые потоки будут использовать обновленные таблицы доступа.

    Shutdown - поток находится в процессе завершения всех других потоков и закрытия сервера.

    Statistics – поток генерирует статистику.

    Processes -  поток анализирует другие потоки. С этим значением будет показан поток, выполняющий данную команду.

    Connect - поток в процессе установления входящего соединения с клиентом.

    Kill - ппоток завершает другой поток.

    Refresh - поток очищает все буферы и сбрасывает журнальные файлы.

    Файлы журналов MySQL дают еще один способ получения полезной информации для администрирования сервера. MySQL создает главный журнал, если mysqld запускается с параметром --log. Этот журнал ведется в файле /usr/local/var/HOSTNAME.log, где HOSTNAME - имя машины, на которой запущен MySQL. В этот журнал записываются подключения к серверу и команды, посылаемые ему клиентами.

    MySQL поддерживает еще один журнал, пригодный для чтения. Если запустить MySQL с параметром -log-update, будет создан файл с именем HOSTNAME. #, где HOSTNAME имя машины, a #- уникальное число. В этом журнале содержатся все изменения, вносимые в таблицы баз данных. Этот журнал создается в виде SQL, поэтому все операции можно воспроизвести на другом сервере баз данных.

    Завершение работы сервера

    Следующая команда производит корректное завершение работы сервера MySQL:

    mysqladmin -p shutdown


    Эта команда - самый правильный способ завершения работы сервера. Если MySQL запущен с помощью safe_mysqld и попытаться закрыть сервер каким-либо другим способом, safe_mysqld просто запустит еще один экземпляр сервера.

    Резервирование данных

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

    Хотя технически полного резервирования данных вполне достаточно для восстановления после потери данных, его иногда трудно осуществить. Когда имеется много данных, файлы, необходимые для полного резервирования, могут занимать слишком большое дисковое пространство. Поэтому общепринято осуществлять полное резервирование раз в неделю или через небольшие промежутки времени, а ежедневно производить резервирование данных, изменившихся с момента последнего полного резервирования. Это называется инкрементным резервированием.

    При использовании MySQL инкрементное резервирование можно производить, используя такую возможность сервера баз данных, как «update log» - журнал изменений MySQL. Если сервер баз данных mysqld запущен с параметром --log-update, то все изменения в базе данных будут сохраняться в файле в виде команд SQL. Изменения будут сохраняться в порядке их производства. В результате получается файл, который, будучи обработан монитором mysql, воспроизведет все действия, произведенные над базой данных. Если журнал хранится с самого образования базы данных, то будет восстановлен весь жизненный цикл базы данных, который приведет ее в текущее состояние.

    Система безопасности

    MySQL использует собственный сервер баз данных для обеспечения безопасности. При первоначальной установке MySQL создается база данных под названием «mysql». В этой базе есть пять таблиц: db, host, user, tab-les_priv, и columns_priv . Более новые версии MySQL создают также базу данных с названием func, но она не имеет отношения к безопасности. MySQL использует эти таблицы для определения того, кому что позволено делать. Таблица user содержит данные по безопасности, относящиеся к серверу в целом. Таблица host содержит права доступа к серверу для удаленных компьютеров. И наконец, db, tables_priv и со-lumns_priv управляют доступом к отдельным базам данных, таблицам и колонкам.

    Изменение прав доступа

    MySQL загружает таблицы доступа при запуске сервера. Преимуществом такого подхода по сравнению с динамическим обращением к таблицам является скорость. Отрицательная сторона состоит в том, что изменения, производимые в таблицах доступа MySQL, не сразу начинают действовать. Для того чтобы сервер увидел эти изменения, необходимо выполнить команду mysqladmin reload. Если таблицы изменяются с помощью SQL-команд GRANT или REVOKE, явно перегружать таблицы не требуется.

    4.3 Оптимизация работы MySQL

    MySQL имеет три потенциальных «узких места» при любом подключении. Во-первых, это сетевое соединение клиента с сервером. Во-вторых, это время решения таких задач, как, построение индексов. И наконец, проблема может быть связана с дисковым вводом/выводом. MySQL предоставляет доступ к переменным, с помощью которых ее функционирование можно настроить в соответствии со средой приложения. Все эти переменные можно установить, используя параметр -О в команде mysqld. Например, переменная back_log принимает значение 15 в результате добавления к mysqld параметра -О backjtog=15.

    Ниже следует список полезных переменных:

    bach_log - количество одновременных подключений по TCP/IP в очереди. При наличии большого числа удаленных пользователей, одновременно подключающихся к вашей базе данных, может потребоваться увеличить это число. Отрицательной стороной большого значения является некоторый рост использования памяти и загрузки ЦП.

    key_buffer - буфер, выделяемый для хранения последних использовавшихся ключей. Если запросы выполняются слишком медленно, увеличение этого значения может оказаться благотворным. Отрицательный эффект - увеличение расхода памяти.

    max Connections - число одновременных соединений, разрешенное сервером баз данных. Если при активной работе пользователи иногда получают отказ в доступе, возможно, это число следует увеличить. Отрицательное последствие - увеличение загрузки сервера, то есть рост использования ЦП, расхода памяти и дискового ввода/вывода.

    table_cache - буфер, используемый для хранения данных, к которым происходит частое обращение. Если выделить под них память, то резко сокращается объем обращений к диску. Отрицательный эффект - существенное увеличение расхода памяти.


    Структура хранения данных в MySQL

    Для хранения каждой таблицы MySQL используется три файла. Например, средних размеров таблица mytable может выглядеть так:

    -rw-rw-- - 1 root root 1034155 Jun 3 17:08 mytable.ISD

    -rw-rw---- 1 root root 50176 Jun 3 17:08 mytable.ISM

    -rw-rw-- - 1 root root 9114 Jun 3 14:24 mytable.frm

    В файле ISD хранятся фактические данные. В файле ISM хранятся данные о ключах и прочие внутренние данные, необходимые MySQL для быстрого поиска данных в файле ISD. Файл f rm содержит структуру самой таблицы.

    Файл ISM наиболее важен для функционирования MySQL. Он настолько важен, что ему посвящена целая утилита isamchk. Запуск isamchk -d выводит сведения о таблице:

    # isamchk -d mytable

    ISAM file: mytable

    Data records: 1973 Deleted blocks: 0

    Recordlength: 343

    Record format: Packed

    table description:

    Key Start Len Index Type

    1 2 50 unique text packed stripped

    Важное поле, которое нужно отметить, это «Deleted blocks» (удаленные блоки). Если его значение слишком велико, то файл понапрасну занимает много лишнего места. Это пространство можно освободить. В результате выполнения следующей команды таблица будет просмотрена и создана заново, при этом будут в большинстве своем устранены ошибки и высвобождено свободное пространство: isamchk -r mytable. Еще большего увеличения скорости можно добиться, применив к таблице команду Isamchk -а. Эта команда анализирует размещение данных в таблице. Ее следует выполнить после вставки или удаления большого числа записей.

    Восстановление поврежденных таблиц

    При авариях сервера или по другим естественным причинам таблица базы данных может оказаться поврежденной. С помощью isamchk обеспечивается несколько уровней восстановления:

    isamchk mytable –  команда исправляет большинство обычных ошибок в таблице. Добавление параметров -г и -v приводит к выводу дополнительных сведений о том, что было нарушено.

    isamchk -rq mytable –  команда осуществляет быструю проверку и при необходимости исправление только файла ISM, файл ISD при этом не проверяется.

    isamchk -e mytable – с данным параметром производится полная проверка и исправление всего, что можно, и устранение любых повреждений. Такая проверка обычно производится значительно дольше, чем обычная. Выполнение команды прекращается в момент столкновения с первой серьезной ошибкой. Для продолжения проверки даже после нахождения серьезных повреждений передается параметр -v. Тем самым гарантируется отсутствие повреждений в результирующей таблице, но при этом может произойти потеря некоторых данных.


    Удаление и замена ключей

    Иногда ключи замедляют скорость работы с базой данных. Если необходимо ввести большой объем данных, индексирование ключей после каждой вставки может оказаться очень неэффективным. Кроме того, если таблица имеет поврежденные ключи, в результате исправления таблицы утилитой isamchk может произойти потеря данных, связанных с ключом.

    В этих случаях оказывается полезным временное удаление ключей из таблицы и воссоздание их после завершения опасной работы. Следующая команда удаляет ключи из таблицы:

    isamchk -rq -k0

    Если нужно снова вставить ключи, это можно сделать командой:

    isamchk –rq


    Устранение неполадок

    Часто встречавшихся проблем при администрировании MySQL:

    1) Изменения в таблицах доступа не действуют. Нужно  выполнять команду mysqladmin reload после внесения изменений в таблицы доступа.

    2) При высокой загрузке MySQL отказывает в подключении.

    1.   Сначала необходимо уточнить число соединений, допускаемых сервером. Команда mysqladmin variables покажет его значение в поле max_connec-tions. Можно увеличить это число, запустив mysqld с параметром -О max_connections=###, где ### - предел, который нужно установить.

    2.   Можно также проверить значение back_log , которое определяет размер очереди, создаваемой MySQL для входящих соединений, равное 5 по умолчанию. Версии MySQL до 3.22 позволяли увеличить это значение до 64, но в более поздних версиях его можно увеличить до 1024. Однако оно может быть ограничено до 64 операционной системой.

    3.   Также эта проблема может быть вызвана ограничением числа дескрипторов файлов. Симптомом этого является полный отказ в подключениях при запуске MySQL большого числа потоков.

    3) MySQL сообщает о невозможности найти файл, который явно существует, или сообщает об ошибках во время его чтения. В большинстве случаев эта проблема связана с числом дескрипторов файлов, о котором говорилось выше. Однако если увеличить буфер таблиц MySQL, ему не потребуется открывать так много файлов, и вы сможете избавиться от этой проблемы. По умолчанию величина буфера таблиц равна 64. Можно увеличить его через значение переменной table_cache .

    4) Число потоков начинает расти, и потоки не завершаются. В некоторых системах с установленным NFS, а также в Linux, есть проблемы с механизмом блокировки файлов. Результатом может быть замораживание потоков. Команда mysqladmin processlist поможет выявить эту проблему. Если в поле «Command» против замороженных потоков стоит «System lock», запустите mysqld с параметром --skip_ locking.

    4.4 Тестирование производительности MySQL

    Для тестирования производительности СУБД была создана небольшая БД (рис. 4.8). Использовавшийся сервер: HP ProLiant DL380 2xXeon3.2, RAM 5 Гб, SCSI HDD u320. Сервер был настроен на максимальную производительность, а приведенные здесь результаты тестов – лучшие из полученных:

    # InnoDB

    sync_binlog = 0

    innodb_buffer_pool_size = 2048M

    innodb_additional_mem_pool_size = 64M

    innodb_log_files_in_group = 2

    innodb_log_file_size  = 512M

    innodb_log_buffer_size   = 8M

    innodb_flush_log_at_trx_commit  = 0


    # MyISAM

    key_buffer   = 1024M

    table_cache = 1024

    sort_buffer_size   = 16M

    read_buffer_size   = 4M

    read_rnd_buffer_size   = 4M

    myisam_sort_buffer_size = 4M

    query_cache_size   = 16M


    Распределение количества запросов на чтение и запись было выбрано в отношении 80% и 20% соответственно. После запуска на тестирование производилась выдержка в течение нескольких десятков секунд для стабилизации результатов. Было проведено пять тестов, результат усреднялся.

    Тестировались следующие запросы (в процентах от общего числа):

    -   чтение из таблицы Friends (95%);

    -   чтение Posts и Comments (5%);

    -   запись Posts и Comments (95%);

    -   создание новых пользователей (Users) и изменение свойств уже существующих (5%).

    Рисунок  4.8 – Схема тестируемой БД

    Оптимизированные алгоритмы работы с БД для MySQL:

    Запрос чтение Friends. Общий вид запроса следующий:

    SELECT user_id, MAX(posts_id)

     FROM posts

     WHERE user_id

     IN (SELECT friend_id

    FROM friends

    WHERE user_id = UserId)

     GROUP BY user_id;


    Для максимально оптимальной выборки необходимо на внутренний запрос подключить индекс по первичному ключу таблицы friends, а для внешнего запроса – первичный ключ по таблице posts.

    Однако, поскольку MySQL всех версий не умеет адекватно оптимизировать внешний запрос вне зависимости от созданных индексов и их явного указания через FORCE(key list), сложный запрос был разбит  на два простых: в первом запросе получен список пользователей, а во втором – нужные посты.

    UsersSet = SELECT friend_id FROM friends WHERE user_id = UserId


    и

    SELECT user_id, MAX(post_id) FROM posts WHERE user_id in (UsersSet) GROUP BY user_id


    Чтение Posts и Comments:

    SELECT *

     FROM posts

     WHERE (posts_id = PostId);


    SELECT *

     FROM comments

     WHERE ((user_id = UserId) AND (posts_id = PostId))

     ORDER BY comment_date;


    Запись Posts:

    PostID = SELECT MAX(post_id) FROM posts;

    INSERT IGNORE INTO posts (user_id, post_id, post_date, post_title, post_body) VALUES (UserID, PostID, Date, Title, Body);


    Запись Comments:

    SELECT COUNT(*) FROM users WHERE (user_id = iUserId);

    SELECT COUNT(*) FROM users WHERE (user_id = iPosterId);

    SELECT COUNT(*) FROM posts WHERE (post_id = iPostId);

    CommentId = SELECT MAX(comment_id) FROM commnets; INSERT IGNORE INTO \

      comments (user_id, posts_id, comment_id, from_user_id, comment_date, comment_title, comment_body) \

      VALUES (UserId, PostId, CommentId, PosterId, Date, Title, Body);


    Создание пользователя (Users):

    SELECT COUNT(1) FROM users WHERE user_name = UserName;

    INSERT INTO users(user_name) VALUES (UserName);

    GET_LAST_INSERT_ID

    Редактирование свойств пользователя (Users):

    SELECT COUNT(1) FROM users WHERE user_id = UserId;

    UPDATE users SET user_name = UserName WHERE user_id = UserId;


    Таблица 4.1 - Результаты тестирования СУБД MySQL в зависимости от количества подключений

    Количество коннектов в пуле

    MySQL InnoDB

    (read/write per sec)

    MySQL MyISAM

    (read/write per sec)

    1

    600/60

    500/20

    5

    1100/110

    600/50

    10

    1100/110

    600/50

    11-17

    800/70

    400/30

    20 и более

    Отказ от обслуживания

    Отказ от обслуживания

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

    Заключение


    В результате прохождения преддипломной практики в филиале компании “Лукойл-Информ” была изучена структура предприятия, организация работы отдела Автоматизированного управления финансами и персоналом, принципы работы и администрирования программного обеспечения, использующегося в работе отдела.

    При прохождении практики, функциональными обязанностями являлись изучение особенностей работы, установки и конфигурирования программного комплекса 1С:Предпритие. Для выполнения поставленных задач были изучены, как нормативные материалы, так и специализированная литература, Интернет-источники, предоставляющие информацию по данной тематике.

    Были выбраны инструментальные средства для выполнения дипломного проекта. Выбор был сделан на основании анализа и сравнения современных свободных СУБД, а также проведен ряд тестов, характеризующих реальную производительность выбранной СУБД.

    Изученные вопросы являются актуальными при установке и настройке автоматизированных систем учета, а анализ современных СУБД и изучение особенностей их работы позволили получить практические навыки для разработки программного обеспечения в рамках будущего дипломного проекта.

    Список используемых источников


    1. Дейт К. Введение в системы баз данных: Пер. с англ.- К.; M.; СПб: Изд. Дом "Вильямс", 2004. - 848с.

    2. Конноли Т., Бегг К., Страчан А. Базы данных: проектирование, реализация и сопровождение. Теория и практика. М: Издат. дом "Вильямс", 2004. -1120с.

    3. Королев М.А. и др. Теория экономических информационных систем. - М.: Финансы и статистика, 2002. - 223 с.

    4. Смирнова Г.Н., Сорокин А.А., Тельнов Ю.Ф. Проектирование экономических информационных систем, 2002.

    5. Сайт разработчиков операционной системы семейства Windows, #"#">#"#">#"#">#"#">Сравнение MySQL и PostgreSQL с точки зрения разработчика, http://aztips.blogspot.com/2008/10/mysql-postgresql.html








Если Вас интересует помощь в НАПИСАНИИ ИМЕННО ВАШЕЙ РАБОТЫ, по индивидуальным требованиям - возможно заказать помощь в разработке по представленной теме - ОТЧЕТ ПО ПРАКТИКЕ В ИНФОРМАЦИОННОМ ЦЕНТРЕ ... либо схожей. На наши услуги уже будут распространяться бесплатные доработки и сопровождение до защиты в ВУЗе. И само собой разумеется, ваша работа в обязательном порядке будет проверятся на плагиат и гарантированно раннее не публиковаться. Для заказа или оценки стоимости индивидуальной работы пройдите по ссылке и оформите бланк заказа.