2. DBMS이야기/02. MySQL

MySQL 클러스터의 성능을 최적화하기 위한 기본 지식

OSSW(Open Source System SoftWare 2014. 9. 1. 11:20

MySQL 클러스터는 실시간, 확장 성 및 트랜잭션 데이터베이스이다. 그것은 실제로 실시간 성능 및 캐리어 급 가용성을 필요로하는 애플리케이션에 내장 된 통신 데이터베이스로 설계되었다. 하지만 MySQL 클러스터는 모바일 결제 시스템, 실시간 분석, 씨앗 스트리밍 및 분석 및 콘텐츠 관리를 포함한 기업 솔루션에 사용 사례를 확장 향상시킬 수있다. MySQL 클러스터는 집약적 인 워크로드의 요구를 충족하기 위해 수평으로 확장 할 수있는 기능이 있다. 다음은 MySQL 클러스터의 구조는 다음과 같다.

 

 


 

 


데이터 노드, 응용 프로그램 노드와 관리 노드 : 클러스터는 3 노드 (node)로 구성된다. 


데이터 노드는 일반적으로 데이터 액세스 및 저장을 관리. 

애플리케이션 노드는 애플리케이션 로직에서 데이터 노드에 대한 링크를 제공하고, 많은 API는 응용 프로그램에 제공된다. 

관리 노드는 클러스터 구성에 중요한 역할을하고 또한 네트워크 파티션 경우 중재를 제공한다. 

이 백서는 MySQL 클러스터의 성능을 향상시키기위한 최적화 방법의 대부분을 탐구한다. 이러한 방법으로, 당신은 워크로드 요구 사항의 다양한 처리 할 수 ​​있다.



MySQL 클러스터를위한 최적의 응용 프로그램


MySQL 클러스터는 응용 프로그램이나 SQL 노드에 의해 수행 된 업데이트가 클러스터에 액세스하는 모든 노드에 즉시 사용할 수 있는지 확인 할 수 있다. 테이블은 상품 노드의 무리에 걸쳐 분할하고이 수평으로 확장하기 위해 데이터베이스를 할 수 있다. 


MYSQL 클러스터는 단지베이스 층에서 테이블을 분할하여 응용 계층에서 수행 할 필요성을 피할 수있다. 이것은 크게 응용 프로그램의 개발 및 유지 보수를 단순화 할 수 있다. 트랜잭션 워크로드의 경우는, MySQL 클러스터는 쓰기 처리량의 훌륭한 수준을 제공 할 수 있다. 클러스터는 여러 병렬 SQL 노드, 많은 연결을 제공하는 각 노드를 활용할 수 있다. 


MySQL 클러스터를위한 최적의 응용 프로그램은 다음과 같다 : 


무역 플랫폼 / 시스템. 

지불 게이트웨이. 

사용자 프로필 관리. 

여러 온라인 게임. 

IMS 서비스를 제공합니다. 

광대역 액세스를위한 DHCP. 

VOIP 화상 회의.



성능 문제를 식별


항상 성능 즉, 대기 시간과 트랜잭션 처리량을 측정하는 반복 전략을 적용하는 것이 좋다. 그것은 데이터베이스 및 유용성에 대한 특정 변경을 고려하는 것이 필수적이다. 


성능 변화를 구현하기 전에, 또한 각각의 최적화 기술의 도입 후에 측정되어야한다. 


많은 경우에, 당신이 충족되어야하는 특정 요구 사항에 걸쳐 올 수 있다. 반복적 인 절차에 따라서, 당신은 당신의 목표를 향해 진행 상황을 추적 할 수 있다. 


응용 프로그램의 전반적인 성능을 측정 게다가, 당신은 개별 트랜잭션을 고려하기로되어있다. 일부 쿼리를 실행하는 데 시간이 너무 오래 걸릴 수 있다. 


당신은 MySQL의 기업 모니터에 액세스 할 수있는 데이터베이스를 쿼리하는 SQL을 사용하는 경우에 당신은 모든 비용이 거래를 추적 할 수있는 쿼리 분석기를 사용할 수있다. 


당신이 기업의 모니터에 액세스 할 수없는 경우 다음의 MySQL의 느린 쿼리 로그는 확실히 긴 트랜잭션을 확인하는 데 도움이 될 수 있다. 당신은 쿼리가 쿼리 로그에 포함하기 전에 어떻게해야 느린 언급 long_query_time 변수를 사용할 수 있다. 여기에 값이 초과 '공'은 모든 쿼리가 기록 될 수 있습니다 지정한다. 


활성 연결에 즉각적인 효과를 표시하지 않습니다 long_query_time 변수에 대한 변경, 당신은 다음 연결을 삭제하고 필요로 다시 설정한다. 


MySQL 클러스터는 데이터 노드 내에서 모든 세부 사항을 제공한다. 이 데이터는 NDBINFO라는 가상의 데이터베이스를 통해 사용할 수 있다. 예를 들어, NDBINFO 디스크 페이지 버퍼 사용에 대한 정보를 제공한다.디스크 페이지 버퍼는 디스크 기반 테이블을 운영하면서 사용되는 각 데이터 노드에 캐시이다. 통상, 더 높은 히트 나은 성능을 평가했다. 이 캐시 크기를 조정하면 시스템에 강력한 영향을 미칠 수 있다. 당신은 MySQL의 명령 줄에서 디스크 페이지 버퍼에 대한 명백한 데이터에 액세스 할 수 있다.



BY lee ji eun