데이터 기반 WordPress 웹 사이트를 구축하는 방법

게시 됨: 2023-02-13

대부분의 비즈니스 의사 결정이 데이터에 의해 결정되는 세상에 살고 있기 때문에 데이터 기반 웹 사이트에 대한 필요성은 수년에 걸쳐 증가하고 있습니다. 데이터 생성량은 전 세계적으로 최대 180제타바이트에 이를 수 있습니다.

데이터베이스 기반 웹 사이트를 개발하는 것은 어려운 작업입니다. 매 순간 CMS는 데이터로 넘쳐나고 해당 데이터를 효과적으로 처리하는 것이 어렵습니다.

걱정하지 마세요!

여기에서는 데이터 기반 WordPress 웹 사이트를 개발하는 방법을 설명했습니다. 하지만 그 전에 데이터 기반 웹사이트가 무엇인지 이해해 볼까요?

목차

  • 데이터 기반 웹사이트란 무엇입니까?
  • 콘텐츠 관리 시스템으로서의 WordPress는 데이터 기반 웹 사이트에 적합합니다.
  • WordPress에 저장된 데이터
  • WordPress 데이터베이스 구조에서 직면하는 일반적인 문제
  • WordPress 데이터베이스 구조의 한계
  • 가능한 해결책

데이터 기반 웹사이트란?

데이터 기반 웹 사이트는 정적 변형과 크게 다릅니다. 한 가지 중요한 차이점은 관리자가 새 데이터가 나타날 때 데이터 기반 웹 사이트를 신속하게 업데이트할 수 있다는 것입니다.

사실, 그러한 웹사이트의 유일한 목적은 최신 콘텐츠를 표시하는 것입니다. 따라서 정적인 웹사이트와 달리 정기적으로 정시에 업데이트됩니다.

즉, 데이터 기반 웹 사이트는 일회성 프로젝트가 아닙니다. 진행 중인 프로세스입니다. 즉, 웹 사이트는 빈번한 변경 사항을 혼합할 수 있을 만큼 유연해야 합니다.

결론은 웹사이트 데이터베이스가 데이터 기반 웹사이트에서 가장 큰 영향을 받는 요소라는 것입니다. 이 점을 설명하기 위해 몇 가지 예를 살펴보겠습니다.

  • 온라인 상점에서 웹 사이트 데이터베이스는 새 주문이 접수되거나 새 고객이 가입할 때마다 계속 변경됩니다.
  • 많은 웹사이트가 타사 플랫폼에서 데이터를 수집합니다. 이 데이터를 저장한 다음 이해하기 쉬운 형식으로 필터링하고 표시할 수 있습니다. 이로 인해 데이터베이스에서 최적화가 필요합니다.
  • 또 다른 시나리오는 웹 사이트 데이터베이스가 더 자주 업데이트되고 업데이트된 데이터를 표시하기 전에 처리하려는 경우입니다. WordPress 데이터베이스 최적화가 필요한 곳이기도 합니다.

CMS로서의 WordPress는 데이터 기반 웹 사이트에 적합합니다.

데이터 기반 웹 사이트가 효율적으로 작동하려면 콘텐츠 관리 시스템(CMS)이 필요합니다. CMS를 사용하면 웹 사이트 콘텐츠를 쉽고 체계적으로 관리할 수 있습니다. 그리고 WordPress는 청구서에 맞는 가장 인기있는 CMS입니다.

WordPress 기본 데이터베이스 스키마는 프런트엔드 및 백엔드 사이트에 대한 모든 요청에서 개발자가 사용하는 두 개의 테이블로 구성됩니다. 또한 게시물 및 페이지, 댓글, 용어, 사용자 계정 및 설정에 대한 많은 테이블이 있습니다.

WordPress 작성자는 리소스 사용을 최적화하고 거의 무한한 양의 데이터를 저장하도록 테이블을 설계했습니다.

