Что такое субд простыми словами

Что такое СУБД. Подробное описание для начинающих

Приветствую Вас нас сайте Info-Comp.ru! Сегодня я максимально просто, специально для начинающих, попытаюсь рассказать Вам о том, что такое СУБД, и для чего это нужно.

Что такое субд простыми словами. Смотреть фото Что такое субд простыми словами. Смотреть картинку Что такое субд простыми словами. Картинка про Что такое субд простыми словами. Фото Что такое субд простыми словами

Что такое СУБД

Итак, давайте сразу начнем с расшифровки, что же такое СУБД.

СУБД – это система управления базами данных.

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

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

Что такое база данных

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

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

Реляционная база данных – это упорядоченная информация, связанная между собой определёнными отношениями.

Логически такая база данных представлена в виде таблиц, в которых и хранится вся эта информация.

Физически база данных представляет собой, конечно же, обычные файлы, созданные в специальном формате.

И здесь возникает вопрос, если база данных — это файлы, созданные в специальном формате, то как создать такие файлы и редактировать их?

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

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

Какие бывают СУБД

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

Что такое SQL

Что такое субд простыми словами. Смотреть фото Что такое субд простыми словами. Смотреть картинку Что такое субд простыми словами. Картинка про Что такое субд простыми словами. Фото Что такое субд простыми словами

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

SQL (Structured Query Language) — язык структурированных запросов, с помощью него пишутся специальные запросы к базе данных с целью получения данных из базы данных или для манипулирования этими данными.

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

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

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

Среди всех СУБД по функциональности и популярности можно выделить следующие системы.

Microsoft SQL Server

Что такое субд простыми словами. Смотреть фото Что такое субд простыми словами. Смотреть картинку Что такое субд простыми словами. Картинка про Что такое субд простыми словами. Фото Что такое субд простыми словами

Microsoft SQL Server – это система управления базами данных от компании Microsoft. Она очень популярна в корпоративном секторе, особенно в крупных компаниях.

Microsoft SQL Server – это очень функциональная СУБД, и она, конечно же, распространяется платно. Однако у SQL Server есть редакция Express, которую можно использовать абсолютно бесплатно, например, для обучения или для разработки приложений, которые будут обрабатывать данные на небольших серверах (размером до 10 ГБ).

В Microsoft SQL Server для программирования в базах данных используется расширение языка SQL – Тransact-SQL, сокращенно T-SQL.

Oracle Database

Что такое субд простыми словами. Смотреть фото Что такое субд простыми словами. Смотреть картинку Что такое субд простыми словами. Картинка про Что такое субд простыми словами. Фото Что такое субд простыми словами

Oracle Database – это система управления базами данных от компании Oracle. Это еще одна очень функциональная СУБД, которая также популярна среди крупных компаний. Возможности Oracle Database и Microsoft SQL Server сопоставимы, поэтому они являются серьезными конкурентами друг другу, и стоимость их полнофункциональных версий очень высокая.

В Oracle Database используется язык PL/SQL (Procedural Language / Structured Query Language) — это процедурное расширение языка SQL, разработанное компанией Oracle.

MySQL

Что такое субд простыми словами. Смотреть фото Что такое субд простыми словами. Смотреть картинку Что такое субд простыми словами. Картинка про Что такое субд простыми словами. Фото Что такое субд простыми словами

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

PostgreSQL

Что такое субд простыми словами. Смотреть фото Что такое субд простыми словами. Смотреть картинку Что такое субд простыми словами. Картинка про Что такое субд простыми словами. Фото Что такое субд простыми словами

PostgreSQL – эта система управления базами данных также является бесплатной, и она очень популярна и функциональна.

В PostgreSQL используется язык PL/pgSQL – это процедурное расширение языка SQL.

Выводы

В заключение давайте подведем итог.

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

Надеюсь, я понятно ответил на вопрос «что такое СУБД» и для чего это нужно. А также надеюсь, что материал был Вам интересен и полезен.

На сегодня это все, удачи Вам, пока!

Заметка! Если Вас интересует язык SQL, то рекомендую почитать книгу «SQL код» это самоучитель по языку SQL для начинающих программистов. В ней язык SQL рассматривается как стандарт, чтобы после прочтения данной книги можно было работать с языком SQL в любой системе управления базами данных.

Источник

Что такое СУБД

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

Подробнее о СУБД

Основные функции СУБД:

