1. 오라클 인메모리 개요:
- 오라클 인메모리는 데이터베이스 성능 향상을 위한 기술로, 데이터를 SGA의 인메모리 영역에 로드한 후 처리하여 빠른 데이터 접근 및 분석 가능
- 주로 분석 쿼리(OLAP) 성능 향상에 초점을 맞추고 있으며, OLTP 환경에서도 성능 향상을 기대할 수 있음
- 활용분야:
- 실시간 대시보드 및 보고서: 인메모리에 실시간 데이터를 로드하고, 이를 기반으로 대시보드 및 보고서를 생성하여 경영진 또는 담당자가 실시간으로 데이터를 분석하고 의사 결정을 내릴 수 있도록 지원
- 캐싱: 인메모리를 캐시로 활용하여 자주 사용되는 데이터를 메모리에 저장하여, 데이터 접근 속도 향상
- 활용분야:
- 오라클 12.1.0.2 버전에 최초 도입
2. 로우 포맷과 컬럼 포맷:
- 오라클 인메모리는 데이터를 로우 포맷과 컬럼 포맷 두 가지 형태로 메모리에 저장
- 로우 포맷: 일반적인 데이터베이스 저장 방식으로, 트랜잭션 처리(OLTP)에 유리
- 개념: 데이터를 행(row) 단위로 저장하며, 각 레코드의 모든 필드(열) 값을 하나의 연속된 블록에 저장
- 특징: 트랜잭션 처리(OLTP)에 유리하며, 레코드 단위의 삽입, 수정, 삭제 작업에 효율적
- 컬럼 포맷: 분석 쿼리(OLAP)에 특화된 저장 방식으로, 특정 열의 데이터만 빠르게 처리 가능
- 개념: 데이터를 열(column) 단위로 저장하며, 같은 열에 해당하는 모든 레코드의 값을 하나의 연속된 블록에 저장
- 특징: 분석 쿼리(OLAP)에 특화된 저장 방식으로, 특정 열의 데이터만 빠르게 처리 가능
- 온라인 쇼핑몰에서 고객이 상품을 주문하면 로우 포맷으로 주문 정보를 저장하고, 컬럼 포맷으로 매출 분석에 필요한 데이터 업데이트 수행, 이렇게 하면 주문 처리 속도를 높이면서도 실시간으로 매출 분석 수행 가능
- 로우 포맷: 일반적인 데이터베이스 저장 방식으로, 트랜잭션 처리(OLTP)에 유리
- 인메모리 기능은 두 포맷을 동시에 사용하여 OLTP와 OLAP 작업을 모두 효율적으로 처리
3. 인메모리 기능의 특징:
- 컬럼 스토어: 데이터를 컬럼 단위로 저장하여 분석 쿼리 성능 향상
- 데이터 압축: 메모리 사용량을 줄이기 위해 데이터를 압축하여 저장
- 스토리지 인덱스: 불필요한 데이터 로드를 줄여 메모리 사용량을 최적화
- 스토리지 인덱스는 Oracle Exadata에서 사용되던 기술로, 데이터베이스가 디스크에서 데이터를 읽어올 때 불필요한 데이터 블록을 필터링하는 데 사용하여 메모리에 로드해야 할 데이터 블록을 미리 식별하여 I/O 오버헤드를 줄이는 역할 수행
- 일반 데이터베이스에서도 WHERE 조건을 통해 데이터 범위를 지정할 때 인덱스를 사용하면 스토리지 인덱스와 유사한 효과를 기대할 수 있음
- SIMD (Single Instruction, Multiple Data) 벡터 프로세싱: CPU 수준에서 병렬 처리를 통해 데이터 처리 속도 향상
- 여러 개의 데이터 요소를 SIMD 벡터 레지스터에 로드하고, 하나의 명령어로 벡터 레지스터의 모든 요소를 동시에 처리
- AIM (Automatic In-Memory): 데이터베이스가 작업 부하와 데이터 접근 패턴을 분석하여 자주 사용되는 데이터를 자동으로 In-Memory 영역에 로드하고, 사용 빈도가 낮은 데이터는 자동으로 제거하는 기능
4. 19c DB 무료 인메모리 기능:
- 오라클 19.8 버전부터 In-Memory 옵션 기능을 최대 16GB까지 무료로 사용 가능
- Windows 와 HP-UX의 경우 19.9 버전부터 사용가능
- alter system set inmemory_force=base_level scope=spfile;
- alter system set inmemory_size=16G scope=spfile;
- RAC 환경 지원 (노드당 16GB), Init Parameter 설정, 낮은 수준의 쿼리 압축 기능 압축 기능 등을 제공
- AIM 기능, 특정 컬럼 선택, Exadata 환경에서의 CELLMEMORY 사용은 유료 버전에서만 가능
5. CELLMEMORY:
- Oracle Exadata 시스템에서 사용되는 플래시 메모리 기반 캐시 기술로, 데이터베이스 성능을 향상시키는 역할 수행
- 플래시 메모리: Exadata 스토리지 서버에는 플래시 메모리가 탑재되어 있으며, CELLMEMORY는 이 Exadata 스토리지 서버에 탑재된 플래시 메모리를 데이터베이스 캐시로 활용
- Smart Scan (스마트 스캔): Exadata 스토리지 서버에서 스마트 스캔이라는 기술을 통해 데이터 필터링 및 처리를 수행하고, CELLMEMORY는 스마트 스캔 과정에서 필터링된 데이터를 플래시 메모리에 저장하여 후속 쿼리 성능 향상
- Memory Tiering (메모리 계층화): CELLMEMORY는 DRAM 캐시와 플래시 메모리 캐시를 계층화하여 데이터를 관리하며, 자주 사용되는 데이터는 DRAM 캐시에 저장하고, 덜 자주 사용되는 데이터는 플래시 메모리에 저장하여 메모리 효율성을 높임
'Oracle Database > Training' 카테고리의 다른 글
5장. ACO (Advanced Compression Option) (0) | 2025.03.10 |
---|---|
3장. Backup and Recovery (0) | 2025.03.06 |
2장. High Availability (0) | 2025.03.06 |
1장. Administration (0) | 2025.03.05 |