파티셔닝의 지원
- Range파티셔닝 : 특정 Row의 지정한 범위를 기준으로 처리
- List파티셔닝 : 일련의 값들중 특정값들을 기준으로 처리
- Hash파티셔닝 : 정해진 파티셔닝 개수에 따라 해시 함수를 이용해서 균등하게 처리
- Key파티셔닝 : 정의된 키를 기준으로 처리
- Sub파티셔닝 : 상기파티셔닝된것을 다시한번 파티셔닝 하는 방법
Rnage파티셔닝
- 지정한 값의 Row를 기준으로 처리, 주로 기간 분할에 사용
- Range의 법위는 연속적이여야하고 겹쳐서는 안됨
- VALUES LESS THAN 구문 이용
- MAXVALUE는 가능한 최대값을 이용
- Alter table로 추가적인 파티션 생성 가능
- 칼럼이 Date나 Time을 가지고 있을때 유용
List파티셔닝
- Range와 흡사하나 List는 값들의 목록의 일부를 지정, 사원정보를 부서코드별로 파티셔닝
- 5.1버전에서는 List는 정수값만 가능
- 정수값 외에는 NULL가능
- List에 해당하지 않는 값을 INSERT시 에러 발생
Hash파티셔닝
- 정해진 파티셔닝 개수에 따라 데이터를 균등하게 배분
- 개수만 지정해주면 나머진 알아서 처리됨
- PARTITION BY HASH(exp)를 사용하는데 exp는 항상 정수형 값을 반환해야함
- 테이블이 UniqueKey를 가진 경우 HASH함수에서 사용되는 컬럼은 반드시 그 키의 일부여야함
- LINEAR HASH 파티셔닝 지원
KEY파티셔닝
- HASH파티셔닝과 거의 흡사하나 유저가 지정한 키에 따라 처리
- KEY파티셔닝을 위한 해시 함수는 MySQL서버에서 제공
- Cluster는 MD5 사용 그외는 Password()와 같은 알고리즘 사용
- PK있으면 사용하고 없으면 not null로 정의된 Unique Key를 사용
- Key값이 정수형이나 Null이 아니어야하는 제한 없음
Sub파티셔닝
- 파티션으로 분리된 파티션을 다시 분리
- 모든 파티션은 동일한 개수의 서브 파티션을 지정해야함
- 5.1.8이후 서브파티션의 이름은 유니크 해야함
XML 기능
- 5.1.5버전 부터 XPath를 위한 기능 추가
- 아직까지는 미약함
이벤트 스케줄러
- 데이터베이스 배치 등의 반복잡업을 위한 스케줄러
- 이벤트는 일회성 이벤트와 반복 이벤트로 구분됨
- 이벤트 스케줄러 쓰레드가 실행
- DB가 비정상종료시 스케줄도 무효가 되므로 사용에 유의
Row 기반 리플리케이션
- 기존 Statement기반과 함께 추가적으로 Row기반이 추가됨
- Row에 대한 이미지를 전송되어 처리
- 세션별로 Statement, Row 구분 처리가능
- Mixed 방식으로 비용이 낮은 것으로 처리 가능
- 트랜잭션에 대한 안정성 보장(시간 등의 경우 서버별 시간차이발생 가능)
- 슬레이브에서는 Lock를 적게 사용
- 작은단위 트랜잭션의 경우 더 빠르게 처리가능
데이터베이스화된 로그
- 로그를 DB화 시켜 저장시킬수 있게 되어서 기동중 On/Off를 처리 가능
- 로그 처리 방법이 편해질 수 있음
- 단 DB부하가 높아질 수 있어 사용에 주의
디스크 기반 MySQL 클러스터
- 메인메모리 기반에 디스크 기반의 클러스터 기능 추가
- 인덱싱되지 않은 데이터의 경우 디스크에 저장 가능
- 리플리케이션 기능이 추가됨
댓글 없음:
댓글 쓰기