WordPress에 저장된 데이터

WordPress를 사용하면 사용자 지정 엔터티를 특정 사용자와 관련된 고유 식별자, 이름, 콘텐츠 또는 생성/수정 날짜가 있는 게시물, 개체로 저장할 수 있습니다.

메타 항목은 게시물과 연결된 키-값 쌍을 사용합니다. 사실 엔티티를 게시물로 원활하게 조작하고 메타 매개변수 세트를 게시물에 추가할 수 있습니다. 이 범용 사후 지향 접근 방식은 데이터베이스 서버에서 데이터를 저장하고 검색하는 가장 쉽고 빠른 방법입니다.

WordPress 데이터베이스 구조에서 직면하는 일반적인 문제

모든 WordPress 사이트는 데이터베이스를 어느 정도 사용하여 콘텐츠를 저장하고 제공합니다. WordPress는 게시물에 대한 매우 직관적인 메커니즘을 제공합니다. 그러나 동시에 데이터베이스 성능 문제에 대한 관문을 엽니다. 주로 정적 콘텐츠에 중점을 둔 소규모 사이트는 이 기본 제공 솔루션에서 매우 효율적으로 재생할 수 있습니다. 그러나 위의 예에서 언급한 더 크고 복잡한 서비스에는 더 현명한 접근 방식이 필요합니다.

WordPress에 데이터를 추가하기 시작하면 키-값 쌍으로 인해 포스트 메타 테이블의 크기가 증가하기 시작합니다. 웹사이트를 통해 추가하는 모든 것은 포스트 메타에 정보를 저장해야 할 것입니다.

데이터가 사용자에게 표시되기 전에 백그라운드에서 처리되는 경우 데이터 전달 문제가 발생할 수 있습니다. 예를 들어 매일 수천 건의 주문을 받는 경우 월별 및 주별 수익 보고서를 생성할 때 문제에 직면하게 됩니다.

이것은 다른 인스턴스에도 적용됩니다. 예를 들어 타사 플랫폼에서 웹 사이트 데이터베이스를 더 자주, 더 많이 제공하는 경우 포스트 메타 테이블 크기가 커지면 최신 데이터를 필터링하고 표시하려고 할 때 문제가 발생합니다. 이는 데이터베이스 쿼리가 해당 데이터를 처리하는 데 더 많은 시간이 걸리기 때문에 발생합니다.

WordPress 데이터베이스 구조의 한계

이 문제의 원인은 무엇입니까?

WordPress에서 게시물 메타 테이블은 게시물과 관련된 키-값 쌍을 사용합니다. 즉, 고객이 온라인 WordPress 기반 상점에서 구매하는 경우 모든 데이터를 키-값 쌍으로 저장합니다.

열쇠
주문 아이디 1001
이름 남자
암사슴
구입 날짜 2023년 1월 1일
주문 아이디 1002
이름 케빈
주목
구입 날짜 2023년 1월 1일

이러한 문제는 행 수를 최소화하고 열로 변환하여 키-값 쌍을 아래와 같이 설계해야만 해결할 수 있습니다. 불행히도 그것은 우리 손에 없습니다.

열쇠 주문 아이디 이름
1001 남자 암사슴 2023년 1월 1일
1002 케빈 주목 2023년 1월 1일

포스트 메타 테이블에서 더 적은 공간을 차지합니다. 하지만 워드프레스 데이터베이스 구조에 따라 포스트 메타 테이블이 전역적으로 사용되며 이를 변경할 방법이 없습니다.

가능한 해결책

운 좋게도 이 피클에서 벗어날 수 있도록 두 가지 가능한 솔루션을 찾았습니다.

그들은:

1. 해결 방법 1(맞춤 주문 테이블 사용)

기본 WP post_meta 테이블의 구조를 최적화할 수는 없지만 요구 사항에 맞는 테이블을 만들고 거기에 주문 데이터를 저장할 수 있습니다. 기본 WooCommerce 주문 기능을 약간 변경해야 하므로 노련한 WordPress 전문가와 협력해야 합니다.

