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

Что такое SQL?

SQL — это самый распространенный язык запросов к базам данных. Расшифровывается аббревиатура так: Structured Query Language — «язык структурированных запросов».

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

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

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

Структура нового фреймворка

Фреймворк заточен на быстрое создание интерфейсов для СУБД. Он состоит из нескольких частей (модулей). Некоторые могут использоваться отдельно, некоторые — только совместно с остальными.

Модуль core содержит механизмы описания моделей, взаимодействия объектов (записей) данных между собой, механизмы описания запросов к базе данных. Модуль core обращается к источникам данных через модуль backend.

Модуль backend — это прослойка между модулем core и базой (источником) данных. В качестве источника данных может выступать как непосредственно сервер баз данных, вроде SQL, так и прослойка для доступа к моделям других фреймворков, таких как Django или Sequelize.

Модуль model-ui отвечает за генерацию интерфейса: он визуализирует данные, предоставляемые модулем core, используя элементы управления, предоставляемые модулем ui.

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

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

Сколько стоит бесплатный сыр

Стоимость владения

Для баз данных, как и для любого софта, существует понятие полной стоимости владения (Total Cost of Ownership, TCO).

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

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

Традиционно считается, что ТСО состоит из трех частей:

стоимость аппаратного обеспечения;
стоимость программного обеспечения;
стоимость персонала, необходимого для обслуживания ПО.

Посчитали — прослезились…

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

Затем — hardware. 1 Гбайт оперативной памяти для системы, основанной, скажем, на Firebird и обслуживающей 30–50 пользователей, вполне достаточно, тогда как для Oracle потребуется куда больше.

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

И рос он не по годам, а по часам

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

Вход бесплатно, выход — нет

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

Немаловажен и другой вопрос — как долго будут поддерживаться бесплатные версии СУБД? Например, компания Borland, выпустив в 2000 году InterBase 6 Open Edition, которую стали использовать миллионы разработчиков, выпустила только два небольших апдейта, после чего вернулась к коммерческой модели, прекратив поддержку Open Edition. И если бы не появление Firebird, то выбравшие Inter-Base 6 Open Source разработчики должны были бы либо купить лицензии новых версий InterBase, либо переходить на другие СУБД.

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

MySQL, Navicat и другие

В результате пришлось полностью отказаться от использования модуля Django Admin и клиентскую часть писать самостоятельно на JavaScript с использованием вышеуказанных технологий. Так был решен вопрос с интерактивностью, но время, которое стало уходить на создание интерфейсов, было неоправданно большим. Иногда, чтобы сэкономить время, для сбора и анализа данных я использовал чистый Mysql с клиентской частью в виде Navicat. Как оказалось, благодаря триггерам и видам, это не самое плохое решение, а огромное число задач решаются таким образом довольно просто (что не удивительно, ведь, согласно википедии, Mysql и создавался первоначально для решения подобных задач).

The Big Cartoon Database — Большая база данных анимации

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

У базы The Big Cartoon Database есть сайт-двойник в большой базе данных комиксов , в которой хранятся еще 100 000 или даже больше записей о комиксах, охватывающих около 5000 серии, с более чем 35000 сканами обложек. Здесь также есть полнофункциональный поиск, а также справочник цен на комиксы, учитывающих многие частности.

Azure Data Studio

Azure Data Studio – это бесплатный, кроссплатформенный инструмент с открытым исходным кодом для работы с базами данных Microsoft SQL Server.

Azure Data Studio основана на Visual Studio Code и ориентирована на SQL разработчиков, так как основное назначение Azure Data Studio – это написание, редактирование и выполнение SQL запросов, иными словами, это редактор SQL кода.

Azure Data Studio позволяет работать с базами данных Microsoft SQL Server, SQL Azure, а также с другими СУБД, например, с PostgreSQL

Основные особенности

Инструмент бесплатный
Кроссплатформенность (поддержка Windows, Linux, macOS)
Ориентация на SQL разработчиков
Продвинутый SQL редактор (технология IntelliSense, фрагменты SQL кода)
Расширяемость (встроенная поддержка расширений)
Работа с другими СУБД
Встроенная возможность выгрузки данных в формат Excel, XML, JSON, CSV
Группировка подключений к серверам
Визуализация данных с помощью диаграмм и графиков
Поддержка нескольких цветовых тем
Встроенный терминал (Bash, PowerShell, sqlcmd)
Записные книжки

