3 Сравнение СУБД. Сравнение современных субд
Скачать 95.97 Kb.
|
Сравнение современных СУБД Информацией, хранящейся в базе данных (БД), может быть всё что угодно: каталог продукции, информация о клиентах, контент веб-сайта и др. Для обеспечения доступа к информации, хранящейся в базе данных, а также для управления ею, применяют систему управления базами данных (СУБД). СУБД — это комплекс языковых и программных средств, предназначенный для создания, ведения и совместного использования БД многими пользователями. Обычно СУБД различают по используемой модели данных. Так, СУБД, базирующиеся на использовании реляционной модели данных, называют реляционными СУБД. Системы управления базами данных помогают отсортировать информацию, а также связать базы данных между собой, при этом предоставив отчет об изменениях и зарегистрированных событиях. На что стоит обращать внимание Несмотря на то, что все системы управления базами данных выполняют одну и ту же основную задачу (т.е дают возможность пользователям создавать, редактировать и получать доступ к информации, хранящейся в базах данных), сам процесс выполнения этой задачи варьируется в широких пределах. Кроме того, функции и возможности каждой СУБД могут существенно отличаться. Различные СУБД документированы по-разному: более или менее тщательно. По-разному предоставляется и техническая поддержка. При сравнении различных популярных баз данных, следует учитывать, удобна ли для пользователя и масштабируема ли данная конкретная СУБД, а также убедиться, что она будет хорошо интегрироваться с другими продуктами, которые уже используются. Кроме того, во время выбора следует принять во внимание стоимость системы и поддержки, предоставляемой разработчиком. Если речь идёт о выборе СУБД для предприятия, то следует принять во внимание возможность СУБД «расти» вместе с развитием организации. Малому бизнесу могут потребоваться только базовые функции и возможности, а также небольшое количество информации, размещаемой в БД. Но требования могут существенно расти с течением времени, а переход на другую СУБД может стать проблемой. Существует несколько популярных СУБД, как платных, так и бесплатных, которые можно рекомендоватьдля применения в организации. Выполняя поиск, рассмотрите как минимум перечень из десяти СУБД, приведённых ниже, включая отечественные продукты. 1. Oracle 12c Надежность, безопасность, высокая производительность, удобство в работе. Это главное, что характеризует продукты Oracle на протяжении уже многих лет. Наиболее важным - это является для СУБД, ставшей на сегодняшний день практически обязательной частью любой серьезной информационной системы. Но не только эти характеристики позволяют продуктам Oracle удерживать лидерство на рынке СУБД. Стремительно развивающиеся информационные технологии требуют от современных СУБД расширения классической функциональности лишь по хранению и обработке данных. Двигаясь в ногу со временем, корпорация Oracle по сути ломает сложившиеся взгляды на СУБД, наделяя ее все новыми и новыми возможностями. Современная СУБД Oracle это мощный программный комплекс, позволяющий создавать приложения любой степени сложности. Ядром этого комплекса является база данных, хранящая информацию, количество которой за счет предоставляемых средств масштабирования практически безгранично. C высокой эффективностью работать с этой информацией одновременно может практически любое количество пользователей (при наличии достаточных аппаратных ресурсов), не проявляя тенденции к снижению производительности системы при резком увеличении их числа. Неудивительно, что корпорация Oracle предлагает одноимённый продукт, с которого обычно начинается рассмотрение вариантов популярных СУБД. Первая версия Oracle была создана в конце 70-х годов, имея на данный момент блестящую репутацию. Кроме того, существует несколько версий этого продукта для удовлетворения потребностей конкретной организации. Актуальная версия Oracle на момент написания настоящей статьи - 12с - предназначена для облачных сред и может быть размещена на одном или нескольких серверах, это позволяет управлять базами данных, которые содержат миллиарды записей. Некоторые из функций новейшей версии Oracle включают в себя grid framework и использования как физических, так и логических структур. Это означает, что физическое управление данными не влияет на доступ к логическим структурам. Кроме того, безопасность в этой версии доведена до высочайшего уровня, потому что каждая транзакция изолирована от других. Достоинства Самые свежие инновации и впечатляющий функционал уже внедрены в этом продукте, поскольку компания Oracle стремится держать планку даже на фоне других разработчиков СУБД. СУБД от Оракул является крайне надёжной, фактически это эталон надёжности среди подобных систем. Недостатки Стоимость Oracle может оказаться непомерно высокой, особенно для небольших организаций. Система может потребовать значительных ресурсов уже сразу после установки, поэтому возможно потребуется модернизировать оборудование для внедрения Oracle. Идеально подходит для крупных организаций, которые работают с огромными базами данных и разнообразными функциями. 2. MySQL На сегодняшний день является одной из самых распространённых СУБД. Как правило, используется при разработке веб сайтов и других веб приложений. Система является бесплатной и открытой, что является одним из значимых факторов ее популярности. Активное сообщество пользователей постоянно улучшает ее, разрабатывая собственные плагины, добавляя новый функционал. MySQL является самой популярной СУБД. Она обладает широким функционалом, способна хранить гигантские объемы информации и сравнительно быстро записывает и извлекает данные из таблиц. Чаще всего ее применяют в веб-проектах. Подавляющее большинство сайтов, присутствующих в Интернете, используют именно MySQL для хранения данных. C MySQL сравнительно легко работать, и взаимодействию с этой СУБД можно научиться за короткое время. В виду ее популярности, в Сети присутствует множество материалов на различных языках и книг, которые обучают работе с MySQL. Кроме того, в виду ее широкого распространения, для этой СУБД написано множество плагинов, расширяющих функционал. Есть у этой системы и недостатки. Один из них – трудность использования в очень масштабных проектах, так как у нее есть проблемы с мультипоточностью. Как правило большинство современных СУБД для своей работы использует язык SQL-structured query language. Но MySQL использует его не в чистом виде, т.е. некоторый функционал языка отсутствует MySQL - одна из самых популярных баз данных для веб-приложений. Фактически, является стандартом de facto для веб-серверов, которые работают под управлением операционной системы Linx. MySQL - это бесплатный пакет программ, однако новые версии выходят постоянно, расширяя функционал и улучшая безопасность. Существуют специальные платные версии, предназначенные для коммерческого использования. В бесплатной версии наибольший упор делается на скорость и надежность, а не на полноту функционала, который может стать и достоинством и недостатком - в зависимости от области внедрения. Разработку и поддержку MySQL осуществляет корпорация Oracle, получившая права на торговую марку вместе с поглощённой Sun Microsystems, которая ранее приобрела шведскую компанию MySQL AB. Продукт распространяется как под GNU General Public License, так и под собственной коммерческой лицензией. Помимо этого, разработчики создают функциональность по заказу лицензионных пользователей. Именно благодаря такому заказу почти в самых ранних версиях появился механизм репликации. Эта СУБД позволяет выбирать различные движки для системы хранения, которые позволяют менять функционал инструмента и выполнять обработку данных, хранящихся в различных типах таблиц. Гибкость СУБД MySQL обеспечивается поддержкой большого количества типов таблиц: пользователи могут выбрать как таблицы типа MyISAM, поддерживающие полнотекстовый поиск, так и таблицы InnoDB, поддерживающие транзакции на уровне отдельных записей. Более того, СУБД MySQL поставляется со специальным типом таблиц EXAMPLE, демонстрирующим принципы создания новых типов таблиц. Благодаря открытой архитектуре и GPL-лицензированию, в СУБД MySQL постоянно появляются новые типы таблиц. Она также имеет простой в использовании интерфейс, и пакетные команды, которые позволяют удобно обрабатывать огромные объемы данных. Система невероятно надежна и не стремится подчинить себе все доступные аппаратные ресурсы. Достоинства .К преимуществам данной системы можно отнести: Распространяется бесплатно Прекрасно документирована Предлагает много функций, даже в бесплатной версии Пакет MySQL включен в стандартные репозитории наиболее распространённых дистрибутивов операционной системы Linux, что позволяет устанавливать её элементарно Поддерживает набор пользовательских интерфейсов Может работать с другими базами данных, включая DB2 и Oracle. СУБД легко установить. Как правило, она идет в комплекте с веб сервером, например как LAMP(Linux,Apache,MySQL,PHP). Программный продукт может управлять через консоль или графический интерфейс. СУБД практически полностью поддерживает язык SQL. MySQL может достаточно просто работать с большими объемами данных и при необходимости легко масштабироваться. Некоторые упрощения некоторых стандартов языка SQL позволяет ускорить работу СУБД Недостатки. К недостаткам использования MySQL можно отнести: Не полное соответствие стандартам языка SQL. Если до момента использования данной СУБД специалист работал с системой использующей стандартный SQL, то при переходе на MySQL могут возникнуть некоторые трудности связанные с изучением специфики используемого языка. Проблемы с надежностью. MySQL из-за некоторых методов обработки информации в некоторых ситуациях уступает другим СУБД. Например: при кластерной обработке MySQL может организовать DDos атаку на собственную базу. Придётся потратить много времени и усилий, чтобы заставить MySQL выполнять несложные задачи, хотя другие системы делают это автоматически, например: создавать инкрементные резервные копии. Отсутствует встроенная поддержка XML или OLAP. Для бесплатной версии доступна только платная поддержка. Идеально подходит для: организаций, которым требуется надежный инструмент управления базами данных, но бесплатный. Когда следует использовать MySQL распределённые операции — если функционала SQLite не хватает, то стоит рассмотреть MySQL. Так как эта СУБД сочетает в себе продвинутый функционал и свободный доступ к исходному коду. высокий уровень безопасности — система безопасности MySQL включает в себе простые и в то же время достойные способы защиты доступа к данным Веб сайты и веб приложения — большинство сайтов и онлайн приложений спокойно работают с MySQL несмотря на некоторые ограничения. Будучи легкой в настройке и масштабируемой системой — MySQL проверена временем. Индивидуальные решения — если вы работаете с каким либо специфическим проектом, MySQL легко сможет вам помочь благодаря широким возможностям в настройке и функционалом. Когда лучше отказаться от MySQL Соответствие стандартам -Так как MySQL не ставит для себя целью — полностью соответствовать стандартам SQL, то эта СУБД не полностью поддерживает SQL. Если в будущем вы планируете перейти на подобную систему, то MySQL — не лучший выбор. Многопоточность — хотя некоторые движки БД довольно легко выполняют параллельное чтение, параллельные операции чтения-записи могут создать проблемы Недостаток функционала — некоторые движки MySQL, например, не поддерживают полнотекстовый поиск. 3. Microsoft SQL сервер Microsoft SQL server СУБД разработанная компанией Microsoft. Так же как MySQL и Postgre предназначена для управления реляционными базами данных. Microsoft SQL server использует язык Transact-SQL. Данный язык соответствует стандартам языка SQL. Данная СУБД может использоваться как с маленькими базами предприятия, так и с базами огромных компаний. Ещё одной из популярных СУБД является программный продукт Microsoft SQL-сервер. Это система управления базами данных, движок которой работает на облачных серверах, а также локальных серверах, причем можно комбинировать типы применяемых серверов одновременно. Вскоре после выпуска Microsoft SQL сервер 2016, Microsoft адаптировала продукт для операционной системы Linux, а на Windows-платформе он работал изначально. Одной из уникальных особенностей версии 2016 года является temporal data support (временная поддержка данных), которая позволяет отслеживать изменения данных с течением времени. Последняя версия Microsoft SQL-сервер поддерживает dynamic data masking (динамическую маскировку данных), которая гарантирует, что только авторизованные пользователи будут видеть конфиденциальные данные. Достоинства Продукт очень прост в использовании Текущая версия работает быстро и стабильно Движок предоставляет возможность регулировать и отслеживать уровни производительности, которые помогают снизить использование ресурсов. Вы сможете получить доступ к визуализации на мобильных устройствах. Он очень хорошо взаимодействует с другими продуктами Microsoft. Шифрование всей хранимой информации в БД. Шифрование и расшифровка информации происходит непосредственно перед чтением или записью информации. Интуитивно понятный интерфейс. Высокая производительность СУБД. Легкая масштабируемость системы. Недостатки Цена для юридических лиц оказывается неприемлемой для большей части организаций. Даже при тщательной настройке производительности корпорация SQL Server способен занять все доступные ресурсы. Сообщается о проблемах с использованием службы интеграции для импорта файлов. Ограниченный выбор платформ. СУБД будет работать только под управлением операционных систем семейства windows. Ограниченное число средств для разработки клиентских приложений. По умолчанию количество платформ для разработки клиентской части ограниченно. Другие СУБД поддерживают большее количество платформ. Microsoft SQL server является не бесплатным ПО. SQL server имеет несколько редакций которые отличаются предоставляемым функционалом и стоимостью. Идеально подходит для: крупных организаций, которые уже используют ряд продуктов Microsoft. 4. PostgreSQL Из числа всех бесплатных СУБД является самым профессиональным решением. Postgre SQL бесплатная и открытая система. Но в отличии от MySQL старается полностью соответствовать стандартам языка SQL. Качественно данная СУБД отличается поддержкой ACID. Данный набор требований позволяет реализовать поддержку надежных транзакций. Производительность СУБДС и соответствие этому набору правил позволяет достигнуть параллельности работы системы не за счет блокировки производимых операций, а за счет реализации управления многовариантным параллелизмом СУБД PostgreSQL позиционируется в качестве профессионального решения. В отличие от многих других аналогичных современных систем, эта максимально полно поддерживает синтаксис SQL. Она имеет множество функций, которые необходимы приложениям, предъявляющим очень высокие требования к надежности и безопасности. Эта СУБД сравнительно медленная, но надежная. Из-за этого ее используют, например, банки, которым нужно максимально сократить риски потери данных или их несанкционированного изменения. PostgreSQL является одним из нескольких бесплатных популярных вариантов СУБД, часто используется для ведения баз данных веб-сайтов. Это была одна из первых разработанных систем управления базами данных, поэтому в настоящее время она хорошо развита, и позволяет пользователям управлять как структурированными, так и неструктурированными данными. Может быть использован на большинстве основных платформ, включая Linux. Прекрасно справляется с задачами импорта информации из других типов баз данных с помощью собственного инструментария. Движок БД может быть размещен в ряде сред, в том числе виртуальных, физических и облачных. Самая свежая версия, PostgreSQL 9.5, предлагает обработку больших объемов данных и увеличение числа одновременно работающих пользователей. Безопасность была улучшена благодаря поддержке DBMS_SESSION. Достоинства . К достоинствам данной системы можно отнести: Является масштабируемым и способен обрабатывать терабайты данных. Поддерживает формат json. Существует множество предопределенных функций. Доступен ряд интерфейсов. Postgre бесплатная система с открытым исходным кодом, которая соответствует стандартам SQL. Достаточно большое количество дополнений которые позволяют расширять функционал системы.[17] В отличии от других СУБД обеспечивает более высокий уровень целостности данных и транзакций. Недостатки Документация туманна, поэтому, возможно, ответы на некоторые вопросы придется искать в интернете. Конфигурация может смутить неподготовленного пользователя. Скорость работы может падать во время проведения пакетных операций или выполнения запросов чтения. При выполнении достаточно простых операций СУБД использует значительно больше ресурсов, чем ее конкуренты. Не смотря на достаточно большую базу пользователей, достаточно трудно найти хостинг который будет поддерживать Postgre. Идеально подходит для организаций с ограниченным бюджетом, но квалифицированными специалистами, когда требуется возможность выбрать свой интерфейс и использовать json. Когда использовать PostgreSQL Целостность данных — когда надежность и целостность данных — ваши требования, PostgreSQL будет, пожалуй, лучшим выбором Сложные пользовательские процедуры — если вам необходимо использовать пользовательские процедуры, то PostgreSQL имеет встроенную поддержку для них Интеграция — если в будущем вы планируете переход на платные СУБД, например Oracle, то сделать это с PostgreSQL будет довольно просто по сравнению с другими бесплатными СУБД Сложная структура данных — по сравнению с другими открытими СУБД PostgreSQL предоставляет больше возможностей для создания сложных структур данных без необходимости жертовать какими либо аспектами. Когда не следует использовать PostgreSQL Скорость — если быстрое чтение для вас единственный фактор, то стоит присмотреться к другим СУБД Простая настройка — если вам не нужна целостность данных, соответствие ACID или сложные структуры данных, то настройка PostgreSQL может изрядно потрепать вам нервы Репликация — если вы не готовы потратить время и энергию на то, что мог бы с легкостью сделать MySQL, то наверное проще было бы на нем и остаться. 5. MongoDB Еще одна бесплатная база данных, которая имеет коммерческую версию - MongoDB, она предназначена для приложений, которые используют как структурированные, так и неструктурированные данные. Ядро является очень гибким и работает при подключении базы данных к приложениям через драйверы MongoDB. Существует широкий выбор доступных драйверов, поэтому легко найти драйвер, который будет работать с требуемым языком программирования. Поскольку изначально система MongoDB не была разработана для обработки моделей реляционных данных (хотя может это выполнять), могут возникнуть проблемы производительности, если вы попытаетесь использовать её таким образом. Однако, движок предназначен для обработки различных данных, которые нельзя отнести к реляционным, и может хорошо справляться там, где другие движки работают медленно или бессильны. MongoDB 3.2 - это последняя версия, и она имеет новую подключаемую систему движков хранения. Документы могут быть проверены в процессе обновления или выполнения вставок, а функции текстового поиска были улучшены. Новая способность частичного индексирования может привести к более высокой производительности, уменьшая размер индексов. Достоинства Скорость и простота в использовании Движок поддерживает json и другие традиционные документы NoSQL. Данные любой структуры могут быть сохранены/прочитаны быстро и легко. Недостатки SQL не используется в качестве языка запросов. Инструменты для перевода SQL-запросов в MongoDB доступны, но их следует рассматривать именно как дополнение. Программа установки может занять много времени. Подходит для организаций, работающих с разнородными данными, которые тяжело поддаются классификации. Для внедрения потребуются высококлассные специалисты. 6. MariaDB Эта СУБД является бесплатной, но как и многие другие бесплатные приложения, предлагает платные версии. Есть множество доступных плагинов расширений, пожалуй, это самая быстро-развивающаяся СУБД на данный момент. MariaDB фактически - это ответвление от СУБД MySQL, разрабатываемое сообществом под лицензией GNU GPL. Разработку и поддержку MariaDB осуществляет компания MariaDB Corporation Ab и фонд MariaDB Foundation. Толчком к созданию стала необходимость обеспечения свободного статуса СУБД, в противовес политике лицензирования MySQL компанией Oracle. Система лицензирования MariaDB обязывает участников, желающих добавить свой код в основную ветку СУБД, обмениваться своими авторскими правами с MariaDB Foundation для охраны лицензии и возможности создавать критические исправления для MySQL. Ведущий разработчик — Майкл Видениус, автор оригинальной версии MySQL и основатель компании Monty Program AB. Ядро базы данных позволяет делать выбор из нескольких систем хранения, и это делает использование ресурсов более оптимизированным, что повышает производительность запросов и обработки. В состав MariaDB включена подсистемы хранения данных XtraDB для возможности замены InnoDB, как основной подсистемы хранения. Также включены подсистемы Aria, PBXT и FederateX. Она полностью совместима с MySQL, и прекрасно подходит в качестве замены, т.к. полностью соответствует как набор команд, так и API. Многие разработчики MySQL были вовлечены в процесс разработки, а сейчас принимают участие в развитии. Достоинства Система работает быстро Индикаторы дадут вам знать, как обрабатывается запрос. Расширяемая архитектура и плагины позволяют настраивать инструмент в соответствии с вашими потребностями. Шифрование доступно в сети, сервере и уровне приложения. Недостатки На данный момент стабильность ниже, чем у MySQL, поэтому даже на новых проектах можно рекомендовать устанавливать mysql. Движок довольно новый, поэтому пока нет никаких гарантий дальнейших обновлений. Как и во многих других бесплатных базах данных, вам придется платить за поддержку. Идеальна как альтернатива MySQL, если MySQL не устраивает по каким-то причинам. 7. DB2 Созданная компанией IBM, DB2 представляет собой СУБД, которая имеет возможности NoSQL, и может читать JSON и XML-файлы. Ввиду того, что система разрабатывалась для серверов компании IBM модельного ряда iSeries, логично, что система работает на Windows, Linux и Unix. Диалект языка SQL, используемый в DB2 за редкими исключениями строго декларативен, система снабжена многофазовым оптимизатором, строящим по этим декларативным конструкциям план выполнения запроса. В диалекте SQL DB2 отсутствуют подсказки оптимизатору, мало развит (а долгое время вообще отсутствовал) язык хранимых процедур, и, таким образом, всё направлено на поддержание декларативного стиля написания запросов. Язык SQL DB2 при этом является вычислительно полным, то есть потенциально позволяет в декларативной форме определять любые вычислимые соответствия между исходными данными и результатом. Это достигается в том числе за счёт использования табличных выражений, рекурсии и других развитых механизмов манипулирования данными. Оптимизатор DB2 широко использует статистику распределения данных в таблицах (если процесс её сбора был выполнен администратором базы данных), поэтому один и тот же запрос на языке SQL может быть оттранслирован в совершенно различные планы выполнения в зависимости от статистических характеристик данных, которые он обрабатывает. В рамках концепции повышения уровня интеграции средств безопасности в компьютерной системе, DB2 не имеет собственных средств аутентификации пользователей, интегрируясь со средствами операционной системы или специализированными серверами безопасности. В рамках DB2 осуществляется только авторизация пользователей, аутентифицированных системой. DB2 является единственной реляционной СУБД общего назначения, имеющей реализации на аппаратно-программном уровне (система IBM i; также в оборудовании мэйнфреймов IBM System z реализуются средства поддержки DB2). Современные версии DB2 обеспечивают расширенную поддержку использования данных в формате XML, в том числе операции с отдельными элементами документов XML. Текущая версия DB2 - это LUW 11.1, которая предлагает разнообразные улучшения и доработки. Одно из них, ускорение Blu , которое предназначено, для того чтобы сделать эту базу данных быстрее. Пропуск данных предназначен для повышения быстродействия системы с большим количеством данных, чем может она может вместить в себя. Последняя версия DB2 также обеспечивает усовершенствованные функции аварийного восстановления, совместимости и аналитики. Достоинства Blu Acceleration позволяет грамотно задействовать ресурсы для объёмных баз данных. Может быть размещена в облачном хранилище, на физическом сервере, или же и там, и там одновременно. Несколько задач могут выполняться одновременно с помощью планировщика задач. Коды ошибок и коды завершения позволяют легко отследить, какие задания выполняются или выполнились с помощью планировщика задач. Недостатки Цена за пределами бюджета многих физических лиц и небольших организаций. Сторонние приложения или дополнительное программное обеспечение требуется, для того чтобы заставить функционировать кластеры или несколько вторичных узлов. Базовая поддержка доступна только в течение трех лет; после этого, вы должны заплатить за это. Подходит для: крупных организаций, которые планируют выжимать максимум из имеющихся ресурсов и обрабатывают большие БД. 8. SAP HANA Разработанная компанией SAP SE, SAP HANA - это СУБД, с движком ориентированным на работу со столбцами, работающая с родными данными SAP и чужими данными. Ядро ориентировано на сохранение и извлечение данных из приложений и других источников на нескольких уровнях хранения. Система может быть размещена на физических серверах или в облаке. Достоинства Она поддерживает SQL, OLTP и OLAP. Ядро снижает требования к ресурсам за счет использования сжатия. Данные хранятся в памяти, сокращая время доступа, в некоторых случаях, значительно. Отчеты формируются в реальном времени. Может взаимодействовать с рядом других приложений. Недостатки Поставляется только для работы на ограниченном наборе оборудования: производитель производит сертификацию определённых моделей серверных узлов с конкретной конфигурацией Высокая стоимость лицензий даже если речь идёт о плате за программное обеспечение предприятия. Это всё ещё относительный новичок, требуются постоянные обновления. Идеально подходит для: организаций, которые захватывают данные из приложений и при этом неограниченны в бюджете. 9. ЛИНТЕР «Линтер» — российская СУБД, реализующая стандарт SQL:2003 (за исключением нескалярных типов данных и объектно-ориентированных возможностей) и поддерживающая большинство операционных систем, в том числе семейство Windows, различные версии UNIX, ОС реального времени (включая QNX). К особенностям можно отнести защиту данных: 2 класс защиты данных от несанкционированного доступа и 2 уровень контроля отсутствия недекларированных возможностей. Мандатный контроль доступа к данным на уровне таблиц, столбцов записей и отдельных полей записей. Управление доступом к рабочим станциям и устройствам хранения информации. Контроль доступа к СУБД по расписанию. Управление протоколированием операций над БД (аудит). Аутентификация пользователей через LDAP, Kerberos, средствами операционной системы. Хеширование паролей по алгоритму FIPS 180-2 SHA-224. 18 марта 2016 года по решению Экспертного совета по российскому программному обеспечению при Минкомсвязи России СУБД ЛИНТЕР включена в единый реестр российских программ для электронных вычислительных машин и баз данных (реестр российского ПО). Репликация асинхронная (в том числе и двунаправленная), возможна репликация с другими БД через ODBC. Имеет утилиты конвертации, работающие через ODBC и ADO.NET. Конвертер из DBF-формата. Конвертер модели данных (из ERwin в ЛИНТЕР). Достоинства Российская разработка Она поддерживает SQL:2003. Облегчается конвертация при переходе с других СБУД Рекомендована "Единым реестром российских программ". Недостатки Падение эффективности в случае высокой динамики изменений. Идеально подходит для: отечественных организаций, которые работают с конфиденциальными и персональными данными. 9. РЕД База Данных «РЕД База Данных» — российская СУБД, работает на всех основных платформах и ОС (Windows, Linux, BSD Unix, IBM AIX, HP-UX, Sun Solaris и т.д.). Система модульная. Имеет открытый исходный код. Возможность «горячего» резервного копирования и инкрементного резервного копирования. Сертифицирована ФСТЭК России. Соответствует отечественным требованиям по защите информации. Может использоваться при создании информационных систем до класса защищенности 1Г включительно и при создании информационных систем персональных данных до 1 класса включительно. Полное соответствие принципам атомарности, непротиворечивости, изоляции, долговечности (ACID). Имеются модули сопряжения практически для всех используемых сред разработки (драйверы ODBC, JDBC, C/C++, C#, Java, Delphi, PHP, Python, Perl, VB, и т.д.), результатов тестов этих модулей и гарантия стабильной работы. Возможность работы во «встроенном» в ПО (embedded) локальном режиме в виде библиотеки DLL без отдельной установки и настройки СУБД, в т.ч. поддержка встраивания в виртуальную машину Java. Достоинства Российская разработка Соответствует отечественным требованиям по защите информации Высокое быстродействие, сравнимое с лидерами рынка. Возможность хранения базы данных в одном отдельном файле. Недостатки Низкая распространённость. Идеально подходит для: отечественных организаций (включая оборонные), которые работают с конфиденциальными и персональными данными. SQLite SQLite – СУБД, которую многие разработчики используют в своих приложениях. В отличие от многих других систем, в этой данные хранятся в отдельных файлах, и обращение к ним происходит напрямую, а не посредством сокетов и портов. Из-за этого на чтение она работает очень быстро. У SQLite отсутствует система пользователей, поэтому ее невозможно использовать в многопользовательских приложениях. Кроме того, она сравнительно медленно работает на запись. В виду этого ее практически невозможно нормально использовать в веб-проектах. Однако, например, для хранения данных однопользовательских игр она подходит очень хорошо. Эта СУБД сейчас активно применяется, например, в играх для Android. SQLite — очень мощная встраиваемая система управления SQLiteЛегко встраиваемая в приложения база данных. Так как это система базируется на файлах, то она предоставляет довольно широкий набор инструментов для работы с ней, по сравнению с сетевыми СУБД. При работе с этой СУБД обращения происходят напрямую к файлам (в эти файлах хранятся данные), вместо портов и сокетов в сетевых СУБД. Именно поэтому SQLite очень быстая, а также мощная благодаря технологиям обслуживающих библиотек. Типы данных SQLite NULL — значение NULL INTEGER — знаковое целочисленное значение, использует 1, 2, 3, 4, 6, или 8 байт в зависимости от порядка числа REAL — число с плавающей точкой, занимает 8 байт для хранения числа в формате IEEE TEXT — текстовая строка, при хранении используются кодировки UTF-8, UTF-16BE или UTF-16LE BLOB — тип данных BLOB, массив двоичных данных (предназначенный, в первую очередь, для хранения изображений, аудио и видео). Преимущества SQLiteФайловая структура — вся база данных состоит из одного файла, поэтому её очень легко переносить на разные машины Используемые стандарты — хотя может показаться, что эта СУБД примитивная, но она использует SQL. Некоторые особенности опущенны (RIGHT OUTER JOIN или FOR EACH STATEMENT), но основные все-таки поддерживаются Отличная при разработке и тестировании — в процессе разработки приложений часто появляется необходимость масштабирования. SQLite предлагает всё что необходимо для этих целей, так как состоит всего из одного файла и библиотеки написанной на языке C. Недостатки SQLiteотсутствие системы пользователей — более крупные СУБД включают в свой состав системы управления правами доступа пользователей. Обычно применения этой функции не так критично, так как эта СУБД используется в небольших приложениях. отсутствие возможности увеличения производительности — опять, исходя из проектирования, довольно сложно выжать что-то более производительное из этой СУБД. Когда использовать SQLiteвстроенные приложения — если вам важна возможность легкого переноса приложения и не важна масштабируемость. Например однопользовательские приложения, мобильные приложения или игры прямой доступ к диску — при необходимости напрямую обращаться к диску вы можете выиграть при переходе на эту СУБД в функционале и простоте использования SQL языка Тестирование — использование дополнительных процессов при тестировании функционала, очень замедляет приложение. Когда отказаться от SQLiteМногопользовательские приложения — если вам необходимо обеспечить доступ к данным для нескольких пользователей, да и к тому же различать их по правам доступа, то, наверное, полноценная СУБД (например: MySQL) будет более логичным выбором Запись больших объемов данных — одно из ограничений SQLite это операции записи. Разрешен только один процесс записи в промежуток времени, что сильно ограничивает производительность. СРАВНЕНИЕ Если сравнивать популярность современных СУБД с точки зрения их распространенности, то можно увидеть следующую картину по состоянию на 2013 год (рис. 1). Рис. 1. Распространенность современных СУБД по состоянию на 2013 г. C течением времени картина распространенности СУБД изменилась и в 2017 году приняла следующий вид (рис. 2). Рис. 2. Распространенность современных СУБД по состоянию на 2017 г. Необходимо отметить, что в опросе принимали участие специалисты, непосредственно занимающиеся разработкой, внедрением и эксплуатацией той или иной СУБД. Приведем сводную таблицу, в которой постараемся упорядочить все рассмотренные особенности каждого программного продукта (таблица 1). Таблица 1. Сравнительный анализ параметров СУБД
Примечания: *) нестабильность MariaDB зафиксирована при эксплуатации реального веб-сервера (при обслуживании drach.pro в том числе); **) только дистрибутивы SUSE и Red Hat Enterprise Linux; ***) в течение первых 36 месяцев; ****) в течение первых 12 месяцев. Из всех представленных в таблице вариантов только Ред База Данных и ЛИНТЕР включены в «Единый реестр российских программ для электронных вычислительных машин и баз данных» (реестр российского программного обеспечения). 2 июня 2015 года Министерство связи и массовых коммуникаций Российской Федерации издало «Протокол экспертной оценки проектов по импортозамещению инфраструктурного программного обеспечения», в котором проект «СУБД PostgreSQL и связанные с ним решения» занимает 1-е место по направлению «Системы управления базами данных» протокола экспертной оценки. Исходя из таблицы можно сделать вывод, что при планирования веб-сервера следует в первую очередь обратить внимание на MySQL, которые остается востребованным в течение уже более десяти лет. Альтернативами будут Maria DB и PostgreSQL. Примечательно, что все перечисленные решения бесплатны. Если же речь заходит о внедрении БД на предприятие и осуществлении документооборота, то начать выбор следовало бы с Oracle Database, функционал и производительность которого действительно впечатляют. Уникальной в данном сегменте является MongoDB, её также можно уверенно рекомендовать для рассмотрения. При ограниченном финансировании следует рассмотреть вариант использования PostgreSQL для документооборота. Заключение Существует несколько популярных СУБД, выбирая из которых, можно гарантированно найти ту, которая будет соответствовать требованиям конкретного промышленного предприятия. Благодаря тому, что есть множество отличных бесплатных вариантов, для небольших организаций можно найти инструмент управления БД, который соответствует их критериям. С другой стороны, если предприятие требует более насыщенного функционалом решения, существует множество платных предложений СУБД. Список литературы Драч В.Е., Родионов А.В., Чухраева А.И. Выбор системы управления базами данных для информационной системы промышленного предприятия // Электромагнитные волны и электронные системы. 2018. Т. 23. № 3. С. 71-80. Бурмистров А.В., Белов Ю.С. Недостатки реляционных баз данных // Электронный журнал: наука, техника и образование. 2015. № 3 (3). С. 25 – 34. Петухов И.С. Алгоритм определения необходимых индексов для оптимизации запросов с соединением двух таблиц в СУБД MYSQL (INNODB) // Научный вестник ГосНИИ ГА. 2017. № 16. С. 98-107. Панченко И. PostgreSQL: вчера, сегодня, завтра // Открытые системы. СУБД. 2015. № 3. С. 34-37. ЛИНТЕР как СУБД для интеллектуальных информационных систем. Часть 1 // Нейрокомпьютеры: разработка, применение. 2009. № 2. С. 4-11. Маркин С.П., Борисов В.Л., Распопов А.В., Максимов В.Е. СУБД ЛИНТЕР для интеллектуальных информационных систем. Часть 2, 3 // Нейрокомпьютеры: разработка, применение. 2009. № 2. С. 12-29. Симаков Р. СУБД «Ред База Данных» для серверных ОС // Системный администратор. 2015. № 7-8 (152-153). С. 108-109. http://drach.pro/blog/hi-tech/item/145- https://scienceforum.ru/2019/article/2018012172 |