Выбор субд. Рис.2.6 "Тонкий" клиент и "толстый" сервер в клиент-серверной архитектуре. Базовая функциональность субд

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

Современные базы данных можно разделить на три категории:

1. Программные продукты корпоративного направления - Oracle и MS SQL Server;

2. СУБД, предназначенные для работы с информационными массивами в небольших компаниях, - MS Access и Borland Interbase;

3. СУБД для Web, реализующих создание web-сайтов с небольшими базами данных, - MySQL.

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

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

СУБД для Web присуща высокая скорость обработки данных, нетребовательность к ресурсам и удобное удаленное администрирование.

Сегодня наиболее популярными СУБД являются Oracle, MS SQL Server-2000, Borland Interbase, MySQL и MS Access-2000.

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

Oracle может работать в большинстве операционных систем: Windows-NT, -2000, Linux, UNIX, AIX, Nowell Netware. А это в свою очередь позволяет выбирать наиболее удобную для корпоративных задач платформу сервера. Например, если организация предпочитает использовать операционные системы не от Windows, то она легко может себе это позволить. Некоторые организации могут ориентироваться на решения на базе UNIX-систем, славящихся надежностью и устойчивостью в качестве серверной платформы, при этом продолжая использовать привычный пользователям Windows на клиентских компьютерах.

Использование Oracle в качестве СУБД дает возможность выбора языка программирования. Традиционно для этого используется язык PL/SQL, но можно использовать и гораздо более мощный язык программирования Java.

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

Основными преимуществами Oracle можно считать поддержку баз данных очень большого объема (до 64 Гбайт), мощные средства разработки и администрирования, поддержку многопроцессорности и двух языковых сред, а также интеграцию с Web. Вместе с этим программа предъявляет серьезные аппаратные требования и высокую цену.

СУБД MS SQL Server-2000 получила широкое распространение, поскольку она предлагает широкий спектр услуг администрирования и легко масштабируется. Это позволяет использовать ее в информационных системах для среднего бизнеса и больших компьютерных информационных системах (КИС).

В основе платформы MS SQL Server используется среда Windows. Главное преимущество программы - тесная интеграция с программными продуктами от Microsoft и возможность экспорта/импорта данных в большинство распространенных форматов данных, что позволяет использовать MS SQL Server как центральное хранилище данных.

СУБД Borland Interbase содержит все, что требуется от СУБД, предназначенной для нужд малого и среднего бизнеса. К тому же, начиная с версии 6.0 программа стала бесплатной, что тоже существенно. Программа нетребовательна к аппаратной части - минимальная конфигурация: Pentium 100, оперативная память - 32 Мбайт, RAM (объем дисковой памяти), необходимой для хранения базы, - 50 Мбайт. Borland Interbase поддерживается платформами Windows и Linux, а также UNIX, NetBSD, FreeBSD.

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

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

Изначально программа была ориентирована на операционную систему Linux, но сейчас уже существуют версии программы для операционных систем Windows, UNIX, NetBSD, FreeBSD, AIX. В последнее время программа завоевывает популярность у пользователей Macintosh с использованием операционной системой Mac OSX. И это происходит несмотря на то, что MySQL не может похвастаться очень богатым набором возможностей.

СУБД MS Access-2000. Назначение этого широко известного программного продукта - решение локальных офисных задач с ограниченным объемом данных и формирование отчетов по результатам работы, при этом отчеты могут быть представлены в стандартном для офисных приложений виде.

Большинство пользователей знают MS Access как компонент MS Office, предназначенный для работы с базами данных.

MS Access - программный продукт, реализованный по принципу «все в одном». Он одновременно является и средой разработки на двух языках программирования (Visual Basic и сильно усеченный диалект SQL), и CASE-средством, а также мощным и наглядным средством создания отчетов по результатам работы.

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

Программа позволяет формировать необходимые элементы как в электронном виде, так и в печатном. Кроме всего прочего, MS Access легко интегрируется с другими решениями от Microsoft. К недостаткам программы можно отнести ограниченный объем обрабатываемых данных и медлительность, поскольку MS Access является одной из самых медленных СУБД. Это накладывает ограничения на использование программы - не рекомендуется применять MS Access для базы, которая может разрастись свыше 100 Мбайт. Поэтому ее надо осторожно использовать в проектах, которые с высокой степенью вероятности будут расширяться в дальнейшем.

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