Каждая СУБД основывается на какой-либо модели данных, это является одним из признаков классификации. По модели данных СУБД бывают:

SQL и реляционные БД: почему в них важно разбираться

Сегодня по-прежнему наиболее популярными при создании веб-приложений и сервисов остаются реляционные базы данных. Для управления реляционными базами данных используется язык SQL (Structured Query Language — структурированный язык запросов). Изначально SQL был инструментом работы пользователя с базой данных, однако со временем язык усложнился и стал скорее инструментом разработчика, чем конечного пользователя.

Наиболее популярные СУБД

MySQL

Считается одной из самых распространенных СУБД. MySQL — реляционная СУБД с открытым исходным кодом, главными плюсами которой являются ее скорость и гибкость, которая обеспечена поддержкой большого количества различных типов таблиц.

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

Microsoft SQL Server

Как следует из названия, фирменная СУБД, разработанная Microsoft. Оптимальная для использования в операционных системах семейства Windows, однако может работать и с Linux.

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

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

PostgreSQL

СУБД PostgreSQL — еще одна популярная и бесплатная система. Наибольшее применение нашла для управления БД веб-сайтов и различных сервисов. Она универсальна, то есть подойдет для работы с большинством популярных платформ.

При этом PostgreSQL — объектно-реляционная СУБД, что дает ей некоторые преимущества над другими бесплатными СУБД, в большинстве являющимися реляционными.

Oracle

Первая версия этой объектно-реляционной СУБД появилась в конце 70-х, и с тех пор зарекомендовала себя как надежная, функциональная и практичная. СУБД Oracle постоянно развивается и дорабатывается, упрощая установку и первоначальную настройку и расширяя функционал.

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

Источник

Что такое СУБД — функции и классификация

Здравствуйте, уважаемые читатели блога KtoNaNovenkogo.ru. Я продолжаю объяснять сложные компьютерные термины простыми словами.

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

Поэтому сегодня подробно поговорим о СУБД и выясним, что это такое, какие функции выполняет, на какие виды делится.

Что такое субд простыми словами. Смотреть фото Что такое субд простыми словами. Смотреть картинку Что такое субд простыми словами. Картинка про Что такое субд простыми словами. Фото Что такое субд простыми словами

СУБД — это.

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

Говоря простыми словами, СУБД — это комплекс программ, с помощью которых можно создавать базы данных, контролировать и изменять в них информацию.

Что такое субд простыми словами. Смотреть фото Что такое субд простыми словами. Смотреть картинку Что такое субд простыми словами. Картинка про Что такое субд простыми словами. Фото Что такое субд простыми словами

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

Возможности СУБД

Используя системы управления базами данных, пользователи могут:

Из чего состоит СУБД

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

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

Процессор языка БД — оптимизирует запросы на извлечение и изменение данных. В его «обязанности» также входит генерация исполняемого внутреннего кода.

Подсистема поддержки времени исполнения нужна для интерпретации программ манипуляции данными.

Сервисные программы обеспечивают дополнительные возможности по обслуживанию БД.

Что такое субд простыми словами. Смотреть фото Что такое субд простыми словами. Смотреть картинку Что такое субд простыми словами. Картинка про Что такое субд простыми словами. Фото Что такое субд простыми словами

Функции СУБД

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

Классификация

Существует несколько классификаций систем управления базами данных: по модели данных, степени распределенности и способу доступа к БД.

Вкратце пройдемся по каждой из них.

По модели данных

Здесь выделают следующие виды СУБД:

Что такое субд простыми словами. Смотреть фото Что такое субд простыми словами. Смотреть картинку Что такое субд простыми словами. Картинка про Что такое субд простыми словами. Фото Что такое субд простыми словами

По степени распределенности

Выделяют следующие разновидности СУБД по степени распределенности:

По способу доступа

Еще одна классификация СУБД — по способу доступа. Здесь выделяют следующие виды:

Популярные СУБД

Теперь вы уже знаете почти все о системах управления базами данных, начиная определением понятия и заканчивая их классификацией. Для лучшего понимания термина вкратце пройдемся по самым популярным СУБД.

Oracle

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

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

MySQL

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

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

Microsoft SQL Server

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

PostgreSQL

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

PostgreSQL — объектно-реляционная система управления базами данных, что дает ей преимущество над бесплатными реляционными системами.

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

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

А в завершение предлагаю посмотреть познавательное видео по теме:

