목차
데이터베이스 서버가 함께 작동하여 기본 서버가 실패한 경우 두 번째 서버가 빠르게 인수하거나 여러 컴퓨터가 동일한 데이터 (로드 밸런싱)를 제공 할 수 있도록합니다. 이상적으로는 데이터베이스 서버가 완벽하게 작동 할 수 있습니다. 정적 웹 페이지를 제공하는 웹 서버는 단지 여러 시스템에 웹 요청을로드하여 매우 쉽게 결합 할 수 있습니다. 실제로 읽기 전용 데이터베이스 서버는 비교적 쉽게 결합 할 수 있습니다. 불행히도, 대부분의 데이터베이스 서버에는 요청/쓰기 혼합이 있으며 서버를 읽고 쓰기가 훨씬 어렵습니다. 이는 각 서버에 읽기 전용 데이터를 한 번만 배치해야하지만 서버에 대한 쓰기는 모든 서버로 전파되어야하므로 해당 서버에 대한 향후 읽기 요청이 일관된 결과를 반환 할 수 있기 때문입니다..
이 동기화 문제는 서버가 함께 작동하는 근본적인 어려움입니다. 모든 사용 사례에 대한 동기화 문제의 영향을 제거하는 단일 솔루션이 없기 때문에 여러 솔루션이 있습니다. 각 솔루션은이 문제를 다른 방식으로 해결하고 특정 작업량에 대한 영향을 최소화합니다.
일부 솔루션은 하나의 서버 만 데이터를 수정할 수 있도록하여 동기화를 처리합니다. 데이터를 수정할 수있는 서버는 읽기/쓰기라고합니다.마스터또는기본서버. 기본의 변경 사항을 추적하는 서버는입니다.대기또는Secondary서버. 기본 서버로 홍보 할 때까지 연결할 수없는 대기 서버를 A라고합니다.따뜻한 대기서버, 연결을 허용 할 수 있고 읽기 전용 쿼리를 제공하는 서버뜨거운 대기Server.
일부 솔루션은 동기식이므로 모든 서버가 트랜잭션을 저지르기 전까지는 데이터 수정 트랜잭션이 저지른 것으로 간주되지 않습니다. 이를 통해 장애 조치는 데이터를 잃지 않을 것이며 모든로드 균형 서버가 어떤 서버가 쿼리되는지에 관계없이 일관된 결과를 반환 할 것입니다. 대조적으로, 비동기 솔루션은 커밋 시간과 다른 서버로의 전파 사이에 약간의 지연을 허용하여 백업 서버로의 스위치에서 일부 트랜잭션이 손실 될 수 있으며로드 밸런스 서버가 약간 오래된 결과를 반환 할 수 있습니다. 비동기 통신은 동기가 너무 느리면 사용됩니다.
솔루션은 또한 세분성으로 분류 할 수 있습니다. 일부 솔루션은 전체 데이터베이스 서버 만 처리 할 수있는 반면, 다른 솔루션은 테이블 당 또는 다이타베이스 별 수준에서 제어 할 수 있습니다.
성능은 어떤 선택으로도 고려해야합니다. 일반적으로 기능과 성능 사이에는 상충 관계가 있습니다. 예를 들어, 느린 네트워크를 통해 완전히 동기식 솔루션은 성능을 절반 이상 줄일 수 있지만 비동기식은 성능에 미치는 영향을 최소화 할 수 있습니다..
이 섹션의 나머지 부분은 다양한 장애 조치, 복제 및로드 밸런싱 솔루션을 간략하게 설명합니다.
문서에 올바른 것이 없으면 일치하지 않습니다. 특정 기능에 대한 귀하의 경험 또는 추가 설명이 필요합니다. 사용이 양식문서 문제를보고하려면