Вход Регистрация
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)
Для комментирования войдите или зарегистрируйтесь.
Оставить заявку

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

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

Eqsash (Инструменты)

Приложение для Android - VK LAST USER ID, отучитель от зависимости и т.д.:
Доступно в Google Play

Amessage (Общение)

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

Поделиться

Подписаться

YouTube

Книги

IT-заметки - Простым языком о самом нужном (HTML, CSS, JavaScript, PHP, базы данных, Drupal, Битрикс, SEO, домены, безопасность и другое), PDF, 500 стр.