다음은 단계별 프로세스입니다.

  • 워드프레스 전문가의 도움을 받아 아래와 같이 최적화된 맞춤 주문 데이터 테이블을 생성할 수 있습니다.

A Custom Order Table

  • 이제 개발자에게 사용자 정의 테이블에서 새 주문을 삽입하고 가져오도록 CMS에 지시하도록 요청하십시오.
  • 그런 다음 개발자에게 이전 주문 데이터를 새로 생성된 사용자 지정 주문 테이블로 마이그레이션하도록 요청하십시오.
  • 그러나 이것은 맞춤형 솔루션이므로 이 주문 데이터를 다른 플러그인과 함께 사용하지 않는 경우에 적용할 수 있습니다. 플러그인을 사용하는 경우 여전히 post_meta 테이블에서 데이터를 가져오려고 시도합니다.

2. 솔루션 2

API 또는 타사 플랫폼에서 웹 사이트 데이터베이스를 제공한다고 가정해 보겠습니다. 수천 개의 기록이 들어오고 웹 사이트에 표시하면서 세부적으로 필터링하려고 합니다. 문제는 이 모든 데이터를 사용자 정의 게시물 유형에 저장하는 경우 전통적인 WP 방식, 즉 post_meta 테이블에 저장된다는 것입니다. 다시 말하지만 다양한 데이터가 키-값 쌍으로 저장됩니다. 즉, 이 데이터를 자세히 필터링할 수 없습니다.

  • 예를 들어 API에서 레시피 데이터를 가져오는 레시피 웹사이트를 만들었다고 가정해 보겠습니다. 레시피 목록 페이지를 설정하고 필터를 추가했습니다. 필터에는 식사 유형, 코스, 다이어트, 단백질 옵션, 난이도, 방법, 기타 영양소 옵션 등과 같은 다양한 옵션이 포함되어 있습니다!
  • 이 레시피 데이터가 사용자 지정 게시 유형에 저장되면 레시피 속성도 post_meta 테이블에 키-값 쌍으로 저장됩니다.

post_meta table

    • 사용자가 다양한 필터 옵션으로 수천 개의 레시피를 필터링하려고 하면 WordPress 기본 데이터베이스 쿼리가 각 레코드를 반복하여 일치하는 결과를 찾습니다. post_meta 테이블의 크기가 커질수록 시간이 더 오래 걸립니다. 앞으로 데이터 전송 문제가 발생할 수 있습니다.
    • 이 데이터를 저장하기 위해 사용자 정의 게시물 유형을 생성하는 대신 최적화된 사용자 정의 테이블을 생성할 수 있습니다. 이는 기본 post_meta 테이블의 크기 증가를 방지하고 필요할 때 해당 데이터를 처리/필터링하는 효율성을 높이는 데 도움이 됩니다.

다음은 잘 최적화된 테이블의 예입니다.

optimized table

  • 이와 같은 솔루션을 사용하면 사용자가 해당 레시피를 필터링하려고 시도할 때 몇 초 내에 결과를 얻을 수 있습니다.

결론:

점점 더 디지털화되는 세상에서 데이터 기반 웹사이트의 필요성은 부인할 수 없습니다. 구체적이고 실행 가능한 데이터 통찰력은 더 많은 판매를 촉진하고 더 나은 리드를 생성할 수 있습니다. 귀하의 대행사/브랜드에 가장 이익이 됩니다. 그리고 이러한 빠른 팁을 사용하여 보다 데이터 중심적인 WordPress 웹 사이트를 만들고 유지할 수 있습니다. 지금 시도해보고 어떻게 도움이 되었는지 알려주세요.

WordPress 웹 사이트 성능에 어려움을 겪고 있습니까? 맞춤형 솔루션에 대해 문의하십시오.