Удачи вам! До скорых встреч на страницах блога KtoNaNovenkogo.ru

Эта статья относится к рубрикам:

Комментарии и отзывы (2)

Интересно, сколько получают разработчики, а также программисты за поддержку и развитие этих баз данных?

Ну, профессия программиста сама по себе мало чем отличается от разнорабочего в плане оплаты труда. Обычный программист получает немного, ибо таких как он полно, как и неквалифицированных рабочих.

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

Источник

Базы данных и СУБД

Что такое субд простыми словами. Смотреть фото Что такое субд простыми словами. Смотреть картинку Что такое субд простыми словами. Картинка про Что такое субд простыми словами. Фото Что такое субд простыми словами

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

Как работают базы данных

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

Любую информацию можно быстро заносить в базу данных и так же быстро извлекать ее при необходимости.

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

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

Система управления базами данных (СУБД)

Система управления базами данных (сокращенно СУБД) – это программное обеспечение для создания и работы с базами данных.

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

Реляционные СУБД и язык SQL

Реляционные и объектно-реляционные СУБД являются одними из самых распространенных систем. Они представляют собой таблицы, в которых каждый столбец (он называется «field» или «поле») упорядочен и имеет определенное уникальное название. Последовательность строк (их называют «records» или «записи») определяется последовательностью ввода информации в таблицу. При этом обрабатывание столбцов и строк может происходить в любом порядке. Таблицы с данными связаны между собой специальными отношениями, благодаря чему с данными из разных таблиц можно работать – к примеру, объединять их при помощи одного запроса.

Для управления реляционными базами данных применяется особый язык программирования – SQL. Сокращение расшифровывается как «Structured query language», в переводе на русский – «язык структурированных запросов».

Команды, которые используются в SQL, делятся на:

Схема работы с базой данных выглядит следующим образом:

Что такое субд простыми словами. Смотреть фото Что такое субд простыми словами. Смотреть картинку Что такое субд простыми словами. Картинка про Что такое субд простыми словами. Фото Что такое субд простыми словами

5 лучших СУБД

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

MySQL

Что такое субд простыми словами. Смотреть фото Что такое субд простыми словами. Смотреть картинку Что такое субд простыми словами. Картинка про Что такое субд простыми словами. Фото Что такое субд простыми словами

MySQL является одной из самых популярных и распространенных СУБД, которая используется во многих компаниях (например, Facebook, Wikipedia, Twitter, LinkedIn, Alibaba и других). MySQL представляет собой реляционную СУБД, которая относится к свободному программному обеспечению: она распространяется на условиях GNU Public License. Как правило, эту систему управления базами данных определяют как хорошую, быструю и гибкую, рекомендованную к применению в небольших или средних проектах.

У MySQL есть множество различных преимуществ. Например, она поддерживает различные типы таблиц – как известные MyISAM и InnoDB, так и более экзотичные HEAP и MERGE. Кроме того, количество поддерживаемых типов постоянно растет. MySQL выполняет все команды быстро – возможно, сейчас это самая быстрая СУБД из всех существующих. С этой системой управления базами данных может одновременно работать неограниченное количество пользователей, а число строк в таблицах может достигать 50 миллионов.

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

Для работы с MySQL используется не только текстовый, но и графический режим. Это становится реальным благодаря приложению phpMyAdmin: для работы в приложении вам даже не нужно знать SQL-команды, а администрировать свою базу данных можно прямо через браузер.

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

PostgreSQL

Что такое субд простыми словами. Смотреть фото Что такое субд простыми словами. Смотреть картинку Что такое субд простыми словами. Картинка про Что такое субд простыми словами. Фото Что такое субд простыми словами

Эта свободно распространяемая система управления базами данных относится к объектно-реляционному типу СУБД. Как и в случае с MySQL, работа с PostgreSQL основывается на языке SQL, однако, в отличие от MySQL, PostgreSQL поддерживает стандарт SQL-2011. Эта СУБД не имеет ограничений ни по максимальному размеру базы данных, ни по максимуму записей или индексов в таблице.

Если говорить о преимуществах PostgreSQL, то в первую очередь это надежность транзакций и репликаций, возможность наследования и легкая расширяемость. PostgreSQL поддерживает различные расширения и варианты языков программирования, такие как PL/Perl, PL/Python и PL/Java. Также есть возможность загружать C-совместимые модули.

Многие отмечают, что в отличие от MySQL данная СУБД имеет хорошую и подробную документацию, которая дает ответы практически на все вопросы.

