Результаты исследования учащихся в проекте СУБД для веб-сайта

Материал из Wiki Mininuniver
Версия от 13:12, 5 декабря 2012; Лапин Алексей (обсуждение | вклад) (Полезные ресурсы)
Перейти к навигацииПерейти к поиску

Авторы и участники проекта

Тема исследования группы

Выбор СУБД для веб-сайта

Проблемный вопрос (вопрос для исследования)

Какую СУБД выбрать для Веб-сайта

Гипотеза исследования

Мы считаем, что от выбора СУБД напрямую зависит скорость работы веб-сайта

Цели исследования

Результаты проведённого исследования

Основные понятия баз данных

  • База данных (БД)– организованная структура, предназначенная для хранения информации. Современные БД позволяют размещать в своих структурах не только данные, но и методы (т.е. программный код), с помощью которых происходит взаимодействие с потребителем или другими программно-аппаратными комплексами.
  • Системы управления базами данных (СУБД) – комплекс программных средств, предназначенных для создания структуры новой базы, наполнения ее содержанием, редактирования содержимого и визуализации информации. Под визуализацией информации базы понимается отбор отображаемых данных в соответствии с заданным критерием, их упорядочение, оформление и последующая выдача на устройство вывода или передача по каналам связи.

Предисловие

Информация ставится главным оружием в нынешнем мире. Информационные войны уже захлестнули нас с головой (например – «война» с Грузией в 2008 году). Информации становится все больше и больше, а ее необходимо где-то сохранять. Для этого придумывали различные технологии, самыми успешными их них сейчас являются базы данных, а управляют ими Системы Управления Базами Данных (СУБД). Базы данных и СУБД также развивались. Сначала были иерархические базы данных (модели), затем сетевые. В 1970 году британский ученый Эдгар Кодд выпустил свою работу, посвященную реляционному способу хранения данных – с этого момента начинается эпоха Реляционных СУБД. С семидесятых годов до наших дней было выпущено множество различных СУБД. Все они, в свои времена, пользовались большим спросом. Но сейчас – на рынке малых, средних и промышленных систем, лидирует очень известная корпорация – Oracle. Ей принадлежит две популярных СУБД: ORACLE и MySQL. Сейчас я предлагаю попытаться (как это получится - посмотрим) – сравнить эти две системы.

Сравнение

  • История и возраст данных СУБД

ORACLE изначально разрабатывалась одноименной компанией. Первая версия была выпущена в 1979 году (надо отметить один занимательный факт – «первая» версия имела номер два (2), это был маркетинговый ход руководства компании).

MySQL сначала разрабатывалась компанией MySQL AB, которую в 2008 году купила Sun Microsystems. Первая версия данной СУБД появилась в 1995 году (внутренняя).

  • Принципы разработки

MySQL изначально разрабатывал коллектив удаленных сотрудников – около семидесяти процентов из 400 работали из собственного дома. ORACLE разрабатываю в офисах.

  • Условия распространения

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

ORACLE изначально разрабатывалась как корпоративная СУБД, поэтому логично, что она платная. Распространяется четыре основные редакции и две дополнительные. Первые четыре – полностью платные, пятая – предназначена для мобильных и встраиваемых устройств, а шестая (называется Express Edition) распространяется бесплатно, но имеет урезанный функционал.

  • Особенности

Глубоко в техническую реализацию данных СУБД лезть не будем. До версии 3.23 у MySQL максимальные размеры таблиц могли равняться четырем гигабайтам. С версии 3.23 – уже до восьми миллионов терабайт. Начиная с пятой версии MySQL поддерживает хранимые процедуры и функции, обработчики ошибок, курсоры, триггеры, представления (не знаю, как без этого сделать нормальную промышленную систему). Чтобы установить себе на компьютер MySQL можно скачать либо исходные коды, либо готовый исполняемый модуль для вашей ОС. В MySQL используется немного «подрезанный» стандартный SQL. MySQL поддерживает очень большой список платформ. Надо сказать, что почти все хостеры предоставляют хостинг вместе с MySQL – поэтому она и является такой популярной.

ORACLE поддерживает все вышеописанные функции, но в ней есть еще ряд особенных функций: объектно-ориентированные свойства, автономные транзакции, последовательности, пакеты, аналитические функции. Для работы можно использовать как стандартный SQL, так и язык программирования PL/SQL – в него добавлено множество дополнительных функций, упрощающих работу программиста. Кроме того, последняя на данный момент версия СУБД ORACLE 11g – это первая в мире база данных, специально разработанная для работы в сетях распределенных вычислений Grid. ORACLE, также как и MySQL – поддерживает очень много различных платформ.

  • Удобство работы с СУБД

MySQL можно скачать вместе с веб-сервером и интерпретатором PHP в пакете Denwer (или, например – TopServer), затем достаточно установить – и все будет работать. Лично я пользовался для администрирования и запуска SQL-кода средством phpMyAdmin. Все очень просто и легко. Создавать, изменять и удалять объекты можно с помощью кликов мышью. Для начинающего пользователя данная система – идеальна (говорю сейчас от имени начинающего пользователя). По умолчанию пользователь имеет имя root и пустой пароль. Поэтому обязательно надо создать нового пользователя и задать ему необходимые привилегии и пароль. Все настройки осуществляются базе mysql.

Чтобы установить ORACLE – придется немного повозиться, но этот процесс все же довольно прост. Для работы с СУБД я использую PL/SQL Developer – это отдельная программа, которую необходимо устанавливать. Там тоже бОльшая часть функций доступна по щелчку, но надо знать – где что лежит. Зато потом, когда все будет изучено - открываются огромные возможности по созданию, редактированию и удалению всех объектов базы данных. По умолчанию, администратор СУБД имеет логин и пароль MANAGER. После входа также надо создать своего пользователя. В плане пользования – MySQL выигрывает, так как она очень проста, новичок сразу почти все сможет сделать. Для работы с ORACLE надо много учиться.

  • Тестовое сравнение

Данный тест производился не мной, но я с ним полностью согласен. Тест проводился на одной машине, действия были одни и те же. Создано в каждой СУБД по одной таблице объемом 8452525 строк. Был написан запрос, проверяющий четыре условия – и по этим условиям формировавший новую таблицу. В сформировавшейся таблице будет 978 строк.

MySQL выполнила данный тест за 35 секунд. ORACLE – за 2 секунды.

Вывод

Мое мнение такое – MySQL подходит для проектов, в которых будут обрабатываться малое количество информации (относительно конечно) и не будет большое число пользователей. ORACLE – для больших проектов. И еще хочется сказать что при работе с MySQL часто получается так, что один и тот же человека сочетает в себе качества системного администратора, администратора баз данных, разработчика структур данных и кодера. Лично мне этот подход очень не нравится, но MySQL сама провоцирует на это, так как там уже есть почти все, что нужно для реализации этих функций.

Полезные ресурсы

MySQL и ORACLE

Другие документы