데이터베이스는 통합하여 관리되는 데이터 집합입니다. 다수의 인원, 시스템, 프로그램이 사용할 목적으로 데이터 집합을 관리합니다. 데이터를 효과적으로 관리하려면, 자료의 중복성을 제거하고 무결성을 확보해야 합니다. 또한 일관성을 유지하고 유용성을 보장하는 것이 중요합니다. 다시 말해, 데이터베이스는 통합된 데이터, 공용데이터, 운영 데이터, 저장된 데이터입니다. 데이터베이스와 데이터베이스 관리 시스템에 대해 알아보겠습니다.
데이터베이스 특성
데이터베이스는 네 가지 특성을 가집니다. 첫번 째로 Real-Time Accessibility, DB는 실시간 응답이 가능해야 합니다. 데이터베이스에서는 실시간으로 데이터의 삽입, 삭제, 갱신이 일어나는데, 이때 항상 최신의 데이터를 유지해야 합니다. 이 특성을 Continuous Evolution이라고 합니다. 데이터베이스는 다수의 사용자가 동시에 데이터를 이용할 수 있어야 합니다(Concurrent Sharing). 마지막 특성으로 Content Reference, 사용자가 데이터베이스에 있는 데이터를 참조할 때 데이터 내용으로 데이터를 찾는 특성이 있습니다.
데이터베이스 종류
데이터베이스 종류에는 파일 시스템, 관계형 데이터베이스 관리시스템, 계층형 데이터베이스 관리시스템, 네트워크 데이터베이스 관리시스템이 있습니다.
세부적으로 파일 시스템에는 ISAM, VSAM이 있습니다. ISAM은 Indexed Sequential Access Method의 약어입니다. ISAM에서 자료 내용은 주 저장부, 자료의 색인은 자료가 기록된 위치와 함께 색인부에 기록됩니다. Virtual Storage Access Method는 대형 운영체제에서 사용되는 파일 관리시스템입니다.
관계형 데이터베이스 관리 시스템은 RDBMS라고 하며 가장 보편화된 데이터베이스 관리 시스템입니다. RDBMS는 변화가 많은 업무와 데이터 구조에 대해 유연성이 좋습니다. 유연성이 좋으면 유지 관리가 용이합니다. RDBMS 종류는 Maria DB, Oracle, MySQL, SQL Server가 있습니다.
DBMS; Database Management System 데이터베이스 관리 시스템
SNS의 발달과 폭넓게 활용되는 빅데이터로 인해 데이터의 종류와 양이 급격히 증가하고 있습니다. DBMS는 데이터 관리의 복잡성을 해결하는 소프트웨어입니다. DBMS는 데이터의 형태 및 관리 방식에 따라 유형이 구분됩니다. 컬럼 기반 데이터 저장 DBMS, 그래프 DBMS, Key-Value DBMS, 문서 저장 DBMS 등 네 가지 유형을 소개합니다.
DBMS 유형 4가지
Key-Value DBMS는 Key 기반 Get/Put/Delete를 제공합니다. 또한 메모리 기반에서 성능을 우선하는 시스템이며 빅데이터를 처리할 수 있습니다. 키-값 DBMS는 Unique Key에 하나의 값을 갖고 있는 형태입니다. 대표적으로 Redis와 DynamoDB가 있습니다.
다음은 컬럼 기반 데이터 저장(Column Family Data Store) DBMS입니다. Key 안에 (Column, Value) 조합으로 된 필드를 갖는 DBMS입니다. 테이블 기반이며, 조인은 지원하지 않습니다. 구글의 Bigtable 기반으로 구현됐습니다. 대표적으로 HBase, Cassandra가 있습니다.
문서 저장(Document Store) DBMS는 값(Value)의 데이터 타입이 문서(Document)입니다. 세부적으로 문서는 XML, JSON과 같이 구조화된 타입으로 복잡한 계층 구조를 표현할 수 있습니다. MongoDB, Couchbase가 대표적인 Document Store DBMS입니다.
마지막으로 그래프(Graph) DBMS가 있습니다. 시맨틱 웹과 온톨로지 분야에서 활용되는 그래프로 데이터를 표현합니다. 노드간 관계를 구조화하여 저장하며, 대표적으로 Neo4j, AllegroGraph가 있습니다.
DBMS 특징 5가지
데이터베이스 관리 시스템은 다섯 가지 특징을 갖습니다. 무결성, 일관성, 회복성, 보안성, 효율성입니다. 같은 내용에 대해 서로 다른 데이터가 저장되는 것을 허용하지 않는 특징을 무결성이라고 합니다. 데이터 삽입, 삭제, 갱신, 생성 후에도 데이터가 변함없이 일정해야 하는 특징은 일관성입니다. 회복성은 장애가 발생했을 때, 특정 시점의 상태로 복구되어야 하는 성질입니다. 또한 DBMS가 불법적으로 노출되거나 변경, 손실될 수 있는 상황으로부터 보호되어야 한다는 특징을 보안성이라고 합니다. 효율성은 응답 시간, 저장 공간 활용이 최적화되어 사용자, 소프트웨어, 시스템 등의 요구 조건을 만족시켜야 하는 성질입니다.
댓글