분할 데이터베이스 솔루션 개요
Adobe Commerce은 Commerce 애플리케이션의 다양한 기능 영역에 대해 세 개의 개별 마스터 데이터베이스를 사용할 수 있는 기능을 포함하여 몇 가지 확장성 이점을 제공합니다.
체크아웃, 주문 및 제품 데이터는 각각 선택적으로 복제할 수 있는 별도의 마스터 데이터베이스를 사용할 수 있습니다. 이러한 구분은 필요에 따라 웹 사이트 체크아웃, 주문 관리 활동, 웹 사이트 탐색 및 머천다이징 활동에서 로드 크기를 독립적으로 조정합니다. 이러한 변경 사항은 데이터베이스 계층의 크기를 조정할 수 있는 방법에 상당한 유연성을 제공합니다.
ResourceConnections
클래스는 Commerce 응용 프로그램에 대한 통합 MySQL 데이터베이스 연결을 제공합니다. 마스터 데이터베이스에 대한 쿼리의 경우 CQRS(명령 쿼리 권한 분리) 데이터베이스 패턴을 구현합니다. 이 패턴은 읽기 및 쓰기 쿼리를 적절한 데이터베이스로 라우팅하기 위한 논리를 처리합니다. 개발자는 사용 중인 구성을 알 필요가 없으며 별도의 읽기 및 쓰기 데이터베이스 연결이 없습니다.
선택적 데이터베이스 복제를 설정하면 다음과 같은 이점이 있습니다.
- 데이터 백업
- 마스터 데이터베이스에 영향을 주지 않고 데이터 분석
- 확장성
MySQL 데이터베이스는 비동기식으로 복제됩니다. 즉, 마스터로부터 업데이트를 받기 위해 슬레이브를 영구적으로 연결할 필요가 없습니다.
다음 그림은 이 기능의 작동 방식을 보여 줍니다.
Magento Open Source에서 하나의 마스터 데이터베이스만 사용됩니다.
Adobe Commerce은 복제를 위해 세 개의 마스터 데이터베이스와 구성 가능한 개수의 슬레이브 데이터베이스를 사용합니다. Adobe Commerce은 데이터베이스 연결을 위한 단일 인터페이스를 제공하므로 성능이 더 빨라지고 확장성이 향상됩니다.
구성 옵션
분할 데이터베이스 성능 솔루션이 디자인된 방식으로 인해 사용자 지정 코드 및 설치된 구성 요소 은(는) 다음을 수행할 수 없습니다.
- 데이터베이스에 직접 쓰기(대신 Adobe Commerce 데이터베이스 인터페이스를 사용해야 함)
- 영업 또는 견적 데이터베이스에 영향을 주는 JOIN 사용
- 체크아웃, 판매 또는 기본 데이터베이스의 테이블에 외래 키 사용
- 구성 요소 개발자에게 구성 요소 업데이트를 요청합니다.
- 분할 데이터베이스 솔루션 없이 구성 요소를 있는 그대로 사용합니다.
- 분할 데이터베이스 솔루션을 사용할 수 있도록 구성 요소를 제거합니다.
즉, 다음 중 하나를 수행할 수 있습니다.
-
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
(원하는 대로 데이터베이스 이름을 지정할 수 있습니다.)