[오라클(oracle)] 파티션 테이블을 개념(테이블 파티셔닝)
안녕하세요.
오라클의 파티션 테이블에 대해 포스팅하고자 합니다.
저도 자세히 모르기 때문에 하나씩 적어가며 정리하고 있습니다.
바로 시작하겠습니다.
오라클 테이블에서 중요하고도 많이 사용되는 형태의 테이블 입니다.
모든 컴퓨터의 작동 원리는 동일합니다.
평소에 데이터를 파일에 저장해 두고 해당 데이터가 수정되거나 조회되는 경우 메로리로 복사한 후 메모리에 작업하게 됩니다.
이 공간을 일반적으로 버퍼(Buffer)라고 부릅니다.
이렇게 작업을 하는 이유는 디스크 vs 메모리 처리속도를 비교하였을때 메모리에서의 처리속도가 월등히 빠르기 때문입니다.
오라클에서는 이때 사용하는 메모리를 Database Buffer Cache(데이터베이스 버퍼 캐시)라고 합니다.
Database Buffer Cache라는 공간을 Tablespace(테이블스페이스)라는 논리적인 공간으로 나누어서 사용하게 됩니다.
즉, 오라클에서의 작업은 평소에는 디스크의 데이터 파일에 내용을 안전하게 저장하고 있다가 필요할 경우
메모리의 Tablespace라는 공간으로 해당 티이블을 복사해 놓고 작업합니다.
예시)
백화점을 예로 들면 손님이 찾는 모든 물건은 매장에서 판매 됩니다.
매장 = Tablespace
창고 = 데이터 파일
손님이 찾는 물건 = 테이블, 인덱스 등의 오브젝트
메모리에 해당 테이블이 없을 경우 데이터 파일에서 해당 데이터를 찾아서 메모리로 가져온 후 작업을 하게 되는데
만약 하나의 데이터 파일에 아주 많은 대량의 데이터가 들어가 있을 경우 문제가 발생 됩니다.
찾기도 어렵고 관리하기도 어렵기 때문입니다.
그래서 작은 것을 여러 개 만들어서 데이터를 분산시키는 기법이 탄생하게되었는데 이 기법을 테이블 파티셔닝 이라고 합니다.
추가적인 예시로 초등학생 등의 학생들의 수가 너무 많아서 여러개의 반으로 나누어서 관리하는것도 같은 방법이네요.
저는 현재 오라클 11g 버전을 사용하고 있기 때문에 11g 버전을 기준으로 하겠습니다.
오라클 11g에 지원 또는 추가된 Partition 종류 입니다.
Partition 종류
○ Range, list hash partitioning
○ Extended composite partitioning
'개발 > DB' 카테고리의 다른 글
파티션 종류 및 개념 알아보기(Hash Partition, List partition, composite partition) (0) | 2019.11.05 |
---|---|
[오라클(oracle)] range 파티션(partition) 알아보기 (0) | 2019.10.28 |
[오라클(oracle)] sql merge 기능 설명 및 예제 (2) | 2019.10.22 |
[오라클] Join 원리, 개념 파악하기(loop join, sort_merge join, hash join) (4) | 2019.10.19 |
후보키, 기본키 등 관계형 데이터 모델 설명(ER 다이어그램 기호 설명) (0) | 2019.09.02 |
윈도우 64비트 SQLite3 설치 및 실행(콘솔 및 그래픽 활용 가능) (6) | 2019.03.05 |
join delete 사용하기 (0) | 2018.10.30 |