Недостатки

Отсутствует конструктор таблиц
Нет функционала для работы со свойствами объектов
Отсутствует возможность управления безопасностью
Отсутствует возможность импорта и экспорта DACPAC
Отсутствует функционал для большинства задач администрирования

Мне нравится2Не нравится

SQL Server Data Tools

SQL Server Data Tools (SSDT) – это отдельный компонент (рабочая нагрузка) Visual Studio, который предназначен для разработки реляционных баз данных SQL Server.

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

Таким образом, SQL Server Data Tools предназначен для разработчиков, создающих приложения в среде Visual Studio.

Основные особенности

Интегрирован в Visual Studio
Знакомый интерфейс и функционал Visual Studio
Ориентация на разработку баз данных
Охват всех этапов разработки базы данных
Можно работать как с проектом базы данных, так и с подключенным экземпляром базы данных
Конструктор таблиц с графическим интерфейсом
Навигация по коду
Технология IntelliSense
Сборка и отладка
Рефакторинг баз данных
Декларативное внесение изменений в редакторе Transact-SQL

Недостатки

Инструмент реализован только под Windows
Инструмент нельзя использовать без Visual Studio
Не подходит для простого написания, редактирования и выполнения SQL запросов
Не подходит для администрирования SQL Server

Мне нравится1Не нравится

WorldCat — Библиографическая база данных

К сожалению, это не база данных всех картинок с котиками и кошечками, которые есть в интернете (Cat – в переводе с английского «кот»). Но это — вещь! Содержимое WorldCat гораздо полезнее, чем котики и кошечки. На сайте задокументированы коллекции ссылок на более, чем 72 000 библиотек по всему миру, охватывающих 170 стран и территорий. Это полезный ресурс на тот случай, если вы ведете исследования в чужой стране, или на тот случай, если у вас просто есть желание лично читать редкие книги.

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

СУБД в собственном ЦОД: еще не все потеряно

В отношении будущего «необлачных», on-premise, дата-центров и, соответственно, необлачных СУБД, аналитики выражают скепсис. Однако пока дела у них обстоят не так уж плохо. Их продажи растут не так быстро, как облачных СУБД, но «треть роста» для устоявшегося рынка — тоже не так уж плохо. И хотя, как отмечают в Gartner, лишь 5% пользователей в 2025 г. захотят вернуть свои СУБД из облака в ЦОД, для традиционных баз данных еще не все потеряно.

Известен эффект «притяжения данных» (data gravity) — чем больше объемы данных, тем сильнее они притягивают к себе сервисы и приложения, которые становятся все совершеннее. Это обстоятельство работает на пользу CDBMS. Однако есть и другой эффект, незаметный на терабайтных объемах, но становящийся существенным, когда речь заходит о петабайтах: возникают проблемы, связанные с транспортировкой данных.

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

Впервые с этой проблемой столкнулась компания Google, когда решила строить «зеркала» на разных континентах. Тогда компания решила возить данные морскими контейнерами. Странная, на первый взгляд, идея оказалась продуктивной, к тому же она стимулировала создание контейнерных ЦОДов.

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

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

Snowmobile — удивительный грузовик, его вес в нагруженном и разгруженном состоянии одинаков!

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

Рынок DBaaS

Вначале коротко о рынке. Если вы уже знакомы с этой информацией, переходите сразу к блоку «Четыре в одном», но нам показалось, эти данные довольно интересны.

По прогнозу Technavio, в ближайшие годы мировой рынок DBaaS будет демонстрировать экспоненциальный рост — более чем на 65% ежегодно. Вместо того, чтобы вкладывать большие средства в аппаратные платформы, многие компании склонны инвестировать средства в услуги с еженедельной, ежеквартальной или ежегодной оплатой по подписке.

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

Судя по результатам опросов, реляционные облачные СУБД – в числе самых популярных сервисов публичных облаков. Их используют 35% респондентов, экспериментируют -14%, планируют внедрение – 12% (источник – RightScale).

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

По данным Forrester, AWS – лидер рынка DBaaS. Amazon Relational Database Service позволяет работать с БД Oracle, Microsoft SQL Server, MySQL, MariaDB и PostgreSQL в среде EC2. Из 100 тыс. исследованных 2ndWatch экземпляров БД 67% представляли Amazon RDS.