Если требуется разработать систему автоматизации для большого холдинга и при этом необходима обработка данных в реальном масштабе времени, то наилучшим решением будет Oracle. Ведь именно он способен обрабатывать огромные объемы данных и имеет удобные средства администрирования удаленных серверов, раскиданных по всему миру.

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

Для малых предприятий и небольших организаций удачным будет выбор Borland Interbase 6.0, которая поддерживает базы до 1 Гбайт, не требуя выделенного сервера.

MS Access-2000 идеальна для решения небольших офисных задач или же для автоматизации в маленьких фирмах с персоналом до 20 сотрудников. Это средство не требует особых затрат на разработку, так как работать с ним может даже человек с небольшими знаниями в области программирования.

Электронные презентации


©2015-2019 сайт
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-04-02

1. Какие тренды в развитии серверных СУБД вы бы могли отметить в 2015–2016 годах?

Виталий Чесноков , QSOFT
Самые главные тренды в развитии современных СУБД: использование виртуализации и GRID-технологии, самодиагностика и автоматическое исправление, использование NoSQL-СУБД в Big Data, использование NewSQL-СУБД, выполнение C/C++ кода в адресном пространстве СУБД.

За последние несколько лет многократно выросли объемы данных, подходящих для обработки и хранения в БД. Был принято изменение закона «О персональных данных», гласящее, что персональные данные граждан РФ необходимо хранить на территории РФ. В некоторых западных странах так же действуют подобные законы. Все это приводит нас к необходимости кластеризации и разбиения данных на части.

Повсеместно растет процент использования NoSQL-СУБД, где это возможно, ввиду высокой скорости работы с данными и возможности сравнительно простой кластеризации. Получает распространение новый тип СУБД - NewSQL. В основные беспрецедентные функции NewSQL входят: возможность асинхронной мастер-мастер репликации, заменяющей классическую master-slave схему и обеспечивающей большую гибкость для высоконагруженных проектов; упрощение администрирования и обеспечение динамического управления базой; поддержка хранимых процедур на C/C++ и возможность выполнения C/C++ кода в адресном пространстве СУБД (обеспечивают практически неограниченную расширяемость и невероятный прирост в производительности); улучшение средств диагностики и отладки.

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

Николай Фетюхин , MST
Переход к NoSQL и специализация баз данных. Например, можно обратить внимание на Redis и Tarantool. Последний содержит даже свой сервер приложений. Интересный тренд - совмещенные СУБД и backend, как Parse от Facebook. Также плавная миграция баз данных в облака.

Петр Урваев , SimbirSoft
Функции, успешно себя зарекомендовавшие в одних СУБД, через некоторое время реализуются и в других продуктах. Например, материализованные представления, вначале появившиеся в Oracle DBMS, через некоторое время были реализованы в MS SQL Server, а затем появились и в PostgreSQL. Преимущества, которые предоставляют NoSQL-решения постепенно также реализуются в реляционных СУБД. Например, в последних версиях PostgreSQL реализована поддержка работы с данными в формате JSON.

Евгений Гусев , ITECH
Изменения последних лет в сегменте СУБД носили как частный - применительно к отдельным лидирующим продуктам, так и структурный характер, так что трендов множество. Во-первых, гетерогенность. Переход к модели микросервисов дал возможность гибко подбирать средства решения задачи хранения данных, не ограничиваясь одним. Во-вторых, развитие NoSQL, in-memory storages. В-третьих, Big Data - революция, потребовавшая переосмыслить как методику хранения данных, так и само понятие «данные». В-четвертых, колоночные (column-oriented) БД.

2. По-вашему мнению, существует ли тенденция перехода СУБД в «облака»? Какие существуют плюсы и минусы данного подхода?

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

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

