Базы данных — иной взгляд
Реляционные модели данных, употребляемые сейчас почти в любом отечественном государственном информационном ресурсе, не справляются с поставленными задачами резкого увеличения объемов информации.
Если взглянуть на всё чаще возникающие проблемы с большим количеством данных, их хранением и доступностью, то напрашиваются выводы о том, что реляционные модели данных не справляются с задачами резкого увеличения объемов информации и доступности её большому потоку пользователей.
В момент создания и активного развития реляционной модели данных сложно было представить, насколько в будущем вырастут объемы информации, подлежащей хранению. Поэтому не удивительно, что сейчас реляционные базы уже не годятся для постоянно меняющихся и быстрорастущих проектов.
Вертикальное vs горизонтальное масштабирование
Такие базы данных хорошо приспособлены для «вертикального» масштабирования, то есть последовательного наращивания таблиц за счет добавления новых строк. Вертикальное масштабирование на физическом уровне — это просто еще более мощный сервер, еще более крупный диск. Но когда счет данных идет на петабайты, ни один, пусть и «очень большой», сервер с такими объемами не справится. И тогда придется задуматься о «горизонтальном» масштабировании, то есть дроблении базы на фрагменты.
Как только сервис упирается в проблему масштаба, меняется всё. В частности, возникают проблемы с «железом» и «софтом». Серверы больше не помещаются в серверную и едут на отдельную хостинговую площадку, а простой и надежной модели бэкенда по принципу «сервер крутит базу данных» становится недостаточно.
Накопившийся объем данных становится слишком велик, чтобы работать на одном сервере, необходимо разнести его на несколько нод (node). К тому же, чем дальше, тем труднее проводить в базе операции, которые не сводятся к простому «поиск/запись/удаление». Пример — полнотекстовый поиск. Хоть он и реализован в базах данных на основе SQL, их функциональности может быть недостаточно, когда число разносортных запросов начинает сильно расти.
Из-за числа запросов и сам по себе доступ к базе данных превращается в «бутылочное горлышко», и для решения этой задачи приходится создавать отдельный сервис.
Жёсткая конфигурация — ещё один барьер
Ещё одна проблема у реляционной модели данных — это жёсткая конфигурация. Она предполагает, что каждая запись (строка) в базе имеет определённое число полей (по числу столбцов).
А как ещё можно организовывать данные в базе? Если всерьёз задаться этим вопросом, то обнаружится, что реляционная модель подходит отнюдь не для всех задач. В ней действует единая модель доступа к любому значению: системе надо знать название самой таблицы, значение первичного ключа (его аналог — номер строки) и название столбца. Значит, все записи должны быть стандартизированы.
В общем, реляционная модель — это одна из возможностей работы с данными, и нельзя наращивать бесконечно только одну парадигму. Рано или поздно выявятся проблемы, которые она решить не может, потому что не обладает достаточной гибкостью работы с данными. Что мы сейчас и наблюдаем в постоянных сбоях и недоступности ГИС (государственных информационных систем).
Многомерная структура данных — математически идеальная модель
Как известно, многомерная структура данных является идеальной математической моделью для работы с данными. С помощью такой модели можно выйти на любую конструкцию данных: реляционную, иерархическую, сетевую и прочее. Таким образом, можно достигнуть максимальной гибкости при построении различных структур данных.
В настоящее время имеются готовые СУБД приложения, поддерживающие многомерные структуры данных, например: Cache (производитель Intersystems), GT.M (производитель FIS-GTM), YottaDB (открытое сообщество) и другие системы, в основном работающие на стандарте MUMPS. Такие системы обладают огромной производительностью, надёжностью, масштабируемостью и гибкостью. Они прекрасно работают в США на таких ответственных направлениях, как: банковский сектор, медицина и оборонная промышленность и прекрасно зарекомендовали себя за долгие годы работы как надёжные, высокопроизводительные системы, способные работать с любыми объёмами данных.
С введением санкций против РФ сайт производителя FIS-GTM стал недоступен для жителей России, что говорит о стратегическом уровне данной технологии.
Наша компания уже давно работает с подобными системами и имеет свои наработки в этой области. Нами создана многомерная система управления базами данных СУБД ГЛОБАЛ, обладающая высокой производительностью и надёжностью. На базе данного продукта разработаны и внедрены ряд крупных проектов для государственного сектора. Ведётся дальнейшая работа на повышение качественных характеристик нашего продукта с целью увеличения рынка сбыта.
СУБД ГЛОБАЛ входит в реестр отечественного ПО. Основана она на открытой и доработанной нами системе GT.M (производитель FIS-GTM).
Наш подход к проектированию
При выборе подхода к проектированию нашего продукта мы решили использовать множество парадигм структур баз данных, т.к. это подходит для выполнения всех видов задач независимо от требований к производительности, объёму, надёжности и масштабируемости СУБД. Для этого был выбран способ хранения данных в виде B*деревьев, а доступ к данным обеспечен с помощью стандартизированного языка программирования MUMPS.
Исходя из этого, мы получили очень быструю, многомерную структуру данных, способную на высокую масштабируемость, и удобный инструмент для их манипулирования.
Наши наработки в этом направлении
- Доработанное ядро СУБД.
- Существует визуальная среда работы с данными.
- Разработан универсальный шлюз для взаимодействия с другими системами.
- Разработаны библиотеки для работы непосредственно с B*деревом базы для языков Си и PHP. Что позволяет полноценно создавать любые системы любых масштабов.
- Разрабатывается свой язык программирования для работы с данными для замены устаревшего MUMPS.
- Есть наработки полностью изменения ядра СУБД (уход от открытого GT.M).
- На нашей базе уже успешно работают ряд систем в государственных структурах.
- Создана специализированная система Сбора статистики с подведомственных организаций, которая позволяет быстро организовать сбор данных, не прибегая к программированию.
В России данная технология достаточно распространена и успешно используется в медицинских системах, а также биллинговых системах операторов связи.
Преимущества нашей СУБД ГЛОБАЛ
- Отечественная разработка. Входит в реестр отечественного программного обеспечения.
- Быстродействие. Не уступает зарубежным аналогам, таким как ORACLE и MSSQL, а в специализированных задачах в разы превосходит по скорости записи.
- Надёжность. Встроенный механизм многоуровневого журналирования обеспечивает высокую надежность, отказоустойчивость и целостность транзакций БД.
- Простота установки и обслуживания. Для выполнения всех необходимых операций достаточно базовых знаний администратора *nix систем.
- Гибкость в использовании оборудования. Возможно использование как на стандартных ПК, так и на многопроцессорных аппаратных платформах.
- Экономия дискового пространства. Данные занимают меньше места на диске по сравнению с реляционными системами.
- Высокая нагрузка. Предназначена для применения в высоконагруженных и информационно ёмких проектах.
- Многомерность. Работа с данными в виде многомерных массивов информации позволяет строить очень сложные системы аналитики.
- Открытость. Работает на ОС семейства Linux (открытое и бесплатное программное обеспечение).
Готовы к совместной разработке?
Мы открыты к сотрудничеству с командами разработчиков, системными интеграторами, государственными структурами и коммерческими организациями. Наш многолетний опыт в работе с многомерными СУБД и богатый стек собственных наработок позволяют нам успешно реализовывать проекты любой сложности — от высоконагруженных государственных информационных систем до специализированных корпоративных решений.
Если перед вами стоят амбициозные задачи, требующие нестандартного подхода к хранению и обработке данных — мы будем рады стать вашим технологическим партнёром. Совместная разработка, технический консалтинг, внедрение и сопровождение — всё это мы готовы предложить под ключ.
Узнать больше о СУБД ГЛОБАЛСУБД ГЛОБАЛ — для учебных заведений
Мы активно поддерживаем подготовку ИТ-специалистов нового поколения. СУБД ГЛОБАЛ может стать отличной практической базой для студентов, изучающих современные технологии работы с данными. Мы предлагаем учебным заведениям особые условия сотрудничества:
- Бесплатное лицензирование для образовательных учреждений на время учебного процесса
- Готовые учебные материалы и методические пособия по работе с многомерными СУБД
- Практика и стажировки для студентов на реальных проектах компании
- Совместные научные исследования в области highload-систем и Big Data
- Техническая поддержка и консультации от разработчиков СУБД
- Возможность использования в курсовых и дипломных проектах
Готовим ИТ-специалистов, способных работать с технологиями завтрашнего дня уже сегодня. Присоединяйтесь к числу вузов и колледжей, которые выбрали СУБД ГЛОБАЛ для подготовки своих студентов.
Подробнее о программе для вузов