Корпоративные субд: популярные базы данных

Корпоративные СУБД. Требования к корпоративным СУБД.

Взаимосвязи сущностей: зависимые и независимые сущности. Родительские и дочерние сущности.

Взаимосвязи сущности: как правило играет главная и подчиненная таблица.

Родительские и дочерние сущности:

1-Для связей 1:М, сущность, которая имеет единичное участие в связи определяется как родительская, множественное как дочерняя;

2-Для связей 1:1 сущность которая имеет частичное участие в связи определяется как родительская, сущность которая тотально участвует в связи как дочерняя;

3-Для неопределенных связей (М:М)родительские и дочерние сущности не определяются.

Дочерняя сущность, однозначная идентификация которой зависит от атрибута внешнего ключа, называется ЗАВИСИМОЙ СУЩНОСТЬЮ. Зависимая сущность представляет данные, зависящие от других сущностей в системе.
Сущность является независимой, если каждый экземпляр сущности может быть однозначно идентифицирован без определения его отношений с другими сущностями. НЕЗАВИСИМАЯ СУЩНОСТЬ — сущность, независящая от других объектов в модели при своей идентификации.

 

Д

Даталогическое проектирование.

Hoteles en venta en Antananarivo

Проектирование логической структуры реляционной базы данных.

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

На этапе ДЛП выполняется

1. Выбор СУБД

2. Определяется модель данных, как правило реляционная (таблицы, атрибуты, связи)

3. Определяется состав БД и перечень показателей.

Особое внимание уделяют

— целостности и отсутствию избыточности(непротиворечивость одних данных другим) данных (многократное повторение одних и тех же данных).

разграничение доступа для разных групп пользователей.

— быстрый доступ к БД

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

 

DML. Операции выборки, обновление и удаление данных.

Data Manipulation Language (DML) (язык управления [манипулирования] данными) — это семейство компьютерных языков, используемых в компьютерных программах или пользователями баз данных для получения, вставки, удаления или изменения данных в базах данных.

Select — оператор языка SQL, возвращающий набор данных (выборку) из базы. Он используется для выборки нуля или более строк из одной или нескольких таблиц, хранимых процедур, представлений БД

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

Update — оператор языка SQL, позволяющий обновить значения в заданных столбцах таблицы.

Delete — в языках, подобных SQL, DML-операция удаления записей из таблицы. Критерий отбора записей для удаления определяется выражением where. В случае, если критерий отбора не определён, выполняется удаление всех записей.

 

З

Защита информации в БД. Методы и средства зашиты.

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

к вопросу обеспечения безопасности данных: избирательный подход и обяза-

тельный подход.

 В случае избирательного управления некоторый пользователь обладает различными правами (привилегиями или полномочиями) при работе с данными объектами.

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

Пользователи могут быть объединены в специальные группы пользователей,

Один пользователь может входить в несколько групп.

— Пользователю может быть назначена одна или несколько ролей.

Методы и средства защиты:

Методы:
1) блокировка ответа при неправильном числе запросов;
2) искажение ответа путем округления и другой преднамеренной коррекции данных;
3) разделение баз данных;
4) случайный выбор записи для обработки;
5) контекстно-ориентированная защита;
6) контроль поступающих запросов.

Защита информации: включает в себя несколько аспектов:

а) гибкую, многоуровневую и надежную регламентацию полномочий пользователей;

б) наличие средств для поддержания целостности и непротиворечивости данных;

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

 

К

Категории пользователей БД. Администратор БД.

На каждом этапе своего существования с БД связаны разные категории пользователей.

1. Этап проектирования БД

1-Разработчик

2-Системные аналитики

3-Проектировщики структур данных

4-Проектировщики процессов обработки данных, прикладные программисты

5-Будущий администратор БД

2. Этапы проектирования, реализации, эксплуатации БД

1-Администратор БД

2-Системные и прикладные программисты

3-Операторы и специалисты по техническому обслуживанию

3. Этап эксплуатации БД

1-Конечные пользователи

Администратор БД — лицо или группа лиц, отвечающих за:

1-первоначальную загрузку и ведение БД

2-защиту данных

3-архивирование, копирование и восстановление БД после сбоев

4-поддержку системных средств (СУБД, ОС и др.)

5-реорганизацию БД и подключение новых приложений.

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

 

Корпоративные СУБД. Требования к корпоративным СУБД.

К основным понятиям сетевой модели базы данных относятся: уровень, элемент (узел), связь.

Узел — это совокупность атрибутов данных, описывающих некоторый объект.

В сетевой структуре каждый элемент может быть связан с любым другим элементом.

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

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

Если необходимо изменить структуру данных, то нужно изменить и приложение.

К современным реляционным СУБД предъявляются следующие требования:

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

• доступность, то есть постоянная возможность получения ответа на запрос;

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

• управляемость, то есть простота администрирования и конфигурирования;

• наличие средств защиты данных от потери и несанкционированного доступа;

• поддержка стандартных механизмов доступа к данным (сегодня это главным образом ODBC, JDBC, OLE DB).

 

Компоненты банков данных.

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

Банк данных включает следующие структурные компоненты:

1.Информационный фонд, т.е.

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

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

3.Специализированная СУБД для управления функциями банка данных

4.Администратор банка данных (осуществляет координацию всей работы банка данных). В его функции входит создание базы данных, согласование требований пользователей, управление загрузкой баз, распределение паролей, общее управление работой банка данных, развитие системы управления банка данных.

5.Технические средства банка данных.

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

Основные требования:

1-адекватность отображения предметной области (полнота, целостность и

непротиворечивость данных, актуальность информации);

2-возможность взаимодействия пользователей разных категорий;

3-высокая эффективность доступа к данным;

4-дружелюбность интерфейсов, малое время на обучение;

5-обеспечение секретности и разграничение доступа к данным;

6-надежность хранения и защита данных.

 


Одним из наиболее распространённым вопросом и проблемой, с которой сталкиваются разработчики, является «Выбор системы управления базами данных». Я постараюсь ответить на данный вопрос в самой развёрнутой форме.

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

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

Во-первых, если вы совсем новичок в сфере СУБД, не расстраивайтесь, на рынке представлена парочка совсем неплохих вариантов для вас. Я не сделаю открытия если посоветую использовать одного из лидеров рынка, которыми являются: IBM DB2, Oracle и Microsoft SQL Server. Конечно, вы можете выбрать одно из Open Source решений таких как MySQL или PostgreSQL.

Антананариву и Окрестности

Эти две последних СУБД лучше всего использовать для проектов по веб разработке (так называемых lower-end) или которые не требуют обработки большого количества информации.

Проектирование баз данных mysql не требует огромных затрат времени и сил.

MySQL

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

Недостатки: незащищённость от потери данных, поддержка только малых баз данных

PostgreSQL

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

Недостатки: местами низкая производительность при обработки больших объёмов информации, малая популярность продукта

А теперь давайте поподробнее остановимся на Великой Тройке. Так вот, если у вас большая компания с огромным сервером данных и вы хотите, чтобы выбранная вами СУБД свободно работала с сервером с минимальными сбоями, вам стоит взглянуть на IBM DB2 и Oracle. Эти СУБД отлично работают с операционными системами Unix и Linux. Oracle и DB2 являются лидерами в этом сегменте рынка. Для систем на платформе Windows подойдёт Microsoft SQL Server, но и Oracle с DB2 также не стоит убирать со счетов.

Oracle

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

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

SQL Server

Преимущества: огромный пакет полезных инструментов, которые легко использовать; стабильная работа с sql server базами данных; меньшие затраты на администрирование sql server

Недостатки: работает только на платформах Microsoft, корпоративная версия может стоить слишком дорого

DB2

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

Недостатки: производительность не такая высокая как у Oracle, корпоративная версия может достигать завышенных цен.

