WooCommerce: カスタムオーダーテーブルの必要性
公開: 2022-06-22最適なパフォーマンスを確保しながら WooCommerce ストアをスケーリングし、すべての注文と顧客をそのまま維持しながらステージングからストアをプッシュすることは、今日でもストアが直面している重大な問題です。
消費者が WooCommerce ストアで注文するたびに、WordPress の postmeta データベース テーブルに多数の注文データとエントリが追加されます。これは、大量の注文を処理するストアにとって大きな問題となり、最終的にはパフォーマンスの低下につながります。
そのため、WooCommerce は、サイトや既存の拡張機能に影響を与えることなく、この問題を解決し、WooCommerce エンティティごとに個別のカスタム テーブルを作成するよう、長年にわたっていくつかのリクエストを受け取りました。
そして最後に、WooCommerce は現在、ボトルネックの問題を解決し、ストアの安定性を確保するために、カスタム オーダー テーブルの実装に取り組んでいます。
この記事では、WooCommerce のカスタム オーダー テーブルについて紹介します。それは何であり、構造に追加された新しいテーブルと、それらが WooCommerce ストアにどのように役立つかです。 さぁ、始めよう!
WooCommerce カスタム オーダー テーブルの前に
e コマース ストアが成長するにつれて、より多くのデータと顧客情報をデータベースに保存する必要があり、これは WooCommerce が始まったときの大きな問題でした。 そして当初、WooCommerce は、そのような膨大な量のデータを保存または処理することを意図したものではありませんでした。
WooCommerce が WooCommerce 3.0 の新しいバージョンを導入し、開発者にCRUDオブジェクトの使用を奨励したとき、状況は変わりました。 CRUD はCreate Retrieve Update and Deleteの略で、データに対する一般的なデータベース操作です。 実装からのデータの抽象化や、データベースへの直接アクセスに対する抽象化の提供など、開発者に多くの可能性をもたらしました。
注文、クーポン、製品などのさまざまなデータを保存するために、 wp_postおよびwp_postmetaデータベース テーブル構造を引き続き使用する可能性が高くなります。 ただし、問題は WooCommerce ストアを拡張するときに始まり、1 日に何百もの顧客注文を受けます。
発注された各注文はupdate_post_meta()を呼び出します。これは、投稿メタの一括挿入の解決策がないデータを挿入するたびに個別のクエリを意味します。 ここで、カスタム テーブルのアイデアが登場します。
postmeta からカスタム テーブルにデータを移動できます。これにより、注文挿入クエリの総数が80%大幅に削減され、注文量のボトルネックが最小限に抑えられます。
WooCommerce カスタム注文テーブルの機能と新機能について詳しく学びましょう。
WooCommerce カスタム オーダー テーブルの新機能
カスタム オーダー テーブルは、e コマースのニーズに合わせて特別に設計された、理解しやすく堅牢なデータベース構造を提供するソリューションです。 WooCommerce CRUD 設計を使用して、注文データを単一のフラットなテーブルに保存します。ストアのパフォーマンスへの影響を最小限に抑えて、WooCommerce クエリ用に最適化されています。
カスタム注文テーブルを WooCommerce コアに導入することで、e コマース ストアに不可欠なこれら 3 つの特性が改善されます。
- スケーラビリティ
前述のように、顧客数と顧客注文の増加により、ストアのデータベースの負荷が増加し、顧客の注文要求を処理して質の高いユーザー エクスペリエンスを提供することが非効率になります。 さらに、数千行の 1 つのデータベースを管理することは、深刻な問題を引き起こしました。
WooCommerce カスタム注文テーブルを使用すると、注文や注文アドレスなどのデータ専用のテーブルが得られるため、専用のインデックス、読み取り/書き込み操作の削減、ビジー テーブルの削減が実現します。 この機能により、あらゆる形態と規模の e コマース ストアは、専門家の介入なしに、ビジネスを最大限に拡大できます。
- 信頼性
WooCommerce カスタム オーダー テーブルにより、対象データのバックアップの実装と復元が容易になります。 カスタム注文テーブルの信頼できるバックアップにより、注文、在庫数、または顧客情報を失うことを心配する必要がなくなります。
さらに、読み取り/書き込みロックの実装を容易にし、競合状態を防止します。 さらに、WP を復元したい場合に備えて、WooCommerce はそのまま残ります。
- シンプルさ
基になるデータと WooCommerce エントリを見つけるために、単一の巨大なデータベースを調べる必要はもうありません。
代わりに、WP の投稿とは関係なく、個別のテーブルと扱いやすいエントリを簡単に参照して、データを見つけたり、テーブル構造を理解したりすることができます。 また、新しいプラグインを簡単に開発したり、ショップや製品のデザインを実装したり、WooCommerce をより巧妙に変更したりすることもできます.
下位互換性
ロールアウト中、WooCommerce は、デフォルトの更新ではなく、オプトイン機能として WooCommerce カスタム注文テーブルを提供することを目指しています。
この下位互換性により、既存の e コマース ストアが WooCommerce と連携し、新しいデータベース構造を採用し、ショップが新しい機能と互換性を持つようにするのに十分な時間が与えられます。
したがって、開発者がテーブル構造を完全に活用できるようになる前に、機能を回避するための十分な時間が与えられます。 また、WooCommerce は、カスタム オーダー テーブルの採用をサポートするために、定期的なアップグレード ガイドを発行する予定です。
WooCommerce カスタム オーダー テーブルの要件
WooCommerce カスタム注文テーブルを使用するための基本的な要件は次のとおりです。
- WooCommerce 3.5.1 以降のバージョンが必要です。
- 既存の注文データを移行する場合は、WooCommerce 環境で WP-CLI コマンドを実行する機能も必要です。
このコマンドは、注文データをポスト メタから新しい注文テーブルに移行する際に重要です。
WooCommerce カスタムオーダーテーブルの一般的なテーブル構造
カスタム オーダー テーブルが e コマース ストアにどのように役立つかを確認したので、テーブルの構造と、新しい構造との違いを見てみましょう。
以下は、注文の一般的なテーブル構造で確認できる新しいテーブルです。
- コア テーブル:名前が示すように、コア テーブルには WooCommerce コア定義の注文プロパティが格納されます。 これらのプロパティには、ほとんどのメタ テーブル フィールドとポスト テーブルのフィールドが含まれます。
WooCommerce は、このテーブル グループをカスタム オーダー テーブル プロジェクトの中心的な目標と考えており、データをコア テーブルに移行することを目指しています。
- メタ テーブル:メタ テーブルは、注文に関連する 1 回限りの値のストレージとして機能します。 このテーブルをフォールバックの場所として使用して、コア注文モデルの一部ではないメタデータを移行することもできます。
- 追加のプラグイン テーブル:現在、プラグインのデータと情報を格納するための標準的なソリューションはなく、いくつかのプラグインはポスト テーブルにデータを格納することになります。 新しい注文テーブル構造は、注文と配送ごとに頻繁にデータを保存する必要がある WooCommerce プラグインにソリューションをもたらします。
必須の要件ではありませんが、ストアが複数のプラグインを使用して、トラフィックのピーク時に信頼できるストアのパフォーマンスとアップタイムを確保する場合に最適なソリューションです。 WooCommerce は、これらのテーブルへのデータの構築と移行を簡単にするための便利なツールとガイドの構築も計画しています。
注文データの提案されたテーブル構造は次のとおりです。
メタデータおよびコア テーブルの一部である新しいテーブルとその目的のリストを次に示します。
- wp_wc_orders:このテーブルには、現在のコア フィールドと重要なメタ キーのほとんどが含まれています。
- wp_wc_order_addresses:このテーブルには、配送先住所や請求先住所など、注文に関連付けられた住所が格納されます。
- wp_wc_order_operational_data: WooCommerce はこのテーブルを使用して、内部注文構造を維持するために使用するフラグとフィールドを保存します。 これらのフィールドはより頻繁に変更されるため、このフィールドはコア注文テーブルとは別に保持されます。
- wp_wc_order_meta:このテーブルはwp_postmetaテーブルと同様に機能します。 ただし、拡張機能が注文に関連する 1 回限りのデータを保存することもできます。
- wp_wc_order_notes、wp_wc_order_notes_meta:以前は、 wp_commentsとwp_commentmetaに注文メモが保存されていました。 ただし、これらの新しいテーブルは注文メモを処理および保存するようになりました。
したがって、WooCommerce は、多数のプラグインを使用し、投稿メタ テーブルに大量のデータを格納する e コマース ストアに、この更新を使用して専用のカスタム テーブルを活用することを推奨しています。
さらに、まだ移行されていない拡張データを保存するためのより優れたバックアップ ソリューションであるため、開発者が一般的な注文関連の値にwp_wc_orders_metaを使用しないことをお勧めします。
ここで、個々の新しいテーブルの構造を表示することもできます。
FAQ: WooCommerce カスタムオーダーテーブル
ここでは、WooCommerce カスタム オーダー テーブルに関するよくある質問に回答します。
- カスタム オーダー テーブル機能はいつリリースされますか?
WooCommerce 開発チームは、2022 年第 3 四半期までに最初の機能の実装を完了してリリースすることを目指しています。現在、チームは GitHub でプロジェクトを追跡しています。
- テーブル構造はどうなりますか?
WooCommerce チームが提案した注文データのテーブル構造設計を次に示します。
- また、より多くの電子メール構造を含めるのにも役立ちますか?
はい、メール フィールドの長さが 100 から 320 に増加したため、ほとんどのメール構造に対応できます。
- 以前は保存できなかったフィールドを保存できるようになりますか?
はい、この機能は、 product_tax_amountやproduct_total_amount など、計算が必要で以前に保存されなかったフィールドも削除します。
結論
WooCommerce のカスタム注文テーブルは、大規模な e コマース ストアをスケーリングし、最も重要なパフォーマンスのボトルネック問題である大量の注文を解決する上で重要な役割を果たします。
プロジェクトはまだ実装中であり、2022 年第 3 四半期にリリースされる予定ですが、公式の GitHub プロジェクト ボードでプロジェクトについていくことができます。
また、実装が進行し、WooCommerce が更新を利用できるようになると、このブログで定期的な更新、開発ノート、および発表を期待できます。