WooCommerce: 맞춤형 주문 테이블의 필요성

게시 됨: 2022-06-22

최적의 성능을 보장하면서 WooCommerce 매장을 확장하고 모든 주문과 고객을 그대로 유지하면서 매장을 스테이징에서 라이브로 푸시하는 것은 오늘날에도 매장이 직면한 심각한 문제입니다.

소비자가 WooCommerce 매장에서 주문할 때마다 수십 개의 주문 데이터와 항목이 WordPress 포스트메타 데이터베이스 테이블에 추가됩니다. 이는 엄청난 양의 주문을 처리하고 결국 성능 저하를 초래하는 매장에 큰 문제를 야기합니다.

따라서 WooCommerce는 사이트 및 기존 확장에 영향을 주지 않고 이 문제를 해결하고 각 WooCommerce 엔터티에 대해 별도의 사용자 지정 테이블을 만들기 위해 수년 동안 여러 요청을 받았습니다.

그리고 마지막으로 WooCommerce는 병목 문제를 해결하고 더 많은 매장 안정성을 보장하기 위해 맞춤 주문 테이블 구현을 위해 노력하고 있습니다.

이 기사에서는 WooCommerce 맞춤 주문 테이블이 무엇인지, 구조에 추가된 새 테이블이 무엇인지, WooCommerce 스토어에 어떤 이점이 있는지 소개합니다. 의 시작하자!

WooCommerce 사용자 지정 주문 테이블 이전

전자 상거래 상점이 성장함에 따라 데이터베이스에 더 많은 데이터와 고객 정보를 저장해야 하는데, 이는 WooCommerce가 시작되었을 때 큰 문제였습니다. 그리고 처음에는 WooCommerce가 그렇게 방대한 양의 데이터를 저장하거나 처리할 의도가 없었습니다.

WooCommerce가 새로운 버전의 WooCommerce 3.0을 도입하고 개발자가 CRUD 개체를 사용하도록 권장하면서 상황이 변경되었습니다. CRUD는 Create Retrieve Update and Delete (데이터에 대한 일반적인 데이터베이스 작업)를 나타냅니다. 구현에서 데이터를 추상화하고 직접 데이터베이스 액세스를 통해 추상화를 제공하는 등 개발자에게 많은 가능성을 열어주었습니다.

주문, 쿠폰 및 제품을 비롯한 다양한 데이터를 저장하기 위해 wp_postwp_postmeta 데이터베이스 테이블 구조를 계속 사용할 가능성이 더 큽니다. 그러나 문제는 WooCommerce 매장을 확장할 때 시작되고 하루에 수백 건의 고객 주문을 받습니다.

각 주문은 update_post_meta() 를 호출합니다. 이는 포스트 메타에 대한 대량 삽입에 대한 솔루션 없이 데이터를 삽입하기 위해 매번 별도의 쿼리를 의미합니다. 이것이 맞춤형 테이블 의 아이디어가 나오는 곳입니다.

데이터를 포스트메타에서 사용자 정의 테이블로 이동할 수 있습니다. 이렇게 하면 총 주문 삽입 쿼리 수가 80% 까지 크게 줄어들어 주문 볼륨 병목 현상이 최소화됩니다.

WooCommerce 사용자 지정 주문 테이블의 기능과 새로운 기능에 대해 자세히 알아보겠습니다.

WooCommerce 맞춤 주문 테이블의 새로운 기능은 무엇입니까?

사용자 지정 주문 테이블은 전자 상거래 요구 사항을 위해 특별히 설계된 이해하기 쉽고 견고한 데이터베이스 구조를 제공하는 솔루션입니다. WooCommerce CRUD 디자인을 사용하여 단일 플랫 테이블에 주문 데이터를 저장합니다. 이는 매장 성능에 미치는 영향을 최소화하면서 WooCommerce 쿼리에 최적화되어 있습니다.

WooCommerce 코어에 맞춤 주문 테이블을 가져오면 전자 상거래 상점에 대한 이러한 세 가지 필수 속성이 향상됩니다.

  1. 확장성

앞서 논의한 바와 같이 고객 수와 고객 주문이 증가하면 매장 데이터베이스의 로드가 증가하여 고객 주문 요청을 처리하고 양질의 사용자 경험을 제공하는 것이 비효율적입니다. 또한 수천 개의 행이 있는 하나의 데이터베이스를 관리하는 것은 심각한 문제를 야기했습니다.

WooCommerce 사용자 지정 주문 테이블을 사용하면 주문 및 주문 주소와 같은 데이터에 대한 전용 테이블을 얻을 수 있으므로 전용 인덱스, 읽기/쓰기 작업 및 사용량이 적은 테이블이 줄어듭니다. 이 기능을 통해 모든 형태와 규모의 전자 상거래 상점은 전문가의 개입 없이 비즈니스를 최대한으로 확장할 수 있습니다.

  1. 신뢰할 수 있음

