가상 데이터베이스

위키원
tjdgus399 (토론 | 기여)님의 2020년 8월 18일 (화) 12:17 판
이동: 둘러보기, 검색

가상 데이터베이스란 다양한 시스템과 응용 프로그램 등에 흩어져 있는 이질적인 데이터들을 서로 연결하여 마치 하나의 데이터베이스인 것처럼 단일 쿼리(Query)를 사용하여 원하는 값을 얻을 수 있도록 해 주는 데이터베이스를 말한다. 연합 데이터베이스(Federated Database)라고도 한다. 사용자가 단일 쿼리를 실행하면, 시스템 내부에서 여러 개의 서브쿼리(Subquery)를 실행하여 그 결과값을 연결하여 마치 하나의 쿼리를 실행한 것처럼 통합적으로 보여준다. 데이터통합(DI)을 구현하기 위한 핵심기술이다.

개요

프로그램 작성자가 가상 논리 구조로서 뜻매김한 데이터베이스로, 프로그램 작성자는 데이터베이스 내의 데이터 배치를 알 필요 없이 응용 프로그램을 작성할 수 있다.[1]

가상 데이터베이스는 하나의 엔티티인 것처럼 여러 소스에서 추출되는 균일한 API를 통해 다른 여러 데이터베이스를 투명하게 보고 쿼리하는 컨테이너 역할을 하는 데이터베이스 관리 시스템 유형이다. 이러한 데이터베이스는 컴퓨터 네트워크를 통해 열결되고 단일 데이터베이스에서 가져온 것처럼 액세스된다. 가상 데이터베이스의 목표는 여러 데이터베이스에서 데이터를 복사 및 복제하거나 여러 쿼리의 결과를 수동으로 결합 할 필요없이 통합 된 방식으로 데이터를 보고 액세스 할 수 있도록 하는 것이다.[2]

특징

가상 데이터베이스 장점

시스템에 결합 된 각 데이터베이스는 완전히 자립적이고 기능적이며 기존의 다른 데이터베이스에 의존하지 않고 자체적으로 작동 할 수 있습니다. 애플리케이션이 가상 데이터베이스에 대한 액세스를 요청하면 시스템은 사용자가 요청한 데이터가 포함 된 데이터베이스를 파악하고 요청을 해당 데이터베이스로 전달합니다. 가상 데이터베이스 구축에서 가장 중요하고 어려운 부분은 회사 내의 모든 데이터 소스에 대한지도 또는 가이드 역할을하는 범용 데이터 모델을 구축하는 것입니다.

병합기술

중앙 컨테이너 아래에 여러 데이터베이스를 통합함으로써 가상 데이터베이스는 많은 이점을 제공합니다. 주요 장점 중 하나는 대부분의 최종 사용자가 수행하기 어려운 작업 인 여러 데이터베이스에 대한 대체 병합 기술 역할을한다는 것입니다. 또한 공급 업체 및 스키마 잠금을 제거하여 개발자가 애플리케이션의 긴밀한 연결을 피하는 데 도움을 줄 수 있습니다. 여러 데이터베이스에 액세스하려면 응용 프로그램을 가상 데이터베이스에 연결하기 만하면됩니다.[2]

활용

가상 데이터 파티셔닝

데이터베이스가 커짐에 따라 데이터 저장소를 분할하는 행위는 수십년 동안 사용되어 왔다. 레거시 데이터 관리 시스템 내에서는 데이터를 분할하는 두가지 기본 방법이 있다.

  • 공유 데이터베이스

모든 데이터베이스 클러스터 노드가 단일 파티션을 공유한다고 가정하는 아키텍처이다. 노드 간 통신은 클러스터의 다른 노드에서 수행하는 업데이트 활동을 동기화하는 데 사용된다. 공유 데이터 데이터 관리 시스템은 한 자리 노드 클러스터로 제한된다.

  • Shared-Noting 데이터베이스

모든 데이터가 명확하고 잘 정의된 데이터 위치 경계가 있는 내부 관리 파티션으로 분리되는 아키텍처이다. 비공유 데이터베이스에는 수동 파티션 관리가 필요하다.

가상 파티셔닝에서 논리적 데이터는 많은 수의 데이터 파티션(100 ~ 1000)을 자율적으로 생성하고 관리하여 물리적 데이터에서 추상화된다. 자율적으로 유지 관리되기 때문에 파티션을 관리하는데 필요한 리소스가 최소화된다. 이러한 종류의 대규모 파티셔닝 결과로는 작고 효율적으로 관리되며 주하가 분산된 파티션과 하드웨어가 변경된 경우에도 추가 파티션을 정의하기 위해 이벤트를 다시 파티셔닝 할 필요가 없는 시스템, 두 개가 나올 수 있다.

"공유 데이터" 및 "비공유" 아키택처는 전체 파티션 스캔없이 다중 데이터 파티션과 교차 파티션 쿼리 및 트랜잭션 처리를 통해 확장성을 허용한다.

수평 데이터 파티셔닝

소비자로부터 데이터베이스 소스를 분할하는 것이 기본 개념이다. 데이터베이스 소스 수가 많을수록 소스와 소비자 사이에 수평 데이터 가상화 계층을 삽입하면 이러한 복잡성을 해결하는 데 도움이 된다. SQL 및 관계형 데이터베이스에 대한 여러 책의 저자인 Rick van der Lans는 데이터 가상화를 "데이터 소비자에게 위치, 스토리지 구조, API, 액세스와 같은 저장된 데이터의 기술적 측면을 숨기는 데이터 액세스 인터페이스를 제공하는 프로세스로 정의했다.[3]

장점

  • 기존 컴퓨팅 인프라에 대한 유연성 및 민첩성 추가
  • 향상된 데이터베이스 성능
  • 컴퓨팅 리소스 풀링 및 공유, 분할 (멀티 테넌시) 또는 결합 (클러스터링)
  • 관리 및 관리의 단순화
  • 내결함성 향상

각주

  1. <가상 데이터 베이스><<지식백과>>
  2. 2.0 2.1 <가상 데이터베이스><<techopedia>>
  3. <데이터베이스 가상화><<위키백과>>

참고 자료

같이보기