База данных свободной структуры

База данных свободной структуры (БД СвС) – NoSQL база данных, в которой данные могут образовывать динамические типы, связи и структуры.

БД СвС позволяет отойти от строгого базового принципа при операциях с данными: метаданные (структура) – данные. Этот принцип накладывает существенные ограничения в операциях с данными и на развитие структуры данных. Например, в бизнес-системах, таких как CRM, пользователь-менеджер по продажам зачастую не может ввести каких-либо существенных данных (и, соответственно, делать выборки по этим данным), как для самого пользователя, так и компании в целом, которые не определены в структуре данных системы. Аналогичная ситуация со строгим структурированием данных складывается, когда пользователь сохраняет некоторые данные в виде неструктурированного текстового блока и затем делает выборку данных по контексту, вместо определения структуры в БД и затем поиска по конкретным полям, например, при поиске в базе резюме. В этой связи возникает противоречие между структурированной БД и контекстным поиском по «большим данным». БД СвС позволяет строить базу данных настолько гибко, насколько это хочется пользователю. Однако эта свобода не отменяет структурирования данных.

Большинство NoSQL баз данных являются противопоставлением реляционных баз данных и предназначены для быстрого поиска простых структур данных – таблиц либо идентификаторов с привязанными объектами (например, BLOB). Однако БД СвС направлена на структурирование данных, а соответственно, на навигацию и поиск по сложно структурированным данным.

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

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

Также БД СвС является наилучшей основой для ETL-решения.