О том, что это более масштабная, чем MySQL, СУБД, говорит и тот факт, что PostgreSQL периодически сравнивают с такой мощной системой управления данных, как Oracle. Все это позволяет говорить о PostgreSQL как об одной из самых продвинутых СУБД на данный момент.

SQLite

Что такое субд простыми словами. Смотреть фото Что такое субд простыми словами. Смотреть картинку Что такое субд простыми словами. Картинка про Что такое субд простыми словами. Фото Что такое субд простыми словами

На данный момент это одна из самых компактных СУБД. Также она является встраиваемой и реляционной.

SQLite позволяет хранить все данные в одном файле и, благодаря своему небольшому объему, отличается завидным быстродействием. SQLite значительно отличается от MySQL и PostgreSQL своей структурой: движок и интерфейс этой СУБД находятся в одной библиотеке – и именно это позволяет выполнять все запросы очень быстро. Другие СУБД (MySQL, PostgreSQL, Oracle и т.д.) используют парадигму «клиент-сервер», когда взаимодействие происходит через сетевой протокол.

Из недостатков можно отметить отсутствие системы пользователей и возможности увеличения производительности.

Oracle

Что такое субд простыми словами. Смотреть фото Что такое субд простыми словами. Смотреть картинку Что такое субд простыми словами. Картинка про Что такое субд простыми словами. Фото Что такое субд простыми словами

Эта СУБД относится к объектно-реляционному типу. Название произошло от названия разработавшей эту систему фирмы Oracle. Наравне с SQL СУБД использует процедурное расширение под названием PL/SQL, а также язык Java.

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

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

MongoDB

Что такое субд простыми словами. Смотреть фото Что такое субд простыми словами. Смотреть картинку Что такое субд простыми словами. Картинка про Что такое субд простыми словами. Фото Что такое субд простыми словами

Эта СУБД отличается тем, что она предназначена для хранения иерархических структур данных, и поэтому ее называют документоориентированной (она представляет собой документное хранилище без использования таблиц или схем). MongoDB имеет открытый исходный код.

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

Однако этот язык имеет и свои ограничения, и потому MongoDB следует использовать в случаях, когда нет необходимости в сложных и нетривиальных выборках.

Заключение

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

Источник

База данных и СУБД: основные понятия и определения

Что такое субд простыми словами. Смотреть фото Что такое субд простыми словами. Смотреть картинку Что такое субд простыми словами. Картинка про Что такое субд простыми словами. Фото Что такое субд простыми словамиОсновополагающие термины достаточно подробно рассмотрены в любой из серьезных монографий. Тем не менее, чтобы однозначно понимать суть в ходе чтения, нам нужно выработать общий словарь. С этой целью я буду по мере необходимости приводить минимальный набор определений, составляющий основу дальнейшего изложения.

База данных (БД) — структурированное поименованное хранилище информации.

Из самого первого определения должно быть понятно, что содержащий начисленные квартальные премии сотрудников файл формата CSV — текстовый формат, предназначенный для представления табличных данных (CSV от англ. Comma-Separated Values — значения, разделённые запятыми). Каждая строка файла — это одна строка таблицы. Значения отдельных колонок разделяются разделительным символом (запятой).) является хоть и очень простой, но базой данных, а текстовый файл с научным описанием мышей-полёвок ей не является.

Система управления базами данных (СУБД) — специализированное программное обеспечение, обеспечивающее доступ к базе данных как к совокупности её структурных единиц.

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

Исторически, в устройстве СУБД выделяли три уровня, предложенных ещё в 1975 году в отчёте ANSI/X3/SPARC :

Внутренний уровень не всегда связан с файловой системой. Наиболее развитые современные СУБД представляют собой по сути специализированную операционную систему (см. например информацию по SQLOS в составе Microsoft SQL Server), способную управлять физическими устройствами хранения, кешем данных, процессами и потоками, оперативной памятью, асинхронным запуском и внутренним планировщиком задач минуя собственно операционную систему компьютера.

Вернёмся к примеру с CSV-файлом и приложением LibreOffice Calc, наглядно показывающему, что даже в примитивной СУБД все три упомянутых уровня можно чётко выделить:

Тем не менее, LibreOffice Calc является не СУБД, а приложением для работы с электронными таблицами. Сама по себе всякая электронная таблица уже является БД, но далеко не всякая БД является электронной таблицей. Поскольку целью книги не является обзор способов организации простейших БД и примитивных СУБД, то на этом примере мы пока остановимся и перейдём к более насущным вопросам.

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

