현재 Quartz 는 버젼이 2.2.1 까지 릴리즈됐음 (2013년 9월 24일)
JDK 1.6에서 빌드되어서 배포중 이다.
JAVA 1.5 에서 시스템을 운영중이라면 Quartz 1.7.3 이전버젼을 사용해야된다.
http://quartz-scheduler.org/downloads
현재 Quartz 는 버젼이 2.2.1 까지 릴리즈됐음 (2013년 9월 24일)
JDK 1.6에서 빌드되어서 배포중 이다.
JAVA 1.5 에서 시스템을 운영중이라면 Quartz 1.7.3 이전버젼을 사용해야된다.
http://quartz-scheduler.org/downloads
절차형이 아니고 집합적적으로 생각하라.
정적 파티션과 동적파티션
정적파티션이 흔히 말하는 파티셔닝 테이블이다.
Skew 현상
데이터의 대량 삭제시 인덱스구조가 한쪽으로 쏠리는 현상
정기적으로 리빌드해주는것을 추천
블럭체이닝
다이나믹SQL , 스태틱SQL
스태틱SQL은 매번 SQL을 파싱하여 최적화하는 단계를 거침
다이나믹 SQL 은 컬럼등을 변수처리하여 파싱 및 최적화 단계를 건너뜀
Redo log
DB 장애등의 원복시 사용, Rollback 때도 아마 사용
http://www.techonthenet.com/sql/index.php
http://www.techonthenet.com/oracle/index.php
공부해올것
DB 솔루션은 개발자가 직접 작업을 컨트롤 하지 못한다.
다만 SQL 이라는 언어를 통하여 DB 솔루션과 대화를 하며 개발자가 원하는 데이터를 요청하고
응답 받을 수 있다.
이해를 쉽게 하기 위하여 도서관을 DB 솔루션이라고 가정하고
도서를 대여하기 원하는 우리를 개발자로 가정을 하고 설명을 하겠다.
그리고 이 도서관은 우리가 직접 서고로 찾아가서 책을 찾지 못하고
사서에게 자신이 원하는 책을 말하고 사서가 그 책을 서고에서 찾아서 도서를 대여해 준다.
우리는 도서관에 가서 원하는 책을 찾으려고 한다.
우리가 원하는 책을 가장 빨리 사서를 통하여 찾는 방법은 바로
도서관의 각 책에 부여하는 도서 일련번호를 바로 말하는 것이다..
도서관은 각 도서들만의 유일한 코드를 가지고 있고
도서일련번호순서대로 도서를 관리하고 있으므로
도서일련번호만 말하면 사서는 바로 그 책을 잦아서 우리에게 대여를 해줄 수 있다.
이것이 쉽게 말하면 오라클의 rowid 로 이해할 수 있다.
그 다음으로는 대분류(장르)와 소분류(세부장르)로 구별된 사항과 책의 이름을 말하는 것이다.
물론 출판사나 저자의 이름도 유용하다.
장르, 세부장르, 출판사, 저자 들은 인덱스로 이해할 수 있다.
책의 색깔이나 페이지수 등은 책의 특징이라고 할 수 있다.
그렇다면 PK는 무엇일까?
도서일련번호와는 다르게 도서관에서 분류 및 이해를 쉽게 하기 위하여
역시 각 책마다 유일하게 정의할 수 있도록 도서코드
( 예를 들어 대분류-소분류-출판사-출판사별책순서)를 부여해 놓은 것이라고 할 수 있다.
# 도서코드 |
o 대분류 |
o 소분류 |
o 도서이름 |
o 저자 |
o 출판사 |
o 표지색상 |
o 페이지수 |
o 출판일 |
o 대출횟수 |
그러면 옵티마이저는 무엇일까?
우리가 사서에게 대여를 원하는 책을 말할때
이렇게 말 할 수가 있겠다.
(당연히 책의 일련번호나 도서코드를 모르는 상태에서)
"빨간색 책인데요. 패이지수는 250페이지입니다.
도서이름은 인간관계론 입니다. 자기개발서적이구요.
아참! 저자는 데일 카네기입니다."
SELECT * FROM 도서
WHERE 표지색상='빨간색'
AND 페이지수=250
AND 도서이름='인간관계론'
AND 소분류='자기개발'
AND 저자='데일 카네기'
이 말을 듣고 만일 사서가 무식하게 도서관의 모든 책을 하나씩 보면서
위와 같은 순서로 책을 찾는다면 우리는 엄청난 시간을 사서가 책을 찾아오기까지 기다려야 될 것이다.
하지만 영리한 사서는 아마도 아래와 같은 순서대로 찾을 찾으려고 할것이다.
보다 더 경험이 많은 사서는
첫번째 사서는 교육시간에 배운 매뉴얼대로 찾은 것이고 (룰기반 옵티마이저)
두번째 사서는 오랜 경험으로 나름의 방법을 사용하는 찾는것 이다.(비용기반 옵티마이저)
그렇지만 결국에는 아무리 도서관 사서가 똑똑해도 우리가 도서를 대여할 때 정확하게 내가 찾고자 하는
책을 설명해줘야 된다는 것이다.
"그 책이 제목이 인간.. 머였는데 좀 두꺼웠어요. 아마 200 페이지는 넘을 거에요.
빨간색이였던건 기억나요. 저자는 외국인 이였어요."
SELECT * FROM BOOK
WHERE 도서이름 LIKE '인간%'
AND 페이지수 > 200
AND 표지색상 = 'red'
이렇게 말하면 사서도 고생 여러분도 고생이다.