Рост оборота мирового рынка DBaaS в млн. долларов (по данным 451 Research).

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

Рост сервиса Oracle DBaaS в мире.

Аналитики Markets&Markets прогнозируют, что рынок облачных СУБД/DBaaS вырастет с 1,07 млрд. долларов в 2014 году до 14,05 млрд. долларов к 2019 году при ежегодных темпах роста (CAGR) в 46%.

Ограничение доступа к данным

  1. Шифрование и обфускация процедур и функций (Wrapping) — то есть отдельные инструменты и утилиты, которые из читаемого кода делают нечитаемый. Правда, потом его нельзя ни поменять, ни зарефакторить обратно. Такой подход иногда требуется как минимум на стороне СУБД — логика лицензионных ограничений или логика авторизации шифруется именно на уровне процедуры и функции.
  2. Ограничение видимости данных по строкам (RLS) — это когда разные пользователи видят одну таблицу, но разный состав строк в ней, то есть кому-то что-то нельзя показывать на уровне строк.
  3. Редактирование отображаемых данных (Masking) — это когда пользователи в одной колонке таблицы видят или данные, или только звездочки, то есть для каких-то пользователей информация будет закрыта. Технология определяет, какому пользователю что показывать с учетом уровня доступа.
  4. Разграничение доступа Security DBA/Application DBA/DBA — это, скорее, про ограничение доступа к самой СУБД, то есть сотрудников ИБ можно отделить от database-администраторов и application-администраторов. В open source таких технологий немного, в коммерческих СУБД их хватает. Они нужны, когда много пользователей с доступом к самим серверам.
  5. Ограничение доступа к файлам на уровне файловой системы. Можно выдавать права, привилегии доступа к каталогам, чтобы каждый администратор получал доступ только к нужным данным.
  6. Мандатный доступ и очистка памяти — эти технологии применяют редко.
  7. End-to-end encryption непосредственно СУБД — это client-side шифрование с управлением ключами на серверной стороне.
  8. Шифрование данных. Например, колоночное шифрование — когда вы используете механизм, который шифрует отдельную колонку базы.

Как это влияет на производительность СУБД?

Проведем тест c pgcrypto

Выборка из таблицы без функции шифрования

Время: 1,386 мсВыборка из таблицы с функцией шифрования:

Время: 50,203 мсРезультаты тестирования

  Без шифрования Pgcrypto (decrypt)
Выборка 1000 строк 1,386 мс 50,203 мс
CPU 15% 35%
ОЗУ   +5%

Пример такого шифрования в MongoDB

Миграция в облако

Часто возникает вопрос, как перенести БД в облако. Мы разработали сценарии миграции данных на облачную инфраструктуру с использованием технологий Microsoft Mirroring и Always On Availability Groups, Oracle Data Guard, Oracle Golden Gate, Oracle Dbvision. Миграция включает в себя:

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

Сколько это стоит?

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

Вариант 1. Функциональное тестирование на СУБД PostgreSQL для разработчиков конфигурации «1С: Зарплата и кадры», эксплуатируемой в сети автосервисов.

Вариант 2. Пример расчета стоимости сервиса БД MS SQL для ERP MS Axapta эксплуатируемой в сети магазинов детских игрушек.

Вариант 3. Пример расчета стоимости сервиса БД Oracle для системы поддержки туристического бизнеса используемой туристическим оператором и его агентствами.

У нас на сайте можно рассчитать стоимость услуги с помощью .

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

MS Access: где скачать дополнительные шаблоны?