Что по поводу других игроков рынка? Менее популярными являются Sybase, Informix и Teradata. Sybase в последнее время немного растерял свои позиции, но ихние СУБД всё также пользуются популярностью. Informix сейчас является собственностью IBM, но это не мешает ему оставаться высокопроизводительным продуктом, который в полной мере развивается и поддерживается IBM. Teradata представляет из себя высокоскоростную СУБД, которая приспособлена для организации хранилищ данных и аналитической обработки большого количества данных в реальном времени (OLAP).

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

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

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

При выборе СУБД также необходимо принять во внимание её версии. Существует 4 версии СУБД: для корпораций (Enterprise), для рабочей группы (Departmental), персональная и мобильная.

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

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

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

Мобильная СУБД — это специальная версия СУБД рабочей группы или СУБД предприятия.

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

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

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

Itosy Antananarivo — Антананариву фото альбом

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

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

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

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

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

Типы данных и отношений между ними

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

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

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

Популярные и основные реляционные базы данных

В этой статье мы с вами рассмотрим три основных свобоно распространяемых СУБД.

SQLite — очень мощная встраиваемая система управления

MySQL — самая популярная и распространённая СУБД

PostgreSQL — наиболее продвинутая СУБД

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

Если вы заинтересованы в подобных копиях, то обратите внимание на некоторые из них, например MariaDB.

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 в официальной документации.

Преимущества SQLite

  • Файловая структура — вся база данных состоит из одного файла, поэтому её очень легко переносить на разные машины
  • Используемые стандарты — хотя может показаться, что эта СУБД примитивная, но она использует SQL. Некоторые особенности опущенны (RIGHT OUTER JOIN или FOR EACH STATEMENT), но основные все-таки поддерживаются
  • Отличная при разработке и тестировании — в процессе разработки приложений часто появляется необходимость масштабирования. SQLite предлагает всё что необходимо для этих целей, так как состоит всего из одного файла и библиотеки написанной на языке C.

Недостатки SQLite

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

Когда использовать SQLite

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

Когда отказаться от SQLite

  • Многопользовательские приложения — если вам необходимо обеспечить доступ к данным для нескольких пользователей, да и к тому же различать их по правам доступа, то, наверное, полноценная СУБД (например: MySQL) будет более логичным выбором
  • Запись больших объемов данных — одно из ограничений SQLite это операции записи.

    Разрешен только один процесс записи в промежуток времени, что сильно ограничивает производительность.

MySQL

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

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

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

Типы данных MySQL

  • TINYINT — очень малые целочисленные значения
  • SMALLINT — малые целочисленные значения
  • MEDIUMINT — средние целочисленные значения
  • INT или INTEGER — стандартные целочисленные значения
  • BIGINT — большие целочисленные значения
  • FLOAT — маленькие значения с плавающей точкой (точность до одного значения после точки). Всегда знаковые значения
  • DOUBLE, BOUBLE PRECISION, REAL — Стандартные значения с плавающей точкой. Всегда знаковые
  • DECIMAL, NUMERIC — распакованное значение с плавающей точкой, всегда знаковое.
  • DATE — дата
  • DATETIME — дата и время в одном значении
  • TIMESTAMP — временная отметка timestamp
  • TIME — время
  • YEAR — год, 2 или 4 числа (4 — по-умолчанию)
  • CHAR — строковое значение фиксированной длины, справа всегда добавляются пробелы до указанной длины при сортировке
  • VARCHAR — строковое значение переменной длины
  • TINYBLOB, TINYTEXT — значение типа BLOB или TEXT, 255 (2^8 — 1) символов — максимальныя длина
  • BLOB, TEXT — значение типа BLOB или TEXT, 65535 (2^16 — 1) символов — максимальныя длина
  • MEDIUMBLOB, MEDIUMTEXT — значение типа BLOB или TEXT, 16777215 (2^24 — 1) символов — максимальныя длина
  • LONGBLOB, LONGTEXT — значение типа BLOB или TEXT, 4294967296 (2^32 — 1) символов — максимальныя длина
  • ENUM — перечисление
  • SET — множество

