Следует ли мне хранить данные внешнего API в своей базе данных WP или оставить их в виде временных данных?

Вопрос или проблема

Я нахожусь в ситуации, когда мне нужно использовать данные из API (XML), предоставляемого сторонним сервисом, в моем сайте на WordPress. Эти данные будут обновляться в указанном стороннем приложении.

В частности, это данные о недвижимости, которые хранятся в этом стороннем веб-приложении. Данные доступны в формате XML. Я хотел бы разрешить отображение этих данных на сайте WP, а также поиск и, в конечном итоге, переход на указанное приложение для бронирования.

В данный момент у меня есть три варианта, и я хотел бы знать, какой из них предпочтителен.

Вариант 1:

Сохранить xml со всеми данными, используя временный API в WordPress, и получать доступ к данным с помощью Ajax в шаблоне поста.

Вариант 2:

Сохранить xml со всеми данными, используя временный API в WordPress, и получать доступ к данным с помощью PHP в шаблоне поста.

Вариант 3:

Импортировать данные в базу данных WP в виде пользовательских постов и связанных метаданных?

Данные доступны только в формате XML (поэтому я это упоминаю).

Мои конкретные опасения заключаются в том, что отсутствие данных в базе данных WP может привести к невозможности поиска/сортировки данных с использованием функций WP.

Я только начинаю разработку плагина сейчас, и решение о том, как использовать данные, определит направление разработки.

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

Ответ или решение

Хранение данных внешнего API в базе данных WordPress или использование временного хранения?

С точки зрения проектирования архитектуры данных для вашего WordPress (WP) сайта, который будет взаимодействовать с API третьей стороны, есть несколько аспектов, которые необходимо учитывать при выборе метода хранения данных: использование временного хранения (transients) или хранение в базе данных WP.

Определение контекста

Вы хотите интегрировать данные о недвижимости, предоставляемые сторонним API в формате XML, и обеспечить возможность отображения, поиска и бронирования на вашем сайте WP. В связи с этим рассмотрим три предложенных вами варианта:

  1. Вариант 1: Использование временного хранения (transient API) с доступом к данным через Ajax.
  2. Вариант 2: Использование временного хранения с доступом к данным через PHP в шаблоне постов.
  3. Вариант 3: Импорт данных в базу данных WP в виде пользовательских постов и связанных метаданных.

Анализ вариантов

Вариант 1 и Вариант 2: Временное хранение

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

  1. Ограниченные возможности поиска и сортировки: Запросы к временным данным будут ограничены функциональностью WordPress. Вы не сможете использовать стандартные функции поиска и сортировки WP, так как данные будут недоступны в привычной для WP структуре.

  2. Устойчивость к сбоям: В случае сбоя или если данные истекут, у вас могут возникнуть проблемы с отображением данных на сайте. Вам потребуется тщательное управление сроками хранения и периодическое обновление, которое может вызывать задержки.

  3. Отсутствие структуры: Если данные из API довольно обширны, управление их структурированием и связями будет затруднено.

Вариант 3: Импорт в базу данных

Импорт данных в базу данных WP в виде пользовательских постов и метаданных может показаться более сложным на первой стадии разработки, но это также и более надежный подход с точки зрения гибкости и возможностей:

  1. Полный доступ к функциональности WP: Данные будут доступны для поиска, сортировки и фильтрации с использованием всех стандартных возможностей WordPress. Это даст вам легкость в реализации поиска и работы с данными, а также упростит создание интерфейсов для конечных пользователей.

  2. Устойчивость к сбоям: Данные, хранящиеся в базе данных WP, будут менее подвержены потерям, чем временные данные. Даже если API временно недоступен, ваш сайт будет функционировать на базе сохраненных данных.

  3. Гибкость в обработке данных: Хранение данных в базе данных дает вам полную свободу в создании пользовательских полей и а также в разработке более сложных функций управления данными, связанных с их отображением и работой с ними.

Заключение

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

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

Оцените материал
Добавить комментарий

Капча загружается...