2023년 8월 8일
2024년 출시된 Oracle Database 23ai 릴리스의 핵심 기능은 '컨테이너 데이터베이스'였습니다. 또한 Oracle Database 21c를 기점으로 Oracle Database는 멀티테넌트 컨테이너 데이터베이스 아키텍처만을 지원합니다. 컨테이너 데이터베이스는 '플러그형 데이터베이스(pluggable database)'와 같이 데이터의 접근성 및 이식성을 높이기 위한 데이터베이스입니다. 플러그형이란 다른 컨테이너에 연결할 수 있다는 의미입니다. 컨테이너 데이터베이스는 여러 데이터베이스를 그룹화해 공통적인 기능들을 공유합니다. 구체적으로 '컨테이너란 멀티테넌트 컨테이너 데이터베이스(CDB)의 스키마, 객체 및 관련 구조의 모음집입니다. CDB 내에서 각 컨테이너에는 고유한 ID와 이름이 할당됩니다.' 즉, 하나의 CDB에는 고객이 생성한 0개, 1개 또는 여러 개의 플러그형 데이터베이스(PDB) 및 애플리케이션 컨테이너가 포함됩니다.
CDB 내부에는 두 개의 데이터베이스, 즉 루트 및 시드가 포함되어 있습니다. 루트에는 사용자 정보 일부 및 Oracle 메타데이터가 저장되어 있습니다. 시드는 CDB 내부의 플러그형 데이터베이스로서, 더 많은 PDB를 생성하기 위한 일종의 템플릿으로 사용됩니다. 일반 데이터베이스와 마찬가지로 PDB에는 IDE를 사용해 데이터베이스에 연결하고 작업할 수 있는 객체, 데이터, 스키마가 포함되어 있습니다.
CDB 내에 여러 개의 데이터베이스가 있는 이유는 무엇일까요? 복잡성을 가중시키는 방식처럼 보일 수도 있지만, 사실 이는 리소스를 더 유연하고 효율적으로 사용할 수 있게 해 주는 방식입니다. 해당하는 리소스들을 함께 패키징하면 여러 가상 머신에서 여러 데이터베이스를 직접 관리하는 번거로움 없이 데이터 및 코드를 필요한 지점으로 더 쉽게 이동할 수 있습니다. 개발자들이 Kubernetes와 같은 프로젝트를 통해 발견한 바와 같이 컨테이너를 사용하면 여러 상황에서 뚜렷한 이점을 누릴 수 있습니다. CDB는 데이터베이스 분야에서 비슷한 이점을 제공합니다.
주된 이점들은 다음과 같습니다.
컨테이너 및 플러그형 데이터베이스는 여전히 기존 데이터베이스처럼 액세스하고 활용할 수 있으며, 개발자는 SQL Developer와 같은 익숙한 IDE를 사용해 CDB/PDB를 연결하고 관리할 수 있습니다. 개발자는 주로 CDB 내의 플러그형 데이터베이스에 연결해 필요에 따라 데이터를 관리하게 됩니다.
Oracle Database 23ai에 도입된 데이터베이스 개념 및 CDB와 PDB의 차이점에 대한 자세한 내용은 Oracle Database Concepts 페이지를 참고하세요. Oracle Database 23ai는 과거 버전들을 통해 추가되어 온 혁신 기술들을 바탕으로 JSON 관계형 이중성, 마이크로서비스 지원, SQL 개선사항을 비롯한 다양한 신기능을 선보였습니다.