분할 데이터베이스 솔루션 개요

NOTE
이 기능은 Adobe Commerce 인스턴스에서만 사용할 수 있습니다.
IMPORTANT
데이터베이스 분할 기능은 Adobe Commerce 버전 2.4.2에서 사용되지 않음되었습니다. 분할 데이터베이스에서 단일 데이터베이스로 되돌리기를 참조하십시오.

Adobe Commerce은 Commerce 애플리케이션의 다양한 기능 영역에 대해 세 개의 개별 마스터 데이터베이스를 사용할 수 있는 기능을 포함하여 몇 가지 확장성 이점을 제공합니다.

체크아웃, 주문 및 제품 데이터는 각각 선택적으로 복제할 수 있는 별도의 마스터 데이터베이스를 사용할 수 있습니다. 이러한 구분은 필요에 따라 웹 사이트 체크아웃, 주문 관리 활동, 웹 사이트 탐색 및 머천다이징 활동에서 로드 크기를 독립적으로 조정합니다. 이러한 변경 사항은 데이터베이스 계층의 크기를 조정할 수 있는 방법에 상당한 유연성을 제공합니다.

INFO
클라우드 인프라의 Adobe Commerce은 이 기능을 지원하지 않습니다.

ResourceConnections 클래스는 Commerce 응용 프로그램에 대한 통합 MySQL 데이터베이스 연결을 제공합니다. 마스터 데이터베이스에 대한 쿼리의 경우 CQRS(명령 쿼리 권한 분리) 데이터베이스 패턴을 구현합니다. 이 패턴은 읽기 및 쓰기 쿼리를 적절한 데이터베이스로 라우팅하기 위한 논리를 처리합니다. 개발자는 사용 중인 구성을 알 필요가 없으며 별도의 읽기 및 쓰기 데이터베이스 연결이 없습니다.

선택적 데이터베이스 복제를 설정하면 다음과 같은 이점이 있습니다.

  • 데이터 백업
  • 마스터 데이터베이스에 영향을 주지 않고 데이터 분석
  • 확장성

MySQL 데이터베이스는 비동기식으로 복제됩니다. 즉, 마스터로부터 업데이트를 받기 위해 슬레이브를 영구적으로 연결할 필요가 없습니다.

다음 그림은 이 기능의 작동 방식을 보여 줍니다.

Adobe Commerce은 다른 데이터베이스를 사용하여 테이블을 저장합니다

Magento Open Source에서 하나의 마스터 데이터베이스만 사용됩니다.

Adobe Commerce은 복제를 위해 세 개의 마스터 데이터베이스와 구성 가능한 개수의 슬레이브 데이터베이스를 사용합니다. Adobe Commerce은 데이터베이스 연결을 위한 단일 인터페이스를 제공하므로 성능이 더 빨라지고 확장성이 향상됩니다.

구성 옵션

분할 데이터베이스 성능 솔루션이 디자인된 방식으로 인해 사용자 지정 코드 및 설치된 구성 요소 은(는) 다음을 수행할 수 없습니다.

  • 데이터베이스에 직접 쓰기(대신 Adobe Commerce 데이터베이스 인터페이스를 사용해야 함)
  • 영업 또는 견적 데이터베이스에 영향을 주는 JOIN 사용
  • 체크아웃, 판매 또는 기본 데이터베이스의 테이블에 외래 키 사용
WARNING
구성 요소 개발자에게 문의하여 구성 요소가 이전 작업을 수행하는지 확인합니다. 이 경우 다음 중 하나만 선택해야 합니다.
  • 구성 요소 개발자에게 구성 요소 업데이트를 요청합니다.
  • 분할 데이터베이스 솔루션 없이 구성 요소를 있는 그대로 ​사용합니다.
  • 분할 데이터베이스 솔루션을 사용할 수 있도록 구성 요소를 제거합니다.

즉, 다음 중 하나를 수행할 수 있습니다.

  • Commerce을 프로덕션에 넣기 전에 분할 데이터베이스 솔루션을 구성합니다.

    Adobe은 Commerce 소프트웨어를 설치한 후 가능한 한 빨리 분할 데이터베이스를 구성하는 것을 권장합니다.

  • 분할 데이터베이스 솔루션을 수동으로 구성합니다.

    이미 구성 요소를 설치했거나 Commerce이 이미 프로덕션에 있는 경우 이 작업을 수행해야 합니다. (프로덕션 시스템을 업데이트하지 마십시오. 테스트 후 개발 시스템에서 업데이트하고 변경 내용을 동기화하십시오.)

    note warning
    WARNING
    두 개의 추가 데이터베이스 인스턴스를 수동으로 백업해야 합니다. Commerce은 기본 데이터베이스 인스턴스만 백업합니다. magento setup:backup --db 명령 및 관리 옵션은 추가 테이블을 백업하지 않습니다.

전제 조건

분할 데이터베이스를 사용하려면 모든 호스트에 세 개의 MySQL 마스터 데이터베이스를 설정해야 합니다(Commerce 서버에 있는 세 데이터베이스 모두, 별도의 서버에 있는 각 데이터베이스 등). master 데이터베이스이며 다음과 같이 사용됩니다.

  • 체크아웃 테이블용 마스터 데이터베이스 1개
  • 판매 테이블(Order Management 시스템 또는 OMS 테이블이라고도 함)에 대한 하나의 마스터 데이터베이스
  • 나머지 Commerce 2 애플리케이션 테이블에 대한 하나의 마스터 데이터베이스

또한 로드 밸런서 및 백업 역할을 하는 슬레이브 데이터베이스를 선택적으로 설정할 수 있습니다.

이 안내서에서는 마스터 데이터베이스만 설정하는 방법에 대해 설명합니다. 원하는 경우 슬레이브 데이터베이스를 설정할 수 있도록 샘플 구성 및 참조를 제공합니다.

이 안내서에서는 세 가지 마스터 데이터베이스의 이름을 다음과 같이 지정합니다.

  • magento_quote
  • magento_sales
  • magento

(원하는 대로 데이터베이스 이름을 지정할 수 있습니다.)

recommendation-more-help
386822bd-e32c-40a8-81c2-ed90ad1e198c