Вход Регистрация
ruen

Свой NoSQL - хранение данных в файлах и не только в базе данных. Хранение настроек, небольших данных и файлов кеширования

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

svoy-nosql-hranenie-dannyh-v

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

Постепенно стали появляться также базы данных нереляционного вида, где хранение данных реализовано не только в таблицах, но и в обычных файлах разных удобных форматов. Сегодня такого программного обеспечения (ПО) достаточно много, и оно негласно стало описываться концепцией под названием NoSQL (не только SQL). Кроме преимуществ, среди которых простота работы и скорость, у NoSQL подхода есть и недостатки. Например, необходимость контролировать работу с БД средствами своего кода, иначе возможны конфликты и потери данных.

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

Хранение настроек

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

Хранение временных или небольших данных

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

Хранение данных в БД в сериализованном виде

Небольшие фрагменты данных, включая временные данные, могут быть сохранены в БД в сериализованном виде. Например, в PHP для этого есть удобная функция serialize и обратная unserialize – после сериализации данные можно сохранить в БД и при необходимости выгружать их, выполнять десериализацию и использовать в коде.

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

id (идентификатор);

name (название данных);

data (сериализованные данные).

Для удобной работы можно написать API для работы с этой таблицей. Он может содержать базовые операции:

set (сериализация, после чего добавление или обновление);

get (получение и десериализация);

delete (удаление).

Удобство заключается в том, что не нужно специально создавать новые таблицы для несущественных данных.

Хранение файлов с кешем

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

Комментарии (0)
Для комментирования войдите или зарегистрируйтесь.

Последние статьи

Популярные разделы

Общение

Вход в веб-версию
Приложение для Android:
Доступно в Google Play

Поделиться

Подписаться

YouTube