데이터베이스 복제
NOTE
이 기능은 Adobe Commerce 인스턴스에서만 사용할 수 있습니다.
IMPORTANT
데이터베이스 분할 기능은 Adobe Commerce 버전 2.4.2에서 사용되지 않음되었습니다. 분할 데이터베이스에서 단일 데이터베이스로 되돌리기를 참조하십시오.
데이터베이스 복제를 설정하면 다음과 같은 이점이 있습니다.
- 데이터 백업 제공
- 마스터 데이터베이스에 영향을 주지 않고 데이터 분석 가능
- 확장성
MySQL 데이터베이스는 비동기식으로 복제됩니다. 즉, 마스터로부터 업데이트를 받기 위해 슬레이브를 영구적으로 연결할 필요가 없습니다.
데이터베이스 복제 구성
데이터베이스 복제에 대한 자세한 설명은 이 안내서의 범위를 벗어납니다. 이를 설정하려면 다음과 같은 리소스를 참조할 수 있습니다.
Commerce은 슬레이브 데이터베이스에 대한 샘플 MySQL 구성을 제공합니다. 간단한 구성은 ResourceConnections
클래스 README.md
과(와) 함께 제공됩니다.
다음은 보다 고급 기능이며 정보용으로만 제공됩니다.
return array (
//...
'db' =>
array (
'connection' =>
array (
'indexer' =>
array (
'host' => 'default-master-host',
'dbname' => 'magento',
'username' => 'magento',
'password' => 'magento',
'active' => '1',
'persistent' => NULL,
),
'default' =>
array (
'host' => 'default-master-host',
'dbname' => 'magento',
'username' => 'magento',
'password' => 'magento',
'active' => '1',
),
'checkout' =>
array (
'host' => 'checkout-master-host',
'dbname' => 'checkout',
'username' => 'magento',
'password' => 'magento',
'model' => 'mysql4',
'engine' => 'innodb',
'initStatements' => 'SET NAMES utf8;',
'active' => '1',
),
'sales' =>
array (
'host' => 'sales-master-host',
'dbname' => 'sales',
'username' => 'magento',
'password' => 'magento',
'model' => 'mysql4',
'engine' => 'innodb',
'initStatements' => 'SET NAMES utf8;',
'active' => '1',
),
),
'slave_connection' =>
array (
'default' =>
array (
'host' => 'default-slave-host',
'dbname' => 'magento',
'username' => 'read_only',
'password' => 'password',
'active' => '1',
),
'checkout' =>
array (
'host' => 'checkout-slave-host',
'dbname' => 'checkout',
'username' => 'read_only',
'password' => 'password',
'model' => 'mysql4',
'engine' => 'innodb',
'initStatements' => 'SET NAMES utf8;',
'active' => '1',
),
'sales' =>
array (
'host' => 'sales-slave-host',
'dbname' => 'sales',
'username' => 'read_only',
'password' => 'password',
'model' => 'mysql4',
'engine' => 'innodb',
'initStatements' => 'SET NAMES utf8;',
'active' => '1',
),
),
'table_prefix' => '',
),
//.......
성능 향상
마스터-슬레이브 복제 성능을 개선하기 위해 슬레이브 인스턴스의 일부 테이블을 필터링할 수 있습니다. 카탈로그 검색에 사용되는 이름 패턴이 search\_tmp\_%
인 모든 임시 테이블을 필터링하는 것이 좋습니다.
이렇게 하려면 슬레이브 인스턴스의 my.cnf
파일에 다음 줄을 추가합니다.
replicate-wild-ignore-table=%.search\_tmp\_%
recommendation-more-help
386822bd-e32c-40a8-81c2-ed90ad1e198c