대용량 데이터 시대에 데이터베이스 기술에 대 한 토론

출처: 인터넷
작성자: 사용자
키워드: 수 있습니다 따라서 서버 제공

소개

오늘날의 세계는 정보 세계, 우리의 생활의 큰 데이터 나이 여부 생활, 일, 학습 정보 시스템의 지원에서 분리할 수 있습니다. 데이터베이스 저장 및 최종 결과 처리 정보 시스템 뒤에 장소입니다. 따라서,는 의미 데이터베이스 시스템은 특히 중요 한 경우 데이터베이스 문제 직면 하 고, 그것은 전체 응용 시스템 또한 도전, 심각한 손실 그리고 결과에 결과 얼굴 것을 의미 합니다.

어떻게 개념 착륙 분명 하다 비록 지금 단어 "빅 데이터 시대" 매우 인기 끌고있다. 하지만 그것은 특정 일 및 모바일 응용 프로그램의 인터넷의 증가 함께 과거에는 데이터의 양을 해야한다는 승천의 형상 수준을 그래서 다음 문제를 해결 하기 뿐만 아니라 프로그램의 문제를 해결 하기 위해 데이터베이스 요구는 더 이상 단순히 올바른 처리를 기록 하는 결과:

경우 데이터베이스 성능 문제, 더 나은 투자 수익을 달성 하기 위해 기존 하드웨어의 최고의 사용할 수 있도록 서버를 추가 하 여 더 높은 처리량을 달성 하기 위해 수평으로 확장할 수 있는지 여부를 발생 합니다.

데이터베이스 재해를 직면 하는 경우 실시간 동기화, 복사를 통해 데이터베이스의 가용성을 보장 하기 위해 장애 조치 시간의 짧은 기간 일 수 있다. 또한, 데이터가 손실 되거나 손상 된 경우 데이터의 0 손실 소위 라이브 복제본 (핫 스페어)를 통해 얻을 수 있습니다.

여부를 데이터베이스의 수평 확장 응용 프로그램을 투명 이며 데이터베이스의 수평 확장은 응용 프로그램의 광범위 한 수정 경우, 결과 높은 개발 비용 뿐만 아니라 또한 많은 잠재력과 잠재적으로 의도 하지 않은 위험.

클러스터에 새로운 서버를 추가 그냥 이러한도 전에 직면 한 확실 한 방법은 각 서버 리소스를 최대한 활용 하 고 다른 서버, 클라이언트 부하를 분산 및 응용 프로그램으로 로드 증가, 수 있습니다 여러 서버 클러스터를 만드는 것입니다.

이 문서는 클러스터, 형태 및 현재 주류 데이터베이스 클러스터 기술의 개념을 설명 합니다.

데이터베이스 클러스터의 형태

데이터베이스 클러스터 및 확장은 응용 프로그램 확장으로 쉽게 포함 하기 때문에 데이터베이스에서 사이드, 클러스터 관련 일단 자주 동기화 데이터베이스 수준 그래서 데이터 중복의 존재에서 우리 나눌 수 있습니다 데이터베이스 클러스터 형태의 다음과 같은 두 가지 종류:

공유 디스크 아키텍처

공유 디스크 아키텍처는 데이터베이스 클러스터를 구현 하기 위해 여러 서버 노드가 단일 스토리지를 공유 하 고 두 컴퓨터의 간단한 공유 디스크 아키텍처는 그림 1에 표시 됩니다.

그림 1. 간단한 공유 디스크 아키텍처

이 기초에, 공유 디스크 아키텍처 단일 동으로 나누어져 더블 라이브,는 각 노드의 클러스터 서비스를 제공할 수, 외부에 그리고 단일 클러스터의 한 노드에 대 한 라이브 서비스, 중복으로 클러스터의 다른 서버를 제공할 수 있는 "라이브" 외부 서비스에 대 한 노드 서버 노드. 건축의이 유형에 대 한 가장 일반적인 제품은 SQL Server 장애 조치 클러스터 (SQL Server 장애 조치 클러스터), NEC Expresscluster, 로즈 하. 이 방법의 결점은 분명, 또한 다음과 같습니다.

하드웨어 자원의 심각한 낭비, 하나의 서버 같은 시간 클러스터에서 살아 있고 다른 서버 중복 서버로 사용할 수 있습니다.

클러스터링 성능이 향상 되지 않습니다 하나의 서버를 사용할 수 있기 때문에