Принципиально иным подходом является облачная СУБД. В данном случае клиент покупает не сервер, а просто услугу использования СУБД. Текущий рынок публичных облачных СУБД, составляющий $400 млн, к 2017 году увеличится до $1,2 млрд. Основные плюсы данного подхода: оплата не предоставленных ресурсов (которые могут и «простаивать»), а лишь реально использованных: объем хранимых данных, количество обрабатываемых СУБД операций; нет необходимости настраивать и администрировать СУБД - эти задачи полностью лежат на хостере; нет необходимости задумываться о масштабировании; хостер предоставляет множество удобных и интуитивно понятных инструментов для управления СУБД; высокая доступность. Основным минусом является отсутствие возможности тонкой настройки СУБД.

Также можно отдельно выделить такой подвид облачной СУБД как DbaaS (Database as a Service). Практически всегда конкретный DbaaS - это одна определенная СУБД, предоставляемая в облаке непосредственными разработчиками. Отсюда очевидно выводится и разница в бизнес-моделях: облачные СУБД подходят для масштабных типовых задач, а DbaaS - для специализированных, под конкретную марку движка БД, с возможностью прямого общения с его разработчиками. Кроме того, DbaaS позволяет значительно точнее подобрать систему под нужную нагрузку, в частности за счет регулирования количества клиентских подключений.

Николай Апурин , Artwell
Тенденция существует. Большинство крупных (общероссийских) систем уже используют облачные БД.

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

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

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

Евгений Гусев , ITECH
Существует и является одной из первичных. Плюсов у размещения БД в облаке масса: простота шардинга и репликации, возможность эффективно в контексте производительности отделить данные от бизнес-логики, легкое и понятное управление вычислительными мощностями и целый ряд других. Критичных минусов, основываясь на опыте, мы не видим. Чем большими объемами данных приходится оперировать, чем больше требуется горизонтального масштабирования, тем более оправданным становится использование облаков.

3. Какие факторы влияют на выбор СУБД? Для каких проектов больше подходят SQL базы данных, а для каких - NoSQL?

Виталий Чесноков , QSOFT
Основным фактором при выборе между SQL и NoSQL-СУБД являются нужды приложения. Для одних задач лучше подходит SQL, для других - NoSQL.

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

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

Николай Апурин , Artwell
NoSQL - для нестандартных вычислений с огромным объемом данных. Но как показала практика, объемы до 20 миллионов записей отлично перерабатываются SQL-базами.

Николай Фетюхин , MST
Технологии NoSQL активно используются известными компаниями, в том числе в высоконагруженных проектах. Сохранение данных и простые выборки при использовании NoSQL будут действительно быстрыми. В случае более сложных запросов задачу придется решать на стороне продукта, что усложняет сам продукт. В чистом виде мы не выбираем NoSQL. Усложнение логики продукта и эмуляции базовых вещей SQL приводит к удорожанию проекта. И не каждое NoSQL-решение обеспечивает безопасность данных в критических ситуациях.

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

Евгений Гусев , ITECH
В современном состоянии SQL / NoSQL - скорее не конкурирующие, а дополняющие друг друга сущности. Использование в одном приложении SQL-решений, когда требуется работать со сложными данными в их взаимосвязи, и NoSQL, когда на передний план выходит скорость работы с неструктурированной информацией, - совершенно естественная практика.

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

Виталий Чесноков , QSOFT
Есть два различных варианта разделения СУБД па платные и бесплатные.

Первый - бесплатные версии коммерческих СУБД (есть у MS SQL, Oracle и т.д.) По сути это урезанная версия СУБД, в которой отсутствует часть функционала. Здесь основной фактор выбора очень прост - нужен ли данному проекту данный функционал. Реже бывает бесплатная версия, которая не отличается от коммерческой по функционалу, но реже обновляется (Couchbase Server).

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

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

Николай Апурин , Artwell
Зачем платить, если есть бесплатные? Тем не менее, много решений, которые могут работать только с платными БД. В основном, это иностранные практики.

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

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

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

База данных

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

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

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

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

Система управления базами данных

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

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

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

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

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

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

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

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

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

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

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

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

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


MySQL

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

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

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

Для работы с 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 и т.д.) используют парадигму клиент-сервер, когда взаимодействие происходит через сетевой протокол.

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

