Московский энергетический институт (ТУ)
Кафедра прикладной математики
Обзор современных систем управления базами данных
Студент: |
Рязанов Михаил |
Группа: |
А-13-07 |
Преподаватель: |
Сидорова Н.П. |
Москва 2010
Оглавление
Оглавление 2
Введение 2
Реляционные БД 2
CUBRID 3
Firebird 4
Основные характеристики: 5
Заключение 7
Список используемой литературы: 7
Введение
Современная жизнь немыслима без эффективного управления. Важной категорией являются системы обработки информации, от которых во многом зависит эффективность работы любого предприятия ли учреждения. Такая система должна:
обеспечивать получение общих и/или детализированных отчетов по итогам работы;
позволять легко определять тенденции изменения важнейших показателей;
обеспечивать получение информации, критической по времени, без существенных задержек;
выполнять точный и полный анализ данных.
Реляционные бд
В реляционных базах данных вся информация сведена в таблицы, строки и столбцы которых называются записями и полями соответственно. Эти таблицы получили название реляций [Отношение — математический термин из теории множеств, которая легла в основу реляционной модели данных. В английском языке слову "отношение" соответствует слово relation, отсюда название "реляция". — Ред. ], поэтому модель стала называться реляционной. Записи в таблицах не повторяются. Их уникальность обеспечивается первичным ключом, содержащим набор полей, однозначно определяющих запись. Для быстрого поиска информации в базе данных создаются индексы по одному или нескольким полям таблицы. Значения индексов хранятся в упорядоченном виде и содержат ссылки на записи таблицы. Для автоматической поддержки целостности связанных данных, находящихся в разных таблицах, используются первичные и внешние ключи. Для выборки данных из нескольких связанных таблиц используются значения одного или нескольких совпадающих полей.
CUBRID
Последнее время, в области баз данных, внимание сконцентрировано на интенсивно развивающихся NoSQL решениях. Складывается обманчивое впечатление, что в секторе реляционных СУБД затишье: основные продукты давно известны, все ниши заняты. Казалось бы, новому игроку сюда так просто не попасть. Только если речь идёт не о проекте с пятнадцатилетней историей, не о развитой объектно-реляционной СУБД с открытым кодом, оптимизированной для использования в веб-приложениях, не о системе, которая имеет поддержку хранимых процедур, партиционирование, опции высокой доступности, репликацию и распределённые транзакции. Имя этой «тёмной лошадки» — CUBRID. И, судя по заявлениям создателей, она претендует на лавры MySQL. Лошадку «прятали» в Южной Корее, где она обрела популярность и начала использоваться в проектах госструктур и таких гигантов, как корпорации NHN. В конце 2008 года были открыты исходные коды, но международное лицо проект лишь в конце 2009. С MySQL эту СУБД роднит только сфера применения, они не имеют общей кодовой базы и различаются использованными подходами начиная с идей и заканчивая API. Высокая производительность для веб-приложений заложена в трёхзвенной архитектуре CUBRID.
Серверная подсистема представлена как набор процессов, каждый из которых решает узкий набор задач:
распределение свободного пространства
логгирование
управление блокировками
управление транзакциями
обработка объектов и запросов
Клиентская подсистема включает API для C, PHP, Python и Ruby, а также поддержку JDBC, ODBC и OLEDB и берёт на себя
парсинг и оптимизацию запросов
кэширование объектов и блокировок
управление объектами, транзакциями и триггерами
Промежуточная подсистема (Broker) реализует
очередь задач
пул соединений
мониторинг
логгирование
Архитектура CUBRID ориентирована на масштабирование звеньев-брокеров, которые берут на себя задачи оптимизации запросов и пулинга соединений, разгружая сервер БД, а также повышают безопасность системы за счёт изолирования обработки запросов. Кроме того, 7 июня 2010 стартовал проект по кластеризации самой БД (к концу года запланирован выпуск стабильной версии). СУБД написана на C и C++, интерфейс администрирования — на Java, поддерживаются ОС Linux и Windows. Уже реализована поддержка SQL-92, JDBC, ODBC и OLEDB. CUBRID использует объектно-реляционный подход к хранению данных. Поэтому, в ней нет столбцов — есть атрибуты, нет таблиц — есть классы, нет строк — есть экземпляры классов, нет типов данных — есть домены, нет процедур — есть методы. Это позволяет вместо генерации DDL под имеющуюся структуру классов, просто взять скомпилированный jar-файл, загрузить его в БД. Кроме всех перечисленных отличий, CUBRID обладает неплохим инструментарием для администрирования, хорошей реализацией высокой доступности (failover, обновление СУБД и ОС без простоя), резервного копирования (горячие бэкапы, компрессия). Готовы и инструменты для миграции: scriptella и Apache DdlUtils. В качестве хранилища CUBRID уже могут использовать MediaWiki, phpBB, Wordpress и несколько проектов поменьше. К минусам относятся: пока что, небольшое сообщество разработчиков и пользователей, отсутствие поддержки Solaris, Mac OS X и FreeBSD, а также некоторые особенности диалекта SQL.