데이터베이스 인스턴스
From IT위키
Database Instance
데이터베이스 인스턴스는 특정 시점에 데이터베이스에 저장된 데이터의 실제 내용을 나타낸다.
- 데이터베이스 State 또는 Extension이라고도 불린다.
스키마와의 차이[edit | edit source]
- 데이터베이스 스키마가 데이터베이스의 구조를 정의하는 반면, 인스턴스는 그 구조를 바탕으로 저장된 데이터의 상태를 의미한다.
- 데이터베이스 스키마는 잘 변하지 않지만 인스턴스는 데이터가 삽입, 수정, 삭제 될 때마다 변한다.
예시[edit | edit source]
예를 들어, Employees라는 테이블이 다음과 같은 스키마를 가진다고 하자:
Column Name | Data Type |
---|---|
employee_id | INT |
name | VARCHAR |
department_id | INT |
salary | DECIMAL |
이 테이블의 데이터베이스 인스턴스는 특정 시점에 다음과 같이 저장될 수 있다:
employee_id | name | department_id | salary |
---|---|---|---|
1 | Alice | 101 | 50000.00 |
2 | Bob | 102 | 60000.00 |
3 | Charlie | 101 | 55000.00 |
이 데이터는 특정 시점에 Employees 테이블의 상태를 나타낸다. 시간이 지나면서 새로운 직원이 추가되거나 기존 직원의 정보가 변경되면, 데이터베이스 인스턴스는 변하게 된다.
동음이의어인 인스턴스(Instance)[edit | edit source]
이론이 아닌 실무적인 관점에서 "데이터베이스 인스턴스"라고 하면 독립적으로 설치되고 동작하는 DBMS 그 자체를 가리키는 경우가 많다.
- 클라우드에서 말하는 VM 인스턴스와 유사한 개념이다.
- 예를 들어 "하나의 서버에 2개 DB 인스턴스가 동작한다"라고 하면 하나의 서버에 DBMS를 2개를 설치했다는 의미이다. 이 둘은 서로 별도의 포트를 가지고 각자 자원을 사용하며 독립적으로 동작한다. 당연히 기본적으로 조인 등 어떠한 연계도 되지 않는다.
- 그리고 데이터 보호 관점에서 "물리적인 서버는 구분하지 않았지만 DB 인스턴스를 구분했다"라는 것도 마찬가지로 DBMS를 구분하여 여러개를 설치하여 운영하고 있음을 나타낸다. 단순히 DB(또는 스키마)를 구분한 것 보다 더 높은 격리 수준을 가진 것으로 인정된다.