WooCommerce 사용자 지정 주문 테이블을 사용하면 대상 데이터 백업을 보다 쉽게 ​​구현하고 복원할 수 있습니다. 맞춤형 주문 테이블의 안정적인 백업을 통해 더 이상 주문, 재고 번호 또는 고객 정보 분실에 대해 걱정할 필요가 없습니다.

또한 읽기/쓰기 잠금 구현을 용이하게 하고 경쟁 조건을 방지합니다. 또한 WP를 복원하려는 경우 WooCommerce는 그대로 유지됩니다.

  1. 간단

더 이상 기본 데이터와 WooCommerce 항목을 찾기 위해 하나의 거대한 데이터베이스를 거치지 않아도 됩니다.

대신 WP 게시물과 별개로 별도의 테이블과 다루기 쉬운 항목을 쉽게 탐색하여 데이터를 찾거나 테이블 구조를 이해할 수 있습니다. 또한 새로운 플러그인을 쉽게 개발하고 상점 및 제품을 위한 디자인을 구현하고 WooCommerce를 더욱 정교하게 수정할 수 있습니다.

하위 호환성

출시 기간 동안 WooCommerce는 WooCommerce 사용자 지정 주문 테이블을 기본 업데이트 대신 옵트인 기능으로 제공하는 것을 목표로 합니다.

이 이전 버전과의 호환성은 기존 전자 상거래 상점이 WooCommerce와 함께 작업하고 새로운 데이터베이스 구조를 채택하며 상점이 새로운 기능과 호환되도록 할 수 있는 충분한 시간을 제공합니다.

따라서 개발자가 테이블 구조를 완전히 활용하기 전에 기능을 해결할 수 있는 충분한 시간이 주어집니다. WooCommerce는 또한 사용자 지정 주문 테이블 채택을 지원하기 위해 정기적인 업그레이드 가이드를 게시할 계획입니다.

WooCommerce 사용자 지정 주문 테이블에 대한 요구 사항

WooCommerce 사용자 지정 주문 테이블을 사용하기 위한 기본 요구 사항은 다음과 같습니다.

  • WooCommerce 3.5.1 이상 버전이 있어야 합니다.
  • 또한 기존 주문 데이터를 마이그레이션하려면 WooCommerce 환경에서 WP-CLI 명령을 실행할 수 있어야 합니다.

이 명령은 포스트 메타에서 새 주문 테이블로 주문 데이터를 마이그레이션하는 데 중요합니다.

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_commentswp_commentmeta가 주문 메모를 저장했습니다. 그러나 이러한 새 테이블은 이제 주문 메모를 처리하고 저장합니다.

따라서 WooCommerce는 많은 플러그인을 사용하고 포스트 메타 테이블에 엄청난 양의 데이터를 저장하는 전자 상거래 상점에서 이 업데이트를 사용하고 전용 사용자 정의 테이블을 활용하도록 권장합니다.

또한 개발자가 일반적인 주문 관련 값에 wp_wc_orders_meta 를 사용하지 않는 것이 좋습니다. 아직 마이그레이션되지 않은 확장 데이터를 저장하는 더 나은 백업 솔루션이기 때문입니다.

여기에서 개별 새 테이블의 구조를 볼 수도 있습니다.

FAQ: WooCommerce 맞춤 주문 표

여기에서는 WooCommerce 사용자 지정 주문 테이블에 대해 자주 묻는 질문에 답변합니다.

  1. 커스텀 오더 테이블 기능은 언제 출시되나요?

WooCommerce 개발 팀은 2022년 3분기까지 초기 기능 구현을 완료하고 출시하는 것을 목표로 하고 있습니다. 현재 팀은 GitHub에서 프로젝트를 추적하고 있습니다.

  1. 테이블 구조는 어떻게 될까요?

다음은 WooCommerce 팀이 제안한 주문 데이터에 대한 테이블 구조 디자인입니다.

  1. 또한 더 많은 이메일 구조를 포함하는 데 도움이 됩니까?

예, 이메일 필드 길이가 100에서 320으로 증가하여 대부분의 이메일 구조를 수용할 수 있습니다.

  1. 이전에 할 수 없었던 필드를 저장할 수 있습니까?

예, 이 기능은 product_tax_amountproduct_total_amount와 같이 계산이 필요하고 이전에 저장되지 않은 필드도 삭제합니다.

결론

WooCommerce 맞춤형 주문 테이블은 대형 전자 상거래 매장을 확장하고 가장 중요한 성능 병목 현상인 대량 주문을 해결하는 데 중요한 역할을 합니다.

프로젝트가 아직 구현 중이고 2022년 3분기에 출시될 예정이지만 공식 GitHub 프로젝트 보드에서 프로젝트를 따라갈 수 있습니다.

구현이 진행되고 WooCommerce에서 업데이트를 제공함에 따라 이 블로그에서 정기적인 업데이트, 개발 노트 및 발표를 기대할 수도 있습니다.