스토리지, 스토리지 수준에서 항상 사용 가능한 것을 보장 하지 않는 한 일반적으로 비싼 SAN 스토리지를 필요로 하는 실패의 단일 지점이입니다.

따라서, 체계의이 종류, 고가용성의 서버 수준 할 수 있습니다 성능 향상을 가져올 수 고 저장 단일 장애 지점 문제를 해결할 수 없는. 그래서 안가 면 다른 높은 또는 부하 분산 기술로, 그것은 중요 하지 않습니다 매우.

기술의 다른 종류는 듀얼 라이브 기술에서 공유 디스크 및 단일 라이브 기술 다르다, 듀얼 라이브 기술 공유 디스크 이기도 하지만 모든 노드는 클러스터에 서비스를 제공할 수 있습니다, 일반적인 제품 오라클의 RAC. RAC는 고도의 기술 이며 시스템을 실행 하기 위하여 사람들의 높은 수준이 필요 합니다. RAC 디자인 성능, 적합 하지 않습니다 하지만 높은 가용성과 확장성, 응용 프로그램은 설계 및 RAC 아키텍처 개발 하지 않을 경우 응용 프로그램은 마이그레이션 RAC 블록 경합 (블록 바쁜 대기) 성능은, 날카로운 드롭 될 수 있기 때문에 그리고 더 많은 노드가 더 많은 성능 저하 더 분명 하다.

공유 안 함 아키텍처

공유 안 함 아키텍처는 분할 두 가지로 첫째, 분산된 아키텍처. 여러 컴퓨터, 쿼리 또는 기준에 따라 해당 파티션을 삽입 데이터베이스에서 데이터를 배포 합니다.

다른 각 노드는 완전히 독립적 이며 노드는 일반적으로 가벼운 브레이징의 전용된 네트워크를 통해 네트워크를 통해 연결 되어 있습니다. 로 그림 2에 나와 있습니다.

그림 2입니다. 공유 안 함 아키텍처 중복성

공유 안 함 아키텍처, 각 노드에 자체 메모리 및 스토리지, 데이터의 전체 복사본을 유지 합니다. 일반적으로, 그것은 부하 분산 될 수 있으며 부하가 아니라 두 종류로 나눌 수 있습니다.

우선, 부하 분산 클러스터 로드 하지 및 균형의 기술, 노드 클러스터에서 기본 및 보조 노드도 나누어집니다, 주 노드가 외부 서비스, 보조 노드 뜨거운 대기 (2 단계 트랜잭션 제출)으로 제공 됩니다 따뜻한 (없음 트랜잭션 동기화가 필요 합니다), 그리고 그것은 읽기 전용 서비스를 제공 하는 보조 노드를 만들 수 또는. 이 아키텍처를 사용 하 여 기술을 포함: SQL Server Alwayson, sql 서버 미러, 오라클 데이터 가드가이 아키텍처의 장점은 다음과 같습니다:

보조 노드 데이터 및 마스터 노드는 동기화 된 또는 준 동기 때 제와 중재, 따라서 높은 가용성을 달성 하는 자동 장애 조치를 구현할 수 있습니다

보조 노드에서에서 복구할 수 데이터 보조 노드를 자동으로 또는 수동으로 주 노드의 완전히 독립적입니다 및 데이터 동기화 또는 유사 동기화 때문에 데이터 손상이 기본 노드에서 발생 되도록.

공유 안 함 아키텍처에서는 로컬 스토리지 (또는 산)을 사용 하므로 그것는 성능이 보다 느린 속도 네트워크에서 공유 디스크 아키텍처

물론, 단점은 분명, 보조 노드는 외부 서비스를 제공할 수 있기 때문에 읽기 전용 서비스를 제공할 수 있다 그래서 이러한 클러스터의 단점을 포함:

매우 제한 된 확장성

성능 노드 및 성능 저하 데이터 동기화 때문에 상승 하지

보조 노드 읽을 수 하는 경우 프런트 엔드 응용 프로그램, 불투명 하 게 응용 프로그램을 수정 하는 필요 하지만 성능을 향상합니다

