데이터베이스 종류 ⭐⭐⭐
데이터베이스
1. 데이터베이스 개념
- 다수의 인원, 시스템 또는 프로그램이 사용할 목적으로 통합하여 관리되는 데이터의 집합
- 데이터에 대한 효과적인 관리를 위해 자료의 중복성 제거, 무결성 확보, 일관성 유지, 유용성 보장이 중요
- 데이터베이스 정의
정의 | 설명 |
통합된 데이터 (Integrated Data) | 자료의 중복을 배재한 데이터의 모임 |
저장된 데이터 (Stored Data) | 저장 매체에 저장된 데이터 |
운영 데이터 (Operational Data) | 조직의 업무를 수행하는 데 필요한 데이터 |
공용 데이터 (Shared Data) | 여러 어플리케이션, 시스템들이 공동으로 사용하는 데이터 |
2. 데이터베이스 특성
특성 | 설명 |
실시간 접근성 (Real-Time Accessibility) | 쿼리에 대하여 실시간 응답이 가능해야 함 |
계속적인 변화 (Continuous Evolution) | 새로운 데이터의 삽입, 삭제, 갱신으로 항상 최신의 데이터를 유지함 |
동시 공용 (Concurrent Sharing) | 다수의 사용자가 동시에 같은 내용의 데이터를 이용할 수 있어야 함 |
내용 참조 (Content Reference) | 데이터베이스에 있는 데이터를 참조할 때 데이터 레코드의 주소나 위치에 의해서가 아니라, 사용자가 요구하는 데이터 내용으로 데이터를 찾는다. |
3. 데이터베이스 종류
① 파일 시스템 개념
- 파일에 이름을 부여하고 저장이나 검색을 위하여 논리적으로 그것들을 어디에 위치시켜야 하는지 등을 정의한 뒤 관리하는 데이터베이스 전 단계의 데이터 관리방식
- 종류
종류 | 개념 |
ISAM | · Index Sequential Access Method · 자료 내용은 주 저장부, 자료의 색인은 자료가 기록된 위치와 함께 색인부에 기록되는 시스템 |
VSAM | · Virtual Storage Access Method · 대형 운영체제에서 사용되는 파일 관리시스템 |
② 관계형 데이터베이스 관리시스템 (RDBMS : Relational Database Management System)
- 관계형 DBMS는 관계형 모델을 기반으로 하는 가장 보편화된 데이터베이스 관리시스템
- 데이터를 저장하는 테이블의 일부를 다른 테이블과 상하 관계로 표시하며 상관관계를 정리
- 변화하는 업무나 데이터 구조에 대한 유연성이 좋아 유지 관리가 용이
- 종류 : Oracle, SQL Server, MySQL, Maria DB 등..
③ 계층형 데이터베이스 관리시스템 (HDBMS : Hierarchical Database Management System)
- 데이터를 상하 종속적인 관계로 계층화하여 관리하는 데이터베이스
- 데이터에 대한 접근 속도가 빠르지만, 종속적인 구조로 인하여 변화하는 데이터 구조에 유연하게 대응하기가 쉽지 않다.
- 종류 : IMS, System2000 등..
④ 네트워크 데이터베이스 관리시스템 (NDBMS : Network Database Management System)
- 데이터의 구조를 네이트워상의 망상 형태로 표현한 데이터 모델
- 트리 구조나 계층형 데이터베이스보다는 유연하지만 설계가 복잡한 단점이 있다.
- 종류 : IDS, IDMS 등..
3. 데이터베이스 관리 툴
- DB 관리자(DBA)들이 데이터 베이스를 편리하고 쉽게 다룰 수 있도록 도와주는 도구
- 오픈 소스 기반으로 무료로 사용할 수 있는 툴과 상용화로 비용을 지불해야 사용할 수 있는 툴이 존재
- 기능
기능 | 설명 |
데이터베이스 생성, 삭제 | CREATE와 DROP 명령을 통해 데이터베이스 생성 및 삭제 기능 |
SQL 명령어 작성 및 실행 | SELECT, INSERT, UPDATE, DELETE 명령을 통해 데이터를 조회, 입력, 수정, 삭제가 가능 |
상태 모니터링 | 받은 데이터양, 보낸 데이터양, 동시 연결 수, 실패한 시도 등의 상태 표시 |
사용자 계정 관리 | 최상위 레벨의 SYS 계정, SYS로부터 DBA 권한을 받은 SYSTEM 계정, 일반 사용자 계정 등의 관리가 가능 |
데이터베이스 내보내기 / 가져오기 | 데이터베이스 마법사를 통해 파일형태로 데이터 내보내기 / 가져오기 가능 |
환경설정 | 버퍼의 크기, 동시 접속 클라이언트 숫자, 스레드 숫자 등의 환경변수 설정 |
DBMS
1. DBMS 개념
- 데이터 관리의 복잡성을 해결하는 동시에 데이터 추가, 변경, 검색, 삭제 및 백업, 복구, 보안 등의 기능을 지원하는 소프트웨어
- 저장되는 정보는 텍스트, 이미지, 음악 파일, 지도 데이터 등 매우 다양하며, SNS의 발달과 빅데이터의 폭넓은 활용으로 인해 데이터의 종류와 양은 급격히 증가 중이다.
2. DBMS 유형
유형 | 설명 |
키 - 값 DBMS | · 키 기반 Get / Put / Delete 제공, 메모리 기반에서 성능 우선 시스템 및 빅데이터 처리 가능 DBMS · Unique 한 키에 하나의 값을 가지고 있는 형태 · 예) Redis, DynamoDB |
컬럼 기반 데이터 저장 DBMS | · Key 안에 (Column, Value) 조합으로 된 여러 개의 필드를 갖는 DBMS · 데이블 기반, 조인 미지원, 컬럼 기반으로 구글의 Bigtable 기반으로 구현 · 예) HBase, Cassandra |
문서 저장 DBMS | · 값의 데이터 타입이 문서라는 타입을 사용하는 DBMS · 문서 타입은 XML, JSON과 같은 구조화된 데이터 타입으로, 복잡한 계층 구조 표현 가능 · 예) MongoDB, Couchbase |
그래프 DBMS | · 시맨틱 웹과 온톨로지 분야에서 활용되는 그래프로 데이터를 표현하는 DBMS · 노드와 엣지로 특징되는 요소 특화, 노드 간 관계를 구조화하여 저장 · 예) Neo4j, AllegroGraph |
3. DBMS 특징
특징 | 설명 |
데이터 무결성 | 부적절한 자료가 입력되어 동일한 내용에 대하여 서로 다른 데이터가 저장되는 것을 허용하지 않는 설징 |
데이터 일관성 | 삽입, 삭제, 갱신, 생성 후에도 저장된 데이터가 변함없이 일정 |
데이터 회복성 | 장애가 발생하였을 시 특정 상태로 복구되어야 하는 설징 |
데이터 보안성 | 불법적인 노출, 변경, 손실로부터 보호되어야 하는 설징 |
데이터 효율성 | 응답 시간, 저장 공간 활용 등이 최적화되어 사용자, 소프트웨어, 시스템 등의 요구 조건을 만족시켜야하는 성질 |
4. 상용 DBMS 및 오픈 소스 기반 DBMS
① 상용 DBMS
- 상용 데이터베이스 관리시스템은 특정 회사에서 유료로 판매하는 시스템이다.
- 유지보수와 지원이 원활하다.
② 오픈 소스 기반 DBMS
- 오픈 소스 기반 데이터베이스 시스템은 오픈 소스 라이선스 정책을 준용하는 범위 내에서 사용이 자유롭다.
- 오픈 소스 기반 데이터베이스 관리 시스템 사용 시 고려 사항
· 기업들의 원가 절감 노력과의 상관관계 파악한다. · 인공 지능, 클라우드, 빅데이터 등 새로운 기술의 증가에 따른 오픈 소스 데이터베이스 관리시스템의 대응 동향을 분석한다. · 오픈 소스 진영에서 보안, 안정성에 대한 우려를 해결하고자 노력하는지를 조사한다. · 정책적으로 오픈 소스 데이터베이스 관리시스템 활성화를 추진하는 사례를 정리한다. |
데이터베이스 기술 트렌드
1. 빅데이터
① 빅데이터 개념 : 시스템, 서비스, 조직(회사) 등에서 주어진 비용, 시간 내에 처리가능한 데이터 범위를 넘어서는 수십 페타바이트 크기의 비정형 데이터이다.
② 빅데이터 특성
특성 | 설명 |
데이터의 양 (Volume) |
· 페타바이드 수준의 대규모 데이터 · 빅데이터 분석 규모에 관련된 특성 · 디지털 정보량이 기하급수적으로 폭증하는 것을 의미 |
데이터의 다양성 (Variety) |
· 정형, 비정형, 반정형의 다양한 데이터 · 빅데이터 자원 유형에 관련된 특성 · 로그, 소셜, 위치 등 데이터 유형이 다양해지는 것을 의미 |
데이터의 속도 (Velocity) |
· 빠르게 증가하고 수집되며, 처리되는 데이터 · 빅데이터 수집, 분석, 활용 속도와 관련된 특성 · 가치 있는 정보 활용을 위해 실시간 분석이 중요해지는 것을 의미 |
③ 빅데이터 수집, 저장, 처리 기술
구분 | 설명 |
비정형/반정형 데이터 수집 | 내, 외부 정제되지 않은 데이터를 확보, 이를 통해 필요 정보를 추출하여 활용하기 위해서 효과적으로 수집 및 전송하는 기술 |
예) 척와(Chukwa), 플럼(Flume), 스크라이브(Scribe) | |
정형 데이터 수집 | 내, 외부 정제된 대용량 데이터의 수집 및 전송 기술 |
예) ETL, FTP, 스쿱(Sqoop), 하이호(Hiho) | |
분산데이터 저장/ 처리 | 대용량 파일의 효과적인 분산 저장 및 분산 처리 기술 |
예) HDFS, 맵 리듀스 | |
분산데이터 베이스 | HDFS의 컬럼 기반 데이터베이스로 실시간 랜덤 조회 및 업데이트가 가능한 기술 |
예) HBase |
* HDFS : 대용량 데이터의 집합을 처리하는 응용 프로그램에 적합하도록 설계된 하둡 분산 파일 시스템
* 맵 리듀스 : 구글에서 대용량 데이터 처리를 분산 병렬 컴퓨팅에서 처리하기 위한 목적으로 제작하여 2004년에 발표한 소프트 프레임워크
④ 빅데이터 분석, 실시간 처리 및 시각화를 위한 주요 기술
구분 | 설명 |
빅데이터 분석 | · 빅데이터를 분석하기 위한 데이터의 가공과 분류, 클러스터링, 패턴 분석을 처리하는 기술 · 데이터 가공을 위한 대표적인 솔루션에는 피그, 하이브가 있고, 데이터 마이닝을 위한 대표적인 솔루션에는 머하웃이 있음 |
빅데이터 실시간 처리 | · 하둡 기반의 실시간 SQL 질의 처리와 요청된 작업을 최적화하기 위한 워크플로우 관리 기술 · 실시간 SQL 질의를 위한 대표적인 솔루션은 임팔라이고, 워크플로우 관리를 ㅜ이한 대표적인 솔루션은 우지가 있음 |
분산 코디네이션 | · 분산 환경에서 서버들 간에 상호조정이 필요한 다양한 서비스를 분산 및 동시처리 제공 기술 · 분산 코디네이션을 위한 대표적인 솔루션은 주키퍼가 있음 |
분석 및 시각화 | · 빅데이터 분석 기술을 통해 분석된 데이터의 의미와 가치를 시각적으로 표현하기 위한 기술 · 분석 및 시각화를 위한 대표적인 솔루션은 알이 있음 |
2. NoSQL(Not Only SQL)
① NoSQL의 개념 : 전통적인 RDBMS와 다른 DBMS를 지칭하기 위한 용어로 데이터 저장에 고정된 테이블 스키마가 필요하지 않고 조인 연산을 사용할 수 없으며, 수평적으로 확장이 가능한 DBMS이다.
② No SQL의 특성
특성 | 설명 |
Basically Available | · 언제든지 데이터는 접근할 수 있어야 하는 속성 · 분산 시스템이기 때문에 항상 가용성 중시 |
Soft-State | · 노드의 상태는 내부에 포함된 정보에 의해 결정되는 것이 아니라 외부에서 전송된 정보를 통해 결정되는 속성 · 특정 시점에서는 데이터의 일관성이 보장되지 않음 |
Eventually Consistency | · 일정 시간이 지나면 데이터의 일관성이 유지되는 속성 · 일관성을 중시하고 지향 |
③ DBMS 유형
유형 | 설명 |
Key-Value Store | · 키 기반 Get / Put / Delete 제공하는 빅데이터 처리 가능 DB · Unique 한 Key에 하나의 Value을 가지고 있는 형태 · 예) Redis, DynamoDB |
Column Family Data Store | · Key 안에 (Column, Value) 조합으로 된 여러 개의 필드를 갖는 DB · 데이블 기반, 조인 미지원, 컬럼 기반으로 구글의 Bigtable 기반으로 구현 · 예) HBase, Cassandra |
Document Store | · Value의 데이터 타입이 Document라는 타입을 사용하는 DB · 문서 타입은 XML, JSON, YAML과 같은 구조화된 데이터 타입으로, 복잡한 계층 구조 표현 할 수 있음 · 예) MongoDB, Couchbase |
Graph Store | · 시맨틱 웹과 온톨로지 분야에서 활용되는 그래프로 데이터를 표현하는 DB · 예) Neo4j, AllegroGraph |
* 온톨로지 : 실세계에 존재하는 모든 개념과 개념들의 속성, 그리고 개념 간의 관계 정보를 컴퓨터가 이해할 수 있도록 서술해 놓은 지식 베이스
3. 데이터 마이닝
① 데이터 마이닝 개념
· 대규모로 저장된 데이터 안에서 체계적이고 자동적으로 통계적 규칙이나 패턴을 찾아내는 기술이다.
· 데이터 마이닝은 대규모 데이터에서 의미 있는 패턴을 파악하거나 예측하여 의사결정에 활용하는 기법이다.
· 데이터 마이닝은 데이터의 숨겨진 정보를 찾아내어 이를 기반으로 서비스와 제품에 도입하는 과정이다.
· 통계분석은 가설이나 가정에 따른 분석, 검증을 하지만 데이터 마이닝은 수리 알고리즘을 활용하여 대규모 데이터에서 의미 있는 정보를 찾아낸다.
② 데이터 마이닝 절차
단계 | 절차 | 설명 |
1단계 | 목적 설정 | · 데이터 마이닝을 통해 얻고자 하는 명확한 목적 설정 · 목적에 따라 사용할 모델과 필요 데이터 정의 |
2단계 | 데이터 준비 | · 거래정보, 웹로그 데이터, 고객 정보, 데이터 사용량, 소셜 데이터 등 다양한 데이터 활용 · 사전에 운영 데이터 접근에 따른 부하 고려 · 필요시 작업 서버에 저장하여 운영에 지장이 없도록 데이터 준비 · 데이터 정제를 통해 데이터의 품질을 보장하고, 필요시 데이터 추가 등을 통해 충분한 양의 데이터 확보 |
3단계 | 가공 | · 모델링 목적에 따라 목적 변수 정의 · 필요한 데이터를 데이터 마이닝 소프트웨어에 적용할 수 있는 형식으로 가공 처리 |
4단계 | 마이닝 기법 적용 | · 1단계의 명확한 목적에 맞도록 데이터 마이닝 기법을 적용하여 정보 추출 |
5단계 | 정보 검증 | · 데이터 마이닝으로 추출된 정보 검증 · 테스트 데이터와 과거 데이터를 활용하여 최적의 모델 선정 · 데이터 마이닝 결과의 업무 적용 보고서 작성 및 활용 |
③ 데이터 마이닝 주요 기법 : 텍스트 마이닝, 웹 마이닝과 함께 다양한 분양에서 활용되고 있다.
* 텍스트 마이닝 : 대량의 텍스트 데이터로부터 패턴 또는 관계를 추출하여 의미 있는 정보를 찾아내는 기법
* 웹 마이닝 : 웹으로부터 얻어지는 방대한 양의 정보로부터 유용한 정보를 찾아내기 위하여 분석하는 기법
주요 기법 | 설명 |
분류 규칙 | · 과거 데이터로부터 특성을 찾아내어 분류모형을 만들어 이를 토대로 새로운 레코드의 결과 값을 예측하는 기법 · 마케팅, 고객 신용평가 모형에 활용 |
예) 우수 고객의 분류 모형 구축으로 마케팅 활용 | |
연관 규칙 | · 데이터 안에 존재하는 항목들 간의 종속관계를 찾아내는 기법 · 제품이나 서비스의 교차판매, 매장 진열, 사기 적발 등 다양한 분야에서 활용 |
예) 넥타이 구매고객의 50% 이상이 셔츠를 구매한다는 정보 분석을 통해 매장의 상품 진열 | |
연속 규칙 | · 연관 규칙에 시간 관련 정보가 포함된 형태의 기법 · 개인별 트랜잭션 이력 데이터를 시계열적으로 분석하여 트랜잭션의 향후 발생 가능성 예측 |
예) A품목을 구매한 회원이 B품목을 구매할 확률은 75% | |
데이터 군집화 | · 대상 레코드들을 유사한 특성을 지닌 몇 개의 소그룹으로 분할하는 작업으로 작업의 특성이 분류규칙과 유사 · 정보가 없는 상태에서 데이터를 분류하는 기법 · 분석대상에 결괏값이 없으며, 판촉활동이나 이벤트 대상을 선정하는 데 활용 |
예) 고객의 지역/연령/성별에 따른 차별화 홍보전략 |
TEST → 정답은 드래그!
정답 | 종류 |
DBMS | 데이터베이스라는 데이터의 집합을 만들고, 저장 및 관리 할 수 있는 기능들을 제공하는 응용 프로그램이다. |
※ 해당 글은 수제비 2022 도서 참고하였습니다.
'정보처리기사' 카테고리의 다른 글
Ⅲ 데이터 입출력 구현 - 물리 데이터 저장소 설계 (0) | 2023.02.20 |
---|---|
Ⅲ 데이터 입출력 구현 - 논리 데이터 저장소 확인 (2) | 2023.02.02 |
Ⅱ 화면설계 - UI 설계 (1) | 2023.01.31 |
Ⅱ 화면설계 - UI 요구사항 확인 (0) | 2023.01.30 |
[2023] 정보처리기사 시험 일정 (0) | 2023.01.05 |