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