공유 안 함 아키텍처의 또 다른 유형은, 로드 균형 조정을 허용 됩니다. 로드 균형 조정 클러스터에서 여러 노드를 데이터베이스에 부하의 분포 이며 클러스터의 각 노드에 더 높은 처리량, 더 나은 리소스 사용률 및 낮은 응답을 달성 하기 위해 외부 서비스를 제공할 수 있는 시간. 프런트 엔드를 통해 예정 이다. 건축의이 유형을 사용 하 여 기술을 포함: MySQL에 아메바 (건축, MySQL의 블로그에서 그림 3에서와 같이 마스터 첸 유 하 MySQL에 프록시 (그림 4에서와 같이), 회색 추세 뫼비우스 클러스터에 SQL Server에는 (그림 5 참조).

그림 3입니다. 아메바

그림 4. 하 프록시

  

그림 5입니다. 뫼비우스 클러스터

부하 분산 공유 안 함 아키텍처의 혜택은 각 서버 높은 처리량을 달성 하려면 기존 리소스를 활용 하는 서비스를 제공할 수 있습니다. 아메바 데이터 슬라이스를 포함할 수 있습니다, 데이터 슬 라이 싱의 혜택 대규모 데이터 처리에 대 한 효율적 이지만 그것은 또한 응용 프로그램 측면 해당 데이터 조각 조정의, 조각 노드를 처리 하는 쿼리의 문제는 필요와 같은 다른 문제를 소개 각 데이터 노드 조각 여부를 그들의 각각 사업 부하의 피크 문제를 견딜 수 있습니다. 건축의이 유형은 직원의 높은 수준으로 구현 될 필요가 그리고 인터넷 기업에 대 한 더 적합 한 만들기 응용 프로그램 수준에서 조정 될 필요가 있다.

Oracle Rac + f5 같은 조합 구성표를 사용 하 여 같은 데이터 조각화를 포함 하지 않는 아키텍처의 또 다른 유형입니다. 다른 SQL Server에 뫼비우스 같은 단일 공급 업체에서 제공한 시나리오에서는 사용 하는. 같은 클러스터의 각 노드에 서비스 외부, 및는 다음과 같은 이점을 제공 합니다.

각 노드는 외부 서비스를 제공할 수 있습니다, 때문에 그것은 성능을 향상 시킬 수 있습니다.

직접 확장 확장에 대 한 클러스터에 노드를 추가 하 여 확장성을 향상 시킬 수 있습니다.

조각화는 성능 저하 발생 하지 않습니다 그것은 완전히 투명 응용 프로그램 옆에 아무 문제는 프런트 엔드 응용 프로그램 프록시를 통해 클러스터에 연결 된 각 노드는 클러스터에서 완전 한 데이터 집합을 유지 하기 때문에,

MySQL 데이터 조각화에 비해, 체계의이 종류의 단점 또한 분명 하다, 하지만 완전 한 데이터 집합을 필요로 하는 각 노드, 때문에 따라서 더 많은 저장 공간을 차지할 필요가.

요약

이 문서에서는 상대적으로 높은 수준에서 데이터베이스 클러스터 기술을 설명합니다. 데이터베이스 응용 프로그램에서 수준 높은 형태의 클러스터링 수 최대 공유 디스크 클러스터는 부하 분산 클러스터 및 제공 목록 주류 상용 제품의 일부. 클러스터링은 고가용성, 데이터 보안, 확장성 및 부하 분산을 의미입니다. 현재 클러스터 제품 이러한 기능을 포함할 수 없습니다 및 비즈니스 시나리오를 달성 하기 위해 몇 가지 기존 기술로 결합 될 필요가 있지만 도구와 재료의 많은 경우에 결국, 모두가 데이터베이스 전문가, 당신이 할 수 없는 아이폰, 따라서, 프로젝트를 고려 하는 데이터베이스의 시작 부분에 시스템의 디자인 문제를 많이 있을 것입니다.

관련 문서

연락처

이 페이지의 내용은 인터넷에서 가져온 것이므로 Alibaba Cloud의 공식 의견이 아닙니다.이 페이지에서 언급 된 제품 및 서비스는 Alibaba Cloud와는 관련이 없으므로이 페이지의 내용이 골칫거리 인 경우 저희에게 알려주십시오. 우리는 5 일 근무일 이내에 이메일을 처리 할 것입니다.

커뮤니티에서 표절 사례를 발견한 경우 info-contact@alibabacloud.com 으로 관련 증거를 첨부하여 이메일을 보내주시기 바랍니다. 당사 직원이 영업일 기준 5일 내에 연락 드리도록 하겠습니다.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.