В реляционной СУБД любой оператор SQL является одиночной транзакцией по умолчанию. Некоторые реализации, например, Firebird, по умолчанию открывают новую транзакцию при выполнении каждого оператора SQL, оставляя её «висеть» до выдачи команды завершения. Это так называемый режим неявных транзакций (implicit transaction). Для управления соответствующим поведением, СУБД обычно имеет опцию включения и отключения неявных транзакций, например, set implicit_transaction on|off в SQL Server.

Основными аббревиатурами, касающимися транзакций, с которыми вам придётся сталкиваться будут OLTP (On-Line Transaction Processing) — собственно интерактивная транзакционная обработка, и ACID (Atomicity- Consistency-Isolation-Durability) — принципы неделимости, целостности, изолированности и надёжности. О них мы поговорим в дальнейшем, рассмотрев на примерах принципы изоляции.

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

Аналогичной аббревиатурой для интерактивной аналитической обработки является OLAP (On-Line Analytical Processing). Соответственно, интерактивное приложение, работающее с СУБД в режиме OLAP, относится к аналитическим.

Важное здесь слово «интерактивная». Действительно, в отличие от транзакционной, аналитическая обработка может вестись и в пакетном режиме: пользователь формулирует задачу в понятных приложению терминах, ставит обработку в очередь и, например, утром следующего дня получает результаты. Таковой, например, является заблаговременная ночная генерация регулярных отчётов, рассылаемых по утрам или с другой заданной периодичностью группам пользователей (см., например, Microsoft SQL Server Reporting Services).

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

Основная проблема заключается в том, что СУБД, ориентированные на транзакционную обработку, менее эффективны при работе с аналитическими запросами и наоборот. Универсальных архитектур и их реализаций, одинаково легко справляющихся как с большим потоком мелких запросов и транзакций, так и с гораздо меньшим числом массивных тяжёлых выборок по большому диапазону, не существует. Пока, по крайней мере. Ещё сложнее реализовать оба типа обработки одновременно в одной и той же БД. Поэтому возникла и уже долгое время [1] существует упомянутая выше специализация как среди СУБД, так и среди программистов, администраторов и консультантов.

Клиент-серверные и встроенные СУБД

Технология клиент-сервер является основой большинства реализаций современных программных систем. Речь идёт не только о паре «Приложение конечного пользователя — СУБД». Каждое звено многозвенной системы с длинными цепочками прохождения сообщений от пользовательского интерфейса через службы и серверы приложений к СУБД также работает в режиме «клиент-сервер». Отличительные признаки технологии следующие:

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

Из сказанного следует, что СУБД, работающая как самостоятельный процесс, также является сервером, СУБД-сервером. Однако, некоторые СУБД позволяют напрямую пристыковать себя к процессу-приложению, например, посредством динамических библиотек. В этом случае СУБД исполняется в том же процессе (in-process), что и приложение и называется встроенной или встраиваемой.

Что такое субд простыми словами. Смотреть фото Что такое субд простыми словами. Смотреть картинку Что такое субд простыми словами. Картинка про Что такое субд простыми словами. Фото Что такое субд простыми словами

Рис. 1. Взаимодействие приложения с СУБД в системах с разным числом звеньев

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

Следует отметить, что возможно также использование встроенной СУБД в многопользовательском режиме для работы с разделяемыми по сети файлами данных. Такая технология получила название «файл-сервер» и была весьма популярна до широкого распространения клиент-серверных СУБД. Интересующихся я отсылаю к системам разработки под общим названием xBase. Сюда относятся такие продукты, как dBase, Paradox, FoxPro или Clipper (современная открытая кросс-платформенная реализация Clipper называется Harbour). Тем не менее, как минимум одна популярная встраиваемая СУБД до сих пор нередко используется в таком качестве, это Microsoft Access и его «мотор» MS Jet, являющийся компонентом операционной системы Windows.

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

Что такое субд простыми словами. Смотреть фото Что такое субд простыми словами. Смотреть картинку Что такое субд простыми словами. Картинка про Что такое субд простыми словами. Фото Что такое субд простыми словами

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