Если вы не нашли подходящий шаблон среди предустановленных, то  можете попробовать скачать шаблоны для Access из Интернета. К сожалению, количество загрузочных порталов, предоставляющих такие шаблоны, невелико, особенно в Рунете.

  • Для тех, кто владеет языками, существует сайт, Microsoft Templates. Он предлагает хорошую коллекцию бесплатных англоязычных шаблонов для любых продуктов Office, включая Access. Сайт содержит качественную подборку баз данных Access, разбитых по категориям — бизнес, нон-профит, для использования в образовании и так далее. Помимо этого, на сайте доступны шаблоны для Word, Excel, PowerPoint и других программ из офисного пакета MS.

  • Существует огромная англоязычная коллекция шаблонов для Microsoft Access — Access Templates. Сайт предлагает солидное количество шаблонов баз данных Access для самых различных отраслей, от образования и медицины до бухучета и программирования. Шаблоны сорируются по версиям Access, дате, популярности. Однако, для полноценного скачивания требуется платная регистрация, которая стоит $88 и достаточно неудобна для России, так как работает через PayPal. В шаблонах, скачанных бесплатно, будут заблокированы таблицы (впрочем, разблокировка — вопрос умения).
  • На русском языке существует неплохой проект Access Help. Несмотря на коммерческую направленность проекта, его создатели свободно выкладывают примеры созданных ими баз в Интернет, чтобы их мог использовать любой желающий. Для скачивания доступны готовые базы данных Access для самых разных организаций, особенно для бизнеса.
  • Как создать календарь в MS Access
  • Как обновить записи в формах MS Access
  • Как задать первичный ключ базы данных Access

Фото: авторские, pixabay.com

Как все начиналось

Столь стремительный рост популярности облачных СУБД стал возможен благодаря двум удачно совпавшим по времени обстоятельствам. Исторически базы данных строились исходя из единственно возможного в то время представления о вертикальном масштабировании (scale-up), предполагавшем использование все более и более мощных серверов. В начале 2000-х годов апогеем этой линии развития в этом направления стали несколько мощных СУБД (Oracle, DB2 и др.), работавших на многопроцессорных Unix-серверах. Но с появлением в те же годы тонких серверов (высотой 1-2 U) и особенно серверов-лезвий, вертикальное масштабирование стало постепенно уступать свое место более дешевому горизонтальному масштабированию (scale-out), где серверная мощность наращивается за счет объединения в кластеры относительно маломощных серверов стандартной архитектуры x86. В итоге базы данных «пересели» на кластерные конфигурации, собранные из серверов стандартной архитектуры, или на гиперконвергентные системы.

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

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

И сейчас все ведущие разработчики СУБД имеют облачную версию своих систем. Если посмотреть на последнюю Forrester Wave, посвященную рынку облачных СУБД, среди «лидеров» и их «сильных преследователей» — знакомые все лица: Oracle, Microsoft, IBM, SAP. С которыми, не без успеха, соперничают и чисто облачные вендоры. Находится в облаках место и бесплатным СУБД (хотя, конечно, их «бесплатность» еще более условна, чем при размещении в корпоративном ЦОДе) — MongoDB, которая смогла даже выйти в лидеры по версии Gartner, Redis («преследователь») популярная в России PostreSQL и некоторые другие.

Лидеры рынка облачных СУБД, 2 кв., 2019

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

Какие задачи решаем?

Наша услуга сокращает эксплуатационные затраты, в которые среди прочего входят зарплаты администраторов БД (например, в Московском регионе зарплата Oracle DBA в месяц может доходить до 200 т.р.), а также снижает риски, связанные с инфраструктурой, на которой развернуты БД. Ее можно использовать для запуска новых или обновления существующих бизнес-приложений, таких как корпоративная система электронной почты, системы CRM и HRM, бухгалтерское, складское, финансовое и аналитическое ПО.

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

Для разных приложений у нас типовые конфигурации:

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

Другие облачные сервисы баз данных для рассмотрения

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

Здесь мы кратко рассмотрим некоторые дополнительные опции облачной базы данных, на которые стоит обратить внимание:

DataStax использует Apache Cassandra для формирования основы своей облачной платформы, поддерживающей нативные, гибридные и мультиоблачные сервисы. Его корпоративный сервис нацелен на предоставление мощной, масштабируемой и постоянно действующей базы данных. DataStax также предоставляет сервисы управления для AWS, Azure и Google Cloud. Компания также собирается запустить свою облачную платформу данных Constellation с интеллектуальными услугами для нулевых операций..

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

Couchbase также немного отличается тем, что позволяет создавать собственные базы данных, работающие на N1QL, что обеспечивает гораздо более сложное хранение данных, чем обычно позволяет MySQL. Это означает возможность создавать в облаке базы данных, которые являются многоуровневыми и работают лучше для JSON. Кроме того, он имеет встроенную аналитику, простую репликацию и безопасность корпоративного уровня

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

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

RAWGraphs

