Любая хозяйственная деятельность несет в себе риски принятия руководящих решений. И тем меньше эти риски, чем больше информированность и опыт руководителя, принимающего такие решения. Именно с этой целью необходимо накопление, сохранение и анализ всех данных о хозяйственной деятельсти. Основную роль таких данных играют документы фиксирующие факты. Их природа и содержание могут быть разнообразными. Это может быть бухгалтерская документация или спецификации конструктивного устройства продукции и технологии ее производства, статистическая информация о состоянии оборудования или показателей различных процессов во времени. Основная задача информационных технологий заключается не только в типизации такой информации для дальнейшей удобной ее обработки, но и в способах ее сохранения. Способы электронного хранения информации стали появляться и развиваться буквально вместе с появлением ЭВМ. Поэтому история создания технологий накопления, хранения и обработки данных не нова. В мировой информационной индустрии существуют несколько компаний и их программно-технических решений для выполнения этих функции. Основными критериями развития таких продуктов являются надежность хранения данных, скорость их обработки и функциональное удобство их использования. В общем смысле, речь идет пока только о системах управления базами данных (СУБД). Некоторые, самые популярные, представлены на иллюстрации ниже.
Их принципиально можно разделить на две группы: SQL и No-SQL. Однако, кроме них есть целый класс программ, которые имеют непосредственное отношение к работе баз данных. Они нивелируют недостатки СУБД, добавляя свои дополнительные достоинства. Например, распределение нагрузки запросов к данным на несколько серверов (репликация) или хранение данных в оперативной памяти (кэширование).
Принцип организации SQL-СУБД предполагает табличный формат данных, где информация содержится в виде записей с фиксированным набором полей конкретных типов данных. Специальные поля выполняют функцию ключа для связи с другими таблицами, а некоторые поля индексируются и таблицы их индексов хранятся в оперативной памяти. Эти технологии помогают поддерживать структурность данных, их логическую связаннность и высокую скорость получения результатов их обработки.
No-SQL СУБД структурно организуют данные иными способами, с целью избежать недостатков, присущих SQL-СУБД. Например, MongoDB хранит данные в виде экземпляров документов с произвольным набором данных. При этом каждый такой документ определяется уникальным идентификатором, а наборы документов формируют коллекции. Данные в документах хранятся в формате "ключ-значение", очень распространенном в сетевом обмене данных (JSON). За счет идентификаторов документы могут быть связанными, а данные распределены (реплецированы) на различных серверах, что снижает нагрузку на серверы.
В любом случае схема работы с базами данных предполагает три уровня операций. Первый уровень это сам пользователь данных. Он осуществляет первичный ввод данных и управление ими через интерфейс прикладной программы, на сервере приложения. На втором этапе приложение по требованию пользователя формирует запрос к серверу СУБД. И на третьем этапе сервер СУБД выбирает нужные данные из базы данных и возвращает результат серверу приложения, а прикладная программа визуализирует результат выполнения запроса на экране компьютера пользователя. Это типовая схема работы с данными в любых случаях. Однако специфику применения конкретной СУБД определяет программист в зависимости от условий эксплуатации данных.