SQLite можно посоветовать к использованию в проектах, где нужно иметь возможность быстро перенести приложение, и нет необходимости в масштабируемости.


Oracle

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

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

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



MongoDB

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

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

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

Вместо заключения

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

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

Современные базы данных можно разделить на три категории:

1. Программные продукты корпоративного направления - Oracle и MS SQL Server;

2. СУБД, предназначенные для работы с информационными массивами в небольших компаниях, - MS Access и Borland Interbase;

3. СУБД для Web, реализующих создание web-сайтов с небольшими базами данных, - MySQL и опять-таки Borland Interbase.

Какими свойствами должна обладать СУБД в зависимости от этих категорий?

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

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

СУБД для Web присуща высокая скорость обработки данных, нетребовательность к ресурсам и удобное удаленное администрирование.

Сегодня наиболее популярными СУБД являются Oracle, MS SQL Server, Borland Interbase, MySQL и MS Access.

знать

База данных - организованная совокупность данных, предназначенная для длительного хранения во внешней па­мяти ЭВМ, регулярного обновления и использования.

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

База данных представляет собой информационную мо­дель определенной предметной области.

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

Реляционные БД (РБД) - наиболее распространенный тип БД, использующий табличное представление данных.

Основные понятия организации данных в РБД : таблица, запись, поле, тип поля, главный ключ таблицы.

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

Ø построение мифологической модели БД,

Ø создание структуры таблиц базы данных,

Ø обработку данных, содержащихся в таблицах,

Ø и вывод информации из БД.



Контрольные вопросы

1. Дайте определение БД.

2. Дайте определение СУБД.

3. Как вы понимаете структуру базы данных?

4. Назовите основные требования, предъявляемые к организации СУБД?

5. Как классифицируются СУБД в зависимости от технологии обработки данных?

6. Как классифицируются СУБД в зависимости от способа доступа к данным ?

7. Какие информационно-логическим моделям баз данных вы знаете?

8. Дайте определение иерархической, сетевой и реляционной моделям баз данных?

9. Какие существуют варианты классификации БД?

10.Почему реляционный тип БД является наиболее распростра­ненным?

11. Что такое запись в БД?

12. Как осуществить выбор СУБД для создания системы автоматизации?

13. Перечислите этапы обобщенной технологии работы с БД.

15. Перечислите возможности, достоинства и недостатки MS Access.

16. Перечислите современные СУБД для корпоративного применения.

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

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

Базовая функциональность СУБД

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

  • изменение;
  • только чтение.

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

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

Концепции систем управления данными

Основная концепция, которая, безусловно, лидирует с момента рождения и совершенствуется по сей день, представляет собой фундамент проектирования систем управления базами данных - реляционные отношения. БД - это набор таблиц и связей между ними. Так было, так есть, но так будет ещё не слишком продолжительное время.

Остальные модели данных:

  • иерархическая;
  • сетевая;
  • ER-модель (сущность - связь);
  • объектно-ориентированная;
  • объектно-реляционная и др.

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

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

Классификация систем управления данными

  • модель данных;
  • распределенность;
  • способы доступа;
  • уровень универсальности.

Это общая классификация современных СУБД.

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

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

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

Функциональность СУБД

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

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

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

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

Большие СУБД и сложный connect

Современный информационный уровень СУБД (классификация по значимости и ответственности):

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

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

Обычно первый критерий определяет в качестве безусловного лидера Oracle, второй - MySQL. У них много общего, но очень много кардинальных различий. Когда возникает задача соединить веб-ресурс с базой данных Oracle без использования её собственных инструментов и технологий, возникает множество вопросов. Сложный connect - давно не редкость, а часто просто условие для достижения решения.

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

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

Безопасность доступа и хранение данных

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

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

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

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

  • имеет смысл использовать (безопасно, надежно, всегда всё доступно);
  • нельзя использовать (все контролируется разработчиком СУБД).

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

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

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

Социальный аспект СУБД

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

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

  • файл-сервер;
  • клиент-сервер;
  • встроенная база данных.

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

Реляционные отношения: перспективы

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

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

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

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