RAWGraphs

Сильные стороны бесплатной версии

  • Диаграммы в RAWGraphs очень просто создавать, для работы с системой не нужно даже регистрировать учётную запись.
  • Система поддерживает различные форматы входных данных — TSV, CSV, DSV, JSON и Excel-файлы(.xls, .xlsx).
  • По сведениям RAWGraphs обработка данных производится исключительно средствами браузера. Платформа не занимается серверной обработкой или хранением данных. Никто из тех, кто не имеет отношения к данным, не сможет их просматривать, модифицировать или копировать.
  • RAWGraphs — это система, поддающаяся расширению. Например, добавлять в неё новые диаграммы можно, обладая базовыми знаниями D3.js.

Слабые стороны бесплатной версии

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

Отношения между таблицами

Чтобы база данных стала реляционной, одних данных мало. Между ними нужны еще и связи (те самые relations, от которых и пошло слово «реляционный»).

Для связи между таблицами служит так называемый внешний ключ (foreign key). Название довольно точно выражает его суть. Если в таблице A есть столбец для хранения первичного ключа таблицы B, то такой столбец и называется внешним ключом. Первичные и внешние ключи устанавливают связи между таблицами, превращая набор таблиц в цельную конструкцию — реляционную базу данных.

Приведу пример. Допустим, мы создали еще одну простую таблицу — справочник товаров. Назовем ее GOODS.

Товарный справочник GOODS
ID NAME PRICE UNIT COUNTRY
1 Яблоки 50.00 кг Россия
2 Груши 60.40 кг Франция
3 Апельсины 40.00 кг Марокко
4 Макароны 21.00 шт Франция
5 Кефир 25.30 шт Россия
6 Молоко 30.50 шт Россия

Ее колонки: ID — первичный ключ, NAME — название товара, PRICE — его цена, UNIT — краткое название единицы измерения, COUNTRY — название страны-производителя.

Хорошо ли построена такая таблица? Вроде бы всем упоминавшимся выше принципам она удовлетворяет: уникальные имена столбцов с однородными данными, строки с уникальным первичным ключом. Казалось бы, все на месте. Тем не менее построена она непрофессионально. Здесь мы подходим к принципам, о которых я еще не упоминал, — к понятию о нормализации таблиц. Суть в том, чтобы всюду, где только можно, избегать избыточности в хранении данных путем выделения их в отдельные таблицы.

Посмотрим на нашу таблицу GOODS. Чем она плоха? Представьте себе, что завтра придется изменить название какой-нибудь страны. Такое случается часто. Бирма когда-то меняла свое название на Мьянму, Польша — на Польскую Республику. Хочется ли вам менять огромное количество строк во всех таблицах, где эти страны упоминаются? Представьте также, что вас попросят отобрать запросом весь штучный товар. Можете ли вы быть уверены в том, что оператор всюду набил эту аббревиатуру правильно и одинаково? Скорее всего, окажется, что в таблице встречаются все мыслимые вариации: «шт», «Шт», «шт.», «штук» и «штуки».

Думаю, проблема понятна. Выходом из этой ситуации будет выделение из нее двух других таблиц: справочника стран (COUNTRIES) и справочника единиц измерений (UNITS).

Справочник единиц измерения UNITS
ID NAME SHORT_NAME
1 Штуки шт
2 Килограммы кг

Сам справочник товаров GOODS будет теперь выглядеть совершенно по-другому (см. таблицу).

Товарный справочник GOODS после нормализации
ID NAME PRICE UNIT_ID COUNTRY_ID
1 Яблоки 50.00 2 1
2 Груши 60.40 2 2
3 Апельсины 40.00 2 3
4 Макароны 21.00 1 2
5 Кефир 25.30 1 1
6 Молоко 30.50 1 1

Что изменилось? Вместо столбцов с названиями единиц измерения и стран появились столбцы UNIT_ID и COUNTRY_ID с кодами, отсылающими нас к другим таблицам. Это и есть внешние ключи. Что означает значение 2 в столбце UNIT_ID? Оно означает, что интересующая нас информация по единице измерения находится той строке таблицы UNITS, где ID = 2. Достаточно заглянуть в этот справочник, чтобы убедиться, что называется эта единица полностью «штуки», а кратко — «шт».

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

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

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

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

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

Adblock
detector