"6 월 3 일 Tenkine 서버 채널 메시지" http://www.aliyun.com/zixun/aggregation/32730.html "> 정보 시스템은 장소 최종 결과 저장 되 고 처리 하는 데이터베이스입니다. 따라서,는 의미 데이터베이스 시스템은 특히 중요 한 경우 데이터베이스 문제 직면 하 고, 그것은 전체 응용 시스템 또한 도전, 심각한 손실 그리고 결과에 결과 얼굴 것을 의미 합니다. 현재, 데이터베이스는 다음도 전에 직면해 큰 데이터 추세:
경우 데이터베이스 성능 문제, 더 나은 투자 수익을 달성 하기 위해 기존 하드웨어의 최고의 사용할 수 있도록 서버를 추가 하 여 더 높은 처리량을 달성 하기 위해 수평으로 확장할 수 있는지 여부를 발생 합니다.
데이터베이스 재해를 직면 하는 경우 실시간 동기화, 복사를 통해 데이터베이스의 가용성을 보장 하기 위해 장애 조치 시간의 짧은 기간 일 수 있다. 또한, 데이터가 손실 되거나 손상 된 경우 데이터의 0 손실 소위 라이브 복제본 (핫 스페어)를 통해 얻을 수 있습니다.
여부를 데이터베이스의 수평 확장 응용 프로그램을 투명 이며 데이터베이스의 수평 확장은 응용 프로그램의 광범위 한 수정 경우, 결과 높은 개발 비용 뿐만 아니라 또한 많은 잠재력과 잠재적으로 의도 하지 않은 위험.
클러스터에 새로운 서버를 추가 그냥 이러한도 전에 직면 한 확실 한 방법은 각 서버 리소스를 최대한 활용 하 고 다른 서버, 클라이언트 부하를 분산 및 응용 프로그램으로 로드 증가, 수 있습니다 여러 서버 클러스터를 만드는 것입니다.
데이터베이스 클러스터 및 확장은 응용 프로그램 확장으로 쉽게 포함 하기 때문에 데이터베이스에서 사이드, 클러스터 관련 일단 자주 동기화 데이터베이스 수준 그래서 데이터 중복의 존재에서 우리 나눌 수 있습니다 데이터베이스 클러스터 형태의 다음과 같은 두 가지 종류:
공유 디스크 아키텍처
공유 디스크 아키텍처는 데이터베이스 클러스터를 구현 하기 위해 여러 서버 노드를 통해 단일 저장소를 공유 합니다. 이 기초에, 공유 디스크 아키텍처 단일 구리에 분할 되 고 각 노드의 클러스터는 더블 라이브 서비스는 동시에 단일 라이브 클러스터의 한 노드에 대 한 서비스를 제공할 수 있습니다. 제공할 수 있습니다. 다른 클러스터의 서버에서에서 외부 서비스에 대 한 노드를 될 라이브 노드 오류가 발생할 경우 중복으로 인계.
이 방법의 결점은 분명, 또한 다음과 같습니다.
하드웨어 자원의 심각한 낭비, 하나의 서버 같은 시간 클러스터에서 살아 있고 다른 서버 중복 서버로 사용할 수 있습니다.
하나의 서버를 사용할 수 있기 때문에 클러스터링 성능을 향상 되지 않습니다.
스토리지, 스토리지 수준에서 항상 사용 가능한 것을 보장 하지 않는 한 일반적으로 비싼 SAN 스토리지를 필요로 하는 실패의 단일 지점이입니다.
따라서, 체계의이 종류, 고가용성의 서버 수준 할 수 있습니다 성능 향상을 가져올 수 고 저장 단일 장애 지점 문제를 해결할 수 없는. 그래서 안가 면 다른 높은 또는 부하 분산 기술로, 그것은 중요 하지 않습니다 매우.
기술의 다른 종류는 듀얼 라이브 기술에서 공유 디스크 및 단일 라이브 기술 다르다, 듀얼 라이브 기술 공유 디스크 이기도 하지만 모든 노드는 클러스터에 서비스를 제공할 수 있습니다, 일반적인 제품 오라클의 RAC. RAC는 고도의 기술 이며 시스템을 실행 하기 위하여 사람들의 높은 수준이 필요 합니다. RAC 디자인의 목적은 성능, 하지만 높은 가용성과 확장성, 응용 프로그램 디자인과 RAC 아키텍처에 대 한 개발은 RAC에 응용 프로그램을 마이그레이션 발생할 수 있습니다 성능 및 성능 저하가 노드의 날카로운 드롭.
공유 안 함 아키텍처
공유 안 함 아키텍처는 분할 두 가지로 첫째, 분산된 아키텍처. 여러 컴퓨터, 쿼리 또는 기준에 따라 해당 파티션을 삽입 데이터베이스에서 데이터를 배포 합니다. 다른 각 노드는 완전히 독립적 이며 노드는 일반적으로 가벼운 브레이징의 전용된 네트워크를 통해 네트워크를 통해 연결 되어 있습니다.
공유 안 함 아키텍처, 각 노드에 자체 메모리 및 스토리지, 데이터의 전체 복사본을 유지 합니다. 일반적으로, 그것은 부하 분산 될 수 있으며 부하가 아니라 두 종류로 나눌 수 있습니다.
우선, 부하 분산 클러스터 로드 하지 및 균형의 기술, 노드 클러스터에서 기본 및 보조 노드도 나누어집니다, 주 노드가 외부 서비스, 보조 노드 뜨거운 대기 (2 단계 트랜잭션 제출)으로 제공 됩니다 따뜻한 (없음 트랜잭션 동기화가 필요 합니다), 그리고 그것은 읽기 전용 서비스를 제공 하는 보조 노드를 만들 수 또는.
이 아키텍처의 장점은 다음과 같습니다.
보조 노드 데이터와 마스터 노드 동기화 또는 유사 동기화, 및 제 3 자 중재와 결합 하는 경우 자동 장애 조치 될 수 있습니다 실현, 따라서 높은 가용성을 달성.
보조 노드는 주 노드의 완전히 독립적인 데이터 동기화 또는 유사 동기화, 때문에 데이터가 손상 주 노드가 손상 후 보조 노드 (자동 또는 수동)에서 복구할 수 있습니다.
공유 안 함 아키텍처에서는 로컬 저장소를 사용 하기 때문에 (San), 공유 디스크 아키텍처는 느린 네트워크를 통해 매우 높은 성능 이점이 있다.
물론, 단점은 분명, 보조 노드는 외부 서비스를 제공할 수 있기 때문에 읽기 전용 서비스를 제공할 수 있다 그래서 이러한 클러스터의 단점을 포함:
확장성은 매우 제한 됩니다.
각 노드와 성능 저하에 대 한 데이터 동기화를 포함 하기 때문에 성능이 향상 되지 됩니다.
보조 노드를 경우 읽기, 성능이 향상 됩니다 하지만 프런트 엔드 응용 프로그램을 수정 하 고 응용 프로그램에 불투명.
공유 안 함 아키텍처의 또 다른 유형은, 로드 균형 조정을 허용 됩니다. 소위 부하 균형 클러스터에서 여러 노드를 데이터베이스의 부하를 분산 하는 것입니다, 클러스터의 각 노드는 높은 처리량, 더 나은 리소스 사용률 및 낮은 응답을 달성 하기 위하여 외부, 서비스를 제공할 수 있습니다 시간. 프런트 엔드를 통해 예정 이다. 부하 분산 공유 안 함 아키텍처의 혜택은 각 서버 높은 처리량을 달성 하려면 기존 리소스를 활용 하는 서비스를 제공할 수 있습니다. 같은 클러스터의 각 노드에 서비스 외부, 및는 다음과 같은 이점을 제공 합니다.
각 노드는 외부 서비스를 제공할 수 있습니다, 때문에 그것은 성능을 향상 시킬 수 있습니다.
확장 노드를 직접 추가 하 여 확장 확장 클러스터에 의해 향상 됩니다.
프런트 엔드 응용 프로그램 프록시를 통해 클러스터에 연결 된 각 노드는 클러스터에서 완전 한 데이터 집합을 유지 하기 때문에, 그것은 완전히 응용 프로그램 쪽에 투명 하 게.
그러나 이러한 유형의 시나리오의 단점 또한 분명, 더 많은 저장 공간이 필요 합니다 완전 한 데이터 집합을 필요로 하는 각 노드.
온라인 쇼핑몰 프로 모션 상품/사양/가격 (저자: Li Xiang 집행 에디터: 리 Xiangjing)