Телефон: 8-800-350-22-65
WhatsApp: 8-800-350-22-65
Telegram: sibac
Прием заявок круглосуточно
График работы офиса: с 9.00 до 18.00 Нск (5.00 - 14.00 Мск)

Статья опубликована в рамках: Научного журнала «Студенческий» № 16(60)

Рубрика журнала: Информационные технологии

Скачать книгу(-и): скачать журнал часть 1, скачать журнал часть 2, скачать журнал часть 3

Библиографическое описание:
Сокеран Н.С. АНАЛИЗ ПОДХОДОВ К ОРГАНИЗАЦИИ КЭШИРОВАНИЯ ДАННЫХ // Студенческий: электрон. научн. журн. 2019. № 16(60). URL: https://sibac.info/journal/student/60/139133 (дата обращения: 15.05.2024).

АНАЛИЗ ПОДХОДОВ К ОРГАНИЗАЦИИ КЭШИРОВАНИЯ ДАННЫХ

Сокеран Никита Сергеевич

студент 2 курса магистратуры, кафедра информационных систем, Университет ИТМО,

РФ, г. Санкт-Петербург

Обозначения и сокращения:

СХД - Система хранения данных [1]

Введение

В компаниях, разрабатывающих СХД производятся множество тестов для тестирования различных аспектов работы СХД, среди которых может быть проверка надёжности, скорости работы, и т.д. После осуществления тестирования может быть произведен анализ результатов, для получения дополнительной информации о произведенном тесте с использованием его выходных файлов. Так же, в рамках тестирования СХД может производиться просмотр ранее осуществленных тестов, например, для возможной корректировки условий проведения теста или для осуществления дополнительного анализа результатов тестирования. В связи с присутствием данных шагов, возникает необходимость использования кэширования данных для ускорения работы с данными, подходы к которым и будут рассмотрены ниже.

Основная часть

Рассмотрим различные подходы к организации кэширования данных используя текущую монолитную архитектуру приложения.

 

Рисунок 1. Диаграмма развёртывания до использования кэширования

 

На рисунке 1 изображена системная архитектура системы, отображающая текущую реализацию системы. В данной реализации все данные хранятся в сетевой файловой системе, откуда они загружаются модулем работы с данными в серверном приложении. В дальнейшем данные используются модулем визуализации для обработки данных для их дальнейшей визуализации.

Рассмотрим различные подходы к организации кэширования данных. На рис. 2 [2] изображена схема использования глобального кэша для ускорения доступа к наиболее часто используемым данным.

 

Рисунок 2. Использование глобального кэша

 

При использовании данного подхода происходит ускорение доступа к данным за счёт того, что глобальный кэш предоставляет данные быстрее, чем нижележащий слой данных. Данный подход решает проблему низкой скорости при доступе к данным, но не решает другую существенную проблему, проблему локальности данных. При необходимости загрузить данные и произвести их обработку при данном подходе узел, на котором происходит обработка данных и узел хранящие данные разные, соответственно присутствуют дополнительные накладные расходы на загрузку данных из кэша.

Рассмотрим подход с использованием распределённого кэша, схема которого изображена на рисунке 3 [2].

 

Рисунок 3. Использование распределенного кэша

 

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

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

Разработанная системная архитектура

На рисунке 4 изображена спроектированная системная архитектура системы. Ниже описаны компоненты системы. Данная диаграмма описывает пример с использованием двух серверов доступа к данным, которые могут быть добавлены при необходимости.

  • Модуль работы с данными – программный компонент, осуществляющую работу с данными, хранящимся в Hazelcast.
  • Модуль визуализации – программный компонент, позволяющий осуществлять визуализацию данных и использует информацию из MongoDB, а также использует модуль работы с данными и модуль работы с тестами.
  • Модуль работы с тестами – программный компонент, который позволяет получать информацию о тестах, типах тестов и осуществлять действия с ними используя MongoDB как источник данных.
  • Приложение доступа к данным – приложение, включающее в себя Hazelcast, которое осуществляет прямой доступ к данным в сетевой файловой системе и осуществляет его дальнейшее кэширование, а также содержит модуль работы с данными, который производит обработку данных.

 

Рисунок 4. Системная архитектура

 

Выводы

В результате была рассмотрена текущая системная архитектура, существующий процесс работы с данными и рассмотрены различные подходы к кэшированию данных, их слабые и сильные стороны. В результате сравнения был осуществлён выбор подход, с использованием которого была разработана новая системная архитектура.

 

Список литературы:

  1. Отдел информатизации образования, «Система Хранения Данных  (СХД)», [Электронный ресурс]. URL: http://hotuser.ru/shd
  2. Scalable Web Architecture and Distributed Systems [Электронный ресурс] URL: https://www.aosabook.org/en/distsys.html

Оставить комментарий

Форма обратной связи о взаимодействии с сайтом
CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.