DBMS
(database management system, DBMS) 란?
데이터베이스라는 데이터의 집합을 만들고, 저장 및 관리할 수 있는 기능들을 제공하는 응용프로그램이다. 즉, 데이터의 관리에 특화된 프로그램이라고 생각하면 편하다.
널리 알려진 DBMS로는 오라클사의 오라클과 Mysql, MariaDB의 MariaDB 등등 많다!
DBMS
(database management system, DBMS) 기능
중복 제어 : 동일한 데이터가 여러 위치에 중복 저장되는 현상을 방지한다. 데이터가 중복되면, 저장 공간이 낭비되고 데이터의 일관성이 깨질 수 있다.
접근 통제 : DBMS는 사용자마다 다양한 권한을 부여할 수 있으며, 권한에 따라 데이터에 대한 접근을 제어할 수 있다.
인터페이스 제공 : DBMS는 사용자에게 SQL 및 CLI,GUI등 다양한 인터페이스를 제공한다.
관계 표현 : 서로 다른 데이터간의 다양한 관계를 표현할 수 있는 기능을 제공한다.
무결성 제약 조건 : 무결성에 관한 제약 조건을 정의/검사하는 기능을 제공한다. 데이터베이스는 반드시 무결성 제약조건을 통과한 데이터만을 저장하고 있어야 한다.
DBMS (database management system, DBMS) 장단점
장점
- 데이터의 논리적, 물리적 독립성이 보장된다.
- 데이터의 중복을 피할 수 있어서 기억공간이 절약된다.
- 저장된 자료를 공동으로 사용할 수 있다.
- 데이터의 일관성, 무결성을 유지할 수 있다
- 보안이 유지된다.
- 데이터를 표준화, 통합 관리가 가능하다.
- 최신의 데이터를 유지할 수 있고, 데이터의 실시간 처리가 가능하다.
단점
DBMS는 데이터를 관리하는 최선의 방법이 아니다. DBMS는 위의 기능을 만족해야 하기에, 필연적으로 많은 오버헤드가 발생한다.
때문에 휴대폰등의 임베디드 기기 같은 단순한 데이터베이스(예를 들어 전화번호 등)의 경우는 다중사용자나 회복 기능등을 뺀 단순한 DBMS등을 만들어 사용하기도 한다.
실시간 데이터 처리가 필요한 경우(예를 들어 군용, 항공/우주용 등)에도 일반적으로 복잡한 기능을 제공하는 DBMS가 적합하지 않다. 다만, 통신망, 금융권등에서의 실시간 데이터 처리 개념에서는 오라클의 이나 알티베이스HDB와 같은 MM DBMS(Main Memory DBMS) 또는 In Memory DBMS제품을 실시간 데이터 처리가 요구되는 구간에 사용하고 이력 데이터와 같은 저장성이 중요시 되는 데이터는 back-end 구간에 전통적인 디스크 기반 DBMS를 사용하는 방식으로 시스템을 구성하기도 한다.
검색엔진등 극단적으로 데이터가 크며, READ/WRITE간의 격차가 큰 경우에도 일반적인 DBMS를 사용하지 않는다. 이러한 경우는 MM DBMS와 Nosql기술을 혼용하여 서비스를 구축한다. No SQL 기술이 응용된 사례가 페이스북의 쪽지 기능이다.
댓글
댓글 쓰기