Из ряда многочисленных встроенных СУБД, опробованных непосредственно на практике или в тестовом режиме, таких как xBase, Microsoft, Access, Microsoft SQL Server Compact, SQLite, Oracle Lite) наиболее интересным современным решением мне представляется Firebird по следующим причинам.

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

Сноска. Firebird 2.5: состояние

Firebird достаточно лёгок в администрировании: для относительно небольших

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

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

Особенности реализации требуют, чтобы операция создания внешнего ключа между двумя таблицами проводилась только при наличии одного единственного соединения к БД. Сами же таблицы создать можно и в обычном соединении, имея соответствующие права. Просуществовало это ограничение до версии 2.1, но у многих клиентов в эксплуатации находится ещё версия 1.5.

Штатных средств соединения в однопользовательском режиме нет. Поддержка предлагает утилитой gfix отключить базу данных в эксплуатации (!), потом включить её в режиме sysdba, что, впрочем, тоже не гарантирует единственного соединения, если более одного сотрудника имеют доступ с уровнем sysdba.

Редакций Firebird по-прежнему несколько, к SuperServer и Classic добавилась SuperClassic. Исторически, Interbase, на основе открытого кода которого возник Firebird, использовал classic-архитектуру: на каждое соединение СУБД стартует отдельный серверный процесс. Такой подход обеспечивает достаточно высокую надёжность (если один процесс аварийно завершается, то на работу остальных это не влияет) и параллелизм средствами операционной системы, но отсутствует разделяемый кэш данных в оперативной памяти. В SuperServer серверный процесс один, каждое соединение работает в своём потоке с разделяемым кэшем. Но SuperServer не умеет распараллеливать запросы: пока один запрос выполняется со 100% загрузкой одного ядра (одного процессора), остальные ждут. Ситуацию призвана исправить появившаяся редакция SuperClassic.

Собственно, кэш данных у Firebird весьма условный, СУБД использует кэш файлов операционной системы, поэтому сбросить его для проверки производительности «холодных» запросов невозможно даже перезапустив СУБД. К примеру, в SQL Server для этого есть специальная команда.

Средства администрирования, прежде всего аудита и мониторинга из комплекта достаточно примитивны. Например, трассировщик запросов, [4] образцом которого вполне может служить MS SQL Server Profiler, являет собой утилиту командной строки, запускаемую со своим конфигурационным файлом. Последующую расшифровку полученных результатов надо проводить вручную при помощи регулярных выражений. Есть коммерческие утилиты, предоставляющие более дружественный интерфейс. В версии 2.5 появились возможности накопления статистики в системных таблицах мониторинга вида MONSXXX.

Средством «полной очистки» БД от так называемого мусора до сих пор является процедура резервного копирования и последующего за ним восстановления при помощи утилиты gbak. Однако, подобная процедура означает отключение пользователей от СУБД на всё время восстановления, делая проблематичной работу в режиме 24×7. Файл базы данных понемногу растёт даже при нулевом балансе добавленных и удалённых записей с постоянной фиксацией транзакций, данные дефрагментируются, что может снизить производительность. Ощущается нехватка аналога команды VACUUM, имеющейся в СУБД PostgreSQL.

Firebird не блокирует используемые файлы. Таким образом файл БД можно скопировать на сервере прямо во время многопользовательской работы. Как оказалось, некоторые клиенты именно так и поступают, называя подобное непотребство «резервным копированием». Проблема заключается в том, что во время копирования нет никакой гарантии нахождения файла в целостном состоянии, как и отсутствия незавершённых транзакций. Наверное, все-таки лучше было бы предусмотреть блокирование, как дополнительную защиту «от дурака».

Наличие перечисленных проблем не позволяет поднять усреднённую планку использования выше чем уровень «СУБД рабочих групп и небольших предприятий», означающий для систем транзакционной обработки десятки пользователей при объёмах БД в десятки гигабайт. Но, вполне возможно, что и такого уровня будет достаточно для ваших приложений.

С другой стороны, с точки зрения программиста, Firebird представляет собой удобный СУБД-сервер: простой в установке, нетребовательный к ресурсам вычислительного устройства, переносимый между различными операционными системами, встраиваемый в приложение. Собственный язык программирования позволяет реализовать логику в хранимых процедурах и триггерах. Имеется большое число средств проектирования, разработки и отладки: от свободно распространяемых с открытым кодом до коммерческих. Стандартные средства сетевого доступа к СУБД имеются практически для всех платформ разработки от массово-корпоративной Явы до более экзотических вроде Руби.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *