2017.12.15

MySQL 관리자를 위한 5가지 추천 오픈소스 툴

Michael Coburn | InfoWorld


Sqlcheck
SQL 안티 패턴은 쿼리 속도를 저하시킬 수 있다. 숙련된 DBA와 개발자도 안티 패턴을 찾아 해결하기 위해 코드를 붙잡고 씨름하는 경우가 많다. Sqlcheck는 빌 카윈의 책 “SQL 안티 패턴: 데이터베이스 프로그래밍의 함정 피하기(SQL Anti-patterns: Avoiding the Pitfalls of Database Programming)”의 내용과 일맥상통한다. 카윈은 안티 패턴을 다음과 같은 네 가지 범주로 분류했다.

1. 논리적 데이터베이스 설계
2. 물리적 데이터베이스 설계
3. 쿼리
4. 애플리케이션 개발



Sqlcheck는 저, 중 고위험으로 분류되는 다양한 위험 수준에 대응할 수 있다. 이를 통해 성능 영향이 가장 큰 쿼리를 우선 처리할 수 있으므로 안티 패턴의 수가 많을 때 유용하다. 개별 쿼리를 파일로 모은 다음 툴에 인수로 전달하기만 하면 된다.

필자는 PMM 데모 환경에서 샘플을 가져와 다음 출력을 생성했다.

[michael@fedora ~]$ sqlcheck —file_name PMMDemoQueries.txt
+————————————————————————-+
| SQLCHECK |
+————————————————————————-+
> RISK LEVEL :: ALL ANTI-PATTERNS
> SQL FILE NAME :: output
> COLOR MODE :: ENABLED
> VERBOSE MODE :: DISABLED
> DELIMITER :: ;
————————————————————————-
==================== Results ===================

————————————————————————-
SQL Statement: select table_schema, table_name, table_type, ifnull(engine, ‘none’) as engine,
ifnull(version, ‘0’) as version, ifnull(row_format, ‘none’) as row_format,
ifnull(table_rows, ‘0’) as table_rows, ifnull(data_length, ‘0’) as data_length,
ifnull(index_length, ‘0’) as index_length, ifnull(data_free, ‘0’) as data_free,
ifnull(create_options, ‘none’) as create_options from information_schema.tables
where table_schema = ‘innodb_small’;
[output]: (HINTS) NULL Usage
[Matching Expression: null]
...
==================== Summary ===================
All Anti-Patterns and Hints :: 7
> High Risk :: 0
> Medium Risk :: 0
> Low Risk :: 2
> Hints :: 5




Sqlcheck는 아파치 라이선스 2.0을 사용한다. 기여자는 5명, 커밋 횟수 187회, 별 수는 1400개다.

오케스트레이터(Orchestrator)
오케스트레이터는 고가용성 및 복제 관리 툴이다. 체인을 위아래로 훑으면서 마스터와 슬레이브를 찾아 MySQL 환경의 복제 토폴로지를 검색하는 기능을 제공한다. 또한 GUI를 통해 복제 토폴로지를 리팩터링하는 데도 사용할 수 있는데, 드래그 앤 드롭 인터페이스를 사용해서 슬레이브를 마스터로 승격할 수 있다. 아주 안전한 작업이다. 사실 오케스트레이터는 시스템 문제를 방지하기 위해 모든 비정상적 작업을 거부한다.

상태 개념을 사용해서 올바른 복구 방법을 지능적으로 선택하고 사용할 적당한 마스터 승격 프로세스를 결정하므로 노드에 장애가 발생할 경우 복구를 지원한다.



오케스트레이터는 실로미 노아크가 깃허브에서 제공하는 또다른 툴이다. 아파치 라이선스 2.0이 적용된다. 기여자는 34명, 커밋 횟수는 2,780회, 별 수는 900개다.

접시 돌리기
앞서 도입부에서 MySQL 관리자의 역할이 접시 돌리기 묘기를 부리는 사람과 비슷하다는 말을 했다. 상태가 불안정해지고 주의가 필요할 때 구경꾼의 비명 소리는 종종 도움이 된다. PMM(Percona Monitoring and Management)가 바로 이 역할을 한다. 주의가 필요한 부분을 하이라이트함으로써 데이터베이스 관리자가 데이터베이스 문제를 파악해 해결하도록 돕는다.

PMM은 오케스트레이터를 포함한 여러 가지 우수한 오픈소스 툴을 수용해서 종합적인 데이터베이스 모니터링 및 관리 기능을 제공한다. 그래픽을 통해 데이터베이스 서버 상태에 관한 이해하기 쉬운 시각적 단서를 제공하며 MySQL, 마리아DB, 몽고DB 서버를 지원한다. 공개 데모를 직접 사용해 보자!

필자가 꼽은 5가지 툴, 그리고 퍼코나의 모든 소프트웨어와 마찬가지로 PMM 역시 완전히 무료이며 퍼코나 웹 사이트 또는 깃허브에서 다운로드할 수 있는 오픈소스 소프트웨어다.

지금까지 설명한 각 툴은 MySQL 관리자 역할의 여러 가지 측면에서 도움을 준다. 데이터베이스 관리 툴 모음에서 한 자리를 차지할 만하며 각 프로젝트에 참여한 기여자들의 경험과 기술을 활용할 수 있게 해준다. 무료 오픈소스며 각자 환경의 필요에 따라 조정하거나 기본 상태 그대로 사용할 수 있다. 아직 이 유용한 툴을 사용해본 적이 없다면 현재 사용 중인 방법과 툴에 비해 더 유리한 점이 있는지 한번씩 살펴보길 권한다.  editor@itworld.co.kr


