WooCommerce: потребность в таблицах пользовательских заказов

Опубликовано: 2022-06-22

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

Каждый раз, когда потребитель размещает заказ в магазине WooCommerce, он добавляет десятки данных о заказе и записей в таблицу базы данных postmeta WordPress, что создает серьезную проблему для магазинов, обрабатывающих огромные объемы заказов, и в конечном итоге приводит к снижению производительности.

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

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

В этой статье мы познакомим вас с пользовательскими таблицами заказов WooCommerce — что это такое, новые таблицы, добавленные в структуру, и как они могут принести пользу вашему магазину WooCommerce. Давайте начнем!

До таблиц пользовательских заказов WooCommerce

По мере роста магазинов электронной коммерции им необходимо хранить больше данных и информации о клиентах в своих базах данных, что было серьезной проблемой при запуске WooCommerce. И изначально WooCommerce никогда не предназначался для хранения или обработки такого огромного объема данных.

Ситуация изменилась, когда WooCommerce представила новую версию WooCommerce 3.0 и призвала разработчиков использовать объекты CRUD . CRUD расшифровывается как Create Retrieve Update и Delete — общие операции с базой данных для данных. Это открыло множество возможностей для разработчиков, включая абстрагирование данных от его реализации и предоставление абстракции над прямым доступом к базе данных.

Скорее всего, вы по-прежнему будете использовать структуры таблиц базы данных wp_post и wp_postmeta для хранения различных данных, включая заказы, купоны и продукты; однако проблема начинается, когда пришло время масштабировать ваш магазин WooCommerce, и вы получаете сотни заказов клиентов в день.

Каждый размещенный заказ вызывает update_post_meta() , что означает каждый раз отдельные запросы для вставки данных без решения для массовой вставки для метаданных поста. Вот тут-то и появляется идея пользовательских таблиц .

Вы можете переместить данные из postmeta в пользовательские таблицы, что значительно сократит общее количество запросов на вставку заказа на 80% — таким образом, сведя к минимуму узкое место в объеме заказа.

Давайте узнаем больше о функциях и о том, что нового в таблицах пользовательских заказов WooCommerce.

Что нового в таблицах пользовательских заказов WooCommerce?

Пользовательские таблицы заказов — это решение, которое обеспечивает простую для понимания и надежную структуру базы данных, специально разработанную для нужд электронной коммерции. Он использует дизайн WooCommerce CRUD для хранения данных о заказах в одной плоской таблице, оптимизированной для запросов WooCommerce с минимальным влиянием на производительность магазина.

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

  1. Масштабируемость

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

С пользовательскими таблицами заказов WooCommerce вы получаете выделенные таблицы для данных, таких как заказы и адреса заказов, и, следовательно, выделенные индексы, меньше операций чтения/записи и меньше занятых таблиц. Эта функция позволяет магазинам электронной коммерции всех форм и размеров максимально масштабировать свой бизнес без вмешательства специалистов.

  1. Надежность

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

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

  1. Простота

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

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

Обратная совместимость

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

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

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

Требования к таблицам пользовательских заказов WooCommerce

Вот основные требования для использования пользовательских таблиц заказов WooCommerce:

  • У вас должна быть версия WooCommerce 3.5.1 или новее.
  • У вас также должна быть возможность запускать команды WP-CLI в вашей среде WooCommerce, если вы хотите перенести существующие данные заказа.

Эта команда будет иметь решающее значение при переносе данных заказа из метаданных поста в новые таблицы заказов.

Общая структура таблиц пользовательских заказов WooCommerce

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

Вот новые таблицы, которые вы можете увидеть в общей структуре таблиц для заказов.

  • Основные таблицы: как следует из названия, основные таблицы будут хранить основные определенные свойства заказа WooCommerce. Эти свойства включают в себя большинство полей метатаблицы и полей из таблицы сообщений.

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

  • Мета-таблица: Мета-таблица действует как хранилище для любых одноразовых значений, связанных с заказом. Вы также можете использовать эту таблицу в качестве запасного места для переноса метаданных, которые не являются частью базовой модели заказа.
  • Дополнительные таблицы плагинов: в настоящее время не существует стандартного решения для хранения данных и информации плагинов, и некоторые плагины в конечном итоге хранят данные в таблицах сообщений. Новая структура таблицы заказов предлагает решение для плагинов WooCommerce, которым требуется хранить частые данные для каждого заказа и доставки.

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

Вот предлагаемая структура таблицы для данных заказа:

Источник

Вот список новых таблиц , которые являются частью метаданных и основных таблиц, с их назначением:

  • wp_wc_orders: эта таблица содержит большинство текущих основных полей и важных мета-ключей.
  • wp_wc_order_addresses: в этой таблице будут храниться адреса, связанные с заказами, включая адреса доставки и выставления счетов.
  • wp_wc_order_operational_data: WooCommerce будет использовать эту таблицу для хранения флагов и полей, которые они используют для поддержания внутренней структуры заказа. Они будут держать это поле отдельно от основной таблицы заказов из-за более частых изменений в этих полях.
  • wp_wc_order_meta: эта таблица будет функционировать аналогично таблице wp_postmeta ; однако это также позволит расширениям хранить одноразовые данные, связанные с заказами.
  • wp_wc_order_notes, wp_wc_order_notes_meta: ранее wp_comments и wp_commentmeta сохраняли примечания к заказу. Но эти новые таблицы теперь будут обрабатывать и хранить примечания к заказу.

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

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

Вы также можете просмотреть структуру отдельной новой таблицы здесь.

Часто задаваемые вопросы: таблицы пользовательских заказов WooCommerce

Здесь мы отвечаем на некоторые часто задаваемые вопросы о таблицах пользовательских заказов WooCommerce.

  1. Когда будет выпущена функция пользовательских столов заказов?

Команда разработчиков WooCommerce стремится завершить и выпустить первоначальную реализацию функции к третьему кварталу 2022 года. В настоящее время команда отслеживает проект на GitHub.

  1. Какой будет структура таблицы?

Вот предлагаемый дизайн структуры таблицы для данных заказа командой WooCommerce.

  1. Помогает ли это также включать больше структур электронной почты?

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

  1. Смогу ли я хранить поля, которые раньше не мог?

Да, эта функция также удаляет поля, требующие вычисления и ранее не сохранявшиеся, такие как product_tax_amount и product_total_amount.

Вывод

Таблицы пользовательских заказов WooCommerce будут играть важную роль в масштабировании крупных магазинов электронной коммерции и решении самой важной проблемы с производительностью: большого объема заказов.

Хотя проект все еще находится в стадии реализации и должен быть выпущен в третьем квартале 2022 года, вы можете следить за проектом на официальной доске проектов GitHub.

Вы также можете ожидать регулярных обновлений, заметок о разработке и объявлений в этом блоге по мере продвижения реализации, и WooCommerce делает обновления доступными.