
우리는 mysql 클러스터(Oracle 또는 pgsql)를 대체할 제품을 찾고 있습니다. Oracle 11 데이터베이스 시스템의 HA에 대한 전체 문서를 읽었지만 실제로는 충분히 이해하지 못했습니다. 내가 이해한 것은 HA를 수행하는 것이 RAC라는 것입니다. mysql-proxy와 같은 프록시가 뒤에 있습니까? 아니면 클러스터가 소프트웨어와 같은 하트비트를 사용하여 IP 주소를 변경하고 있습니까? 아니면 기본 대상에 오류가 발생한 경우 응용 프로그램이 연결 문자열에 다른 대상을 가지고 있어야 합니까? 핵심 애플리케이션을 다시 코딩하는 데 얼마나 많은 노력이 필요한지 평가하기 위해 이것이 필요합니다.
답변1
Oracle RAC의 작동 방식은 약간 복잡하지만 간단하게 설명하면 다음과 같습니다.
Oracle RAC는 Oracle 데이터베이스 노드로 구성됩니다. 각 노드에는 로컬 수신기가 있고 전체 클러스터에는 하나 이상의 SCAN(단일 클라이언트 액세스 이름) 수신기가 있습니다. 각 수신기에는 고유한 가상 IP 주소가 있습니다. 호스트가 죽으면 죽은 호스트의 리스너 주소를 다른 호스트가 가져옵니다. 호스트에는 하트비트가 흐르고 서버 간의 동기화가 수행되는 전용 상호 연결 인터페이스가 있어야 합니다.
클라이언트는 SCAN 수신기에만 연결해야 하며 해당 IP 주소는 일정합니다(클러스터에 더 많은 SCAN이 있는 경우 DNS는 이름을 이러한 주소로 확인하여 클라이언트가 라운드 로빈을 사용하여 SCAN에 연결하도록 해야 함). . 클라이언트가 연결되면 클러스터는 클라이언트를 최상의 로컬 수신기로 리디렉션하지만 이를 위해 클라이언트는 추가 설정이 필요하지 않습니다.
Oracle은 RAC에 대해 상당히 좋은 문서를 보유하고 있지만 이를 구현하고 관리하는 것은 (적어도) 간단하지 않습니다. RAC를 사용하려면 pfo의 조언에 귀를 기울이고 전문가를 고용해야 합니다.
답변2
RAC는 RAC입니다. / 블랙박스와 매우 유사합니다. 모든 HA 관련 작업은 RAC 및 드라이버 수준에서 처리됩니다. Oracle은 MySql이 아니기 때문에 애플리케이션 레코딩만 필요합니다.