2017.12.15

MySQL 관리자를 위한 5가지 추천 오픈소스 툴

Michael Coburn | InfoWorld


Sqlcheck
SQL 안티 패턴은 쿼리 속도를 저하시킬 수 있다. 숙련된 DBA와 개발자도 안티 패턴을 찾아 해결하기 위해 코드를 붙잡고 씨름하는 경우가 많다. Sqlcheck는 빌 카윈의 책 “SQL 안티 패턴: 데이터베이스 프로그래밍의 함정 피하기(SQL Anti-patterns: Avoiding the Pitfalls of Database Programming)”의 내용과 일맥상통한다. 카윈은 안티 패턴을 다음과 같은 네 가지 범주로 분류했다.

1. 논리적 데이터베이스 설계
2. 물리적 데이터베이스 설계
3. 쿼리
4. 애플리케이션 개발



Sqlcheck는 저, 중 고위험으로 분류되는 다양한 위험 수준에 대응할 수 있다. 이를 통해 성능 영향이 가장 큰 쿼리를 우선 처리할 수 있으므로 안티 패턴의 수가 많을 때 유용하다. 개별 쿼리를 파일로 모은 다음 툴에 인수로 전달하기만 하면 된다.

필자는 PMM 데모 환경에서 샘플을 가져와 다음 출력을 생성했다.

[michael@fedora ~]$ sqlcheck —file_name PMMDemoQueries.txt
+————————————————————————-+
| SQLCHECK |
+————————————————————————-+
> RISK LEVEL :: ALL ANTI-PATTERNS
> SQL FILE NAME :: output
> COLOR MODE :: ENABLED
> VERBOSE MODE :: DISABLED
> DELIMITER :: ;
————————————————————————-
==================== Results ===================

————————————————————————-
SQL Statement: select table_schema, table_name, table_type, ifnull(engine, ‘none’) as engine,
ifnull(version, ‘0’) as version, ifnull(row_format, ‘none’) as row_format,
ifnull(table_rows, ‘0’) as table_rows, ifnull(data_length, ‘0’) as data_length,
ifnull(index_length, ‘0’) as index_length, ifnull(data_free, ‘0’) as data_free,
ifnull(create_options, ‘none’) as create_options from information_schema.tables
where table_schema = ‘innodb_small’;
[output]: (HINTS) NULL Usage
[Matching Expression: null]
...
==================== Summary ===================
All Anti-Patterns and Hints :: 7
> High Risk :: 0
> Medium Risk :: 0
> Low Risk :: 2
> Hints :: 5




Sqlcheck는 아파치 라이선스 2.0을 사용한다. 기여자는 5명, 커밋 횟수 187회, 별 수는 1400개다.

오케스트레이터(Orchestrator)
오케스트레이터는 고가용성 및 복제 관리 툴이다. 체인을 위아래로 훑으면서 마스터와 슬레이브를 찾아 MySQL 환경의 복제 토폴로지를 검색하는 기능을 제공한다. 또한 GUI를 통해 복제 토폴로지를 리팩터링하는 데도 사용할 수 있는데, 드래그 앤 드롭 인터페이스를 사용해서 슬레이브를 마스터로 승격할 수 있다. 아주 안전한 작업이다. 사실 오케스트레이터는 시스템 문제를 방지하기 위해 모든 비정상적 작업을 거부한다.

상태 개념을 사용해서 올바른 복구 방법을 지능적으로 선택하고 사용할 적당한 마스터 승격 프로세스를 결정하므로 노드에 장애가 발생할 경우 복구를 지원한다.



오케스트레이터는 실로미 노아크가 깃허브에서 제공하는 또다른 툴이다. 아파치 라이선스 2.0이 적용된다. 기여자는 34명, 커밋 횟수는 2,780회, 별 수는 900개다.

접시 돌리기
앞서 도입부에서 MySQL 관리자의 역할이 접시 돌리기 묘기를 부리는 사람과 비슷하다는 말을 했다. 상태가 불안정해지고 주의가 필요할 때 구경꾼의 비명 소리는 종종 도움이 된다. PMM(Percona Monitoring and Management)가 바로 이 역할을 한다. 주의가 필요한 부분을 하이라이트함으로써 데이터베이스 관리자가 데이터베이스 문제를 파악해 해결하도록 돕는다.

PMM은 오케스트레이터를 포함한 여러 가지 우수한 오픈소스 툴을 수용해서 종합적인 데이터베이스 모니터링 및 관리 기능을 제공한다. 그래픽을 통해 데이터베이스 서버 상태에 관한 이해하기 쉬운 시각적 단서를 제공하며 MySQL, 마리아DB, 몽고DB 서버를 지원한다. 공개 데모를 직접 사용해 보자!

필자가 꼽은 5가지 툴, 그리고 퍼코나의 모든 소프트웨어와 마찬가지로 PMM 역시 완전히 무료이며 퍼코나 웹 사이트 또는 깃허브에서 다운로드할 수 있는 오픈소스 소프트웨어다.

지금까지 설명한 각 툴은 MySQL 관리자 역할의 여러 가지 측면에서 도움을 준다. 데이터베이스 관리 툴 모음에서 한 자리를 차지할 만하며 각 프로젝트에 참여한 기여자들의 경험과 기술을 활용할 수 있게 해준다. 무료 오픈소스며 각자 환경의 필요에 따라 조정하거나 기본 상태 그대로 사용할 수 있다. 아직 이 유용한 툴을 사용해본 적이 없다면 현재 사용 중인 방법과 툴에 비해 더 유리한 점이 있는지 한번씩 살펴보길 권한다.  editor@itworld.co.kr


X