Преимущества MySQL

  • Простота в работе — установить MySQL довольно просто. Дополнительные приложения, например GUI, позволяет довольно легко работать с БД
  • Богатый функционал — MySQL поддерживает большинство функционала SQL.
  • Безопасность — большое количество функций обеспечивающих безопасность, которые поддерживается по умолчанию
  • Масштабируемость — MySQL легко работает с большими объемами данных и легко масштабируется
  • Скорость — упрощение некоторых стандартов позволяет MySQL значительно увеличить производительность.

Недостатки MySQL

  • Известные ограничения — по задумке в MySQL заложены некоторые ограничения функционала, которые иногда необходимы в особо требовательных приложениях.
  • Проблемы с надежностью — из-за некоторых способов обработки данных MySQL (связи, транзакции, аудиты) иногда уступает другим СУБД по надежности.
  • Медленная разработка — Хотя MySQL технически открытое ПО, существуют жалобы на процесс разработки. Стоит заметить, что существуют другие довольно успешные СУБД созданные на базе MySQL, например MariaDB.

Когда следует использовать MySQL

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

Когда лучше отказаться от MySQL

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

PostgreSQL

PostgreSQL является самым профессиональным из всех трех рассмотренных нами СУБД. Она свободно распространяемая и максимально соответствует стандартам SQL. PostgreSQL или Postgres стараются полностью применять ANSI/ISO SQL стандарты своевременно с выходом новых версий.

От других СУБД PostgreSQL отличается поддержкой востребованного объектно-ориентированного и/или реляционного подхода к базам данных. Например, полная поддержка надежных транзакций, т.е. атомарность, последовательность, изоляционность, прочность (Atomicity, Consistency, Isolation, Durability (ACID).) Благодаря мощным технологиям Postgre очень производительна.

Параллельность достигнута не за счет блокировки операций чтения, а благодаря реализации управления многовариантным параллелизмом (MVCC), что также обеспечивает соответствие ACID. PostgreSQL очень легко расширять своими процедурами, которые называются хранимые процедуры. Эти функции упрощают использование постоянно повторяемых операций.

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

Типы данных PostgreSQL

  • bigint — знаковое 8-ми битное целочисленное значение
  • bigserial — автоматически инкрементируемое 8-ми битное целочисленное значение
  • bit[(n)] — строка постоянной длины
  • bit varying [(n)] — строка переменной длины
  • boolean — булево значение (true/false)
  • box — прямоугольник на плоскости
  • bytea — бинарные данные (массив байтов)
  • character varying [(n)] — строковое значение переменной длины
  • character [(n)] — строковое значение постоянной длины
  • cidr — IPv4/IPv6 сетевой адрес
  • circle — круг на плоскости
  • date — календарная дата (год, месяц, день)
  • double precision — число с плавающей точкой двойной точности (8 байт)
  • inet — IPv4/IPv6 адрес хоста
  • integer — знаковое 4-ех байтовое целочисленное значение
  • interval [fields][(p)] — отрезок времени
  • line — бесконечная прямая на плоскости
  • lseg — отрезок на плоскости
  • macaddr — MAC адрес
  • mony — валютное значение
  • numeric [(p, s)] — точное численное значение с выбранной точностью
  • path — геометрическая кривая на плоскости
  • point — геометрическая точка на плоскости
  • polygony — многоугольник на плоскости
  • real — число с плавающей точкой одинарной точности (4 байта)
  • smallint — знаковое целочисленное значение (4 байта)
  • serial — автоматические инкрементируемое целочисленное значение (4 байта)
  • text — строковое значение переменной длины
  • time [(p)] [without time zone] — время суток (без часового пояса)
  • time [(p)] with time zone — время суток (включая часовой пояс)
  • timestamp [(p)] [without time zone] — дата и время (без часового пояса)
  • timestamp [(p)] with time zone — дата и время (с часовым поясом)
  • tsquery — текстовый поисковый запрос
  • tsvector — документ текстового поиска
  • txid_snapshot — пользовательский снимок транзакции с ID
  • uuid — универсальный уникальный идентификатор
  • xml — XML данные

Достоинства PostgreSQL

  • Открытое ПО соответствующее стандарту SQL — PostgreSQL — бесплатное ПО с открытым исходным кодом. Эта СУБД является очень мощной системой.
  • Большое сообщество — существует довольно большое сообщество в котором вы запросто найдёте ответы на свои вопросы
  • Большое количество дополнений — несмотря на огромное количество встроенных функций, существует очень много дополнений, позволяющих разрабатывать данные для этой СУБД и управлять ими.
  • Расширения — существует возможность расширения функционала за счет сохранения своих процедур.
  • Объектность — PostrgreSQL это не только реляционная СУБД, но также и объектно-ориентированная с поддержкой наследования и много другого

Недостатки PostgreSQL

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

Когда использовать PostgreSQL

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

Когда не следует использовать PostgreSQL

  • Скорость — если быстрое чтение для вас единственный фактор, то стоит присмотреться к другим СУБД
  • Простая настройка — если вам не нужна целостность данных, соответствие ACID или сложные структуры данных, то настройка PostgreSQL может изрядно потрепать вам нервы
  • Репликация — если вы не готовы потратить время и энергию на то, что мог бы с легкостью сделать MySQL, то наверное проще было бы на нем и остаться.

Тема: Бизнес  |   Дата: 11.08.2015   |  Автор: Александр Длабик

Популярные корпоративные базы данных

Введение

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

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

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

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

Решайте сами, какое из них лучше всего соответствует вашим требованиям.

1. Oracle

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

Высокотехнологичные, сложные решения были и остаются основой этой компании, входящей в рейтинг 500 крупнейших компаний мира по версии делового журнала Fortune (текущая позиция 105 и 27 место в плане рентабельности).

2. SQL Server

Что бы там ни говорили о Microsoft и ее руководстве, их рентабельность оставляет далеко позади все ИТ-компании, и такой продукт, как SQL Server, занимает здесь далеко не последнее место.

Десктопные системы от Microsoft распространены повсеместно, но если вам вдруг понадобится Microsoft Server, то, с большой долей вероятности, на нем будет крутиться также и SQL Server.

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

В настоящее время Microsoft, в качестве платформы для обработки больших объемов данных и ведения бизнес-аналитики, продвигает свой SQL Server 2014.

3. DB2

«Голубой гигант» (IBM) в который раз оправдал свое название, выпустив на рынок датацентры с установленной на них DB2. DB2 портирована на Linux, UNIX, Windows, а также мейнфреймы. Выходом DB2 9.7 IBM бросал вызов Oracle 11g, так как при прочих равных условиях обещал значительную экономию в случае миграции с детища Oracle. Насколько значительную? Примерно 34-39% за трехлетний период эксплуатации.

4. Sybase

Sybase все еще остается серьезным игроком на рынке корпоративных СУБД после 25 лет успешного продвижения своего Adaptive Server Enterprise. Хотя за последние годы доля его рынка значительно сократилась, Sybase по-прежнему занимает прочные позиции в области экстремальной обработки транзакций.

Кроме того, Sybase является поставщиком партнерских решений для рынка мобильных устройств и встраиваемых систем.

5.

Антананариву

MySQL

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

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

6. PostgreSQL

PostgreSQL представляет собой самую продвинутую СУРБД с открытым исходным кодом. Эта база данных незримо присутствует в игровых онлайн-приложениях, в приложениях автоматизации обработки данных и на серверах регистраторов доменов.  PostgreSQL находит свое применение в Skype, Yahoo!, MySpace, и зачастую ее можно обнаружить в самых необычных и неожиданных местах.

7. Teradata

Вы когда-нибудь слыхали о Teradata? Если вы когда-нибудь занимались организацией крупного корпоративного хранилища данных, то наверняка. В 70-х годах прошлого века Teradata заложила основы для построения первых хранилищ данных. В 1992 году они впервые создали такое хранилище для Wall-Mart, и с этого времени понятия «корпоративные хранилища данных» и Teradata стали неразделимы.

8. Informix

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

9. Ingres

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

10. Amazon SimpleDB

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

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


Если Вам понравилась статья — ставьте лайк и делитесь этой информацией!

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

Закрыть меню