[정처기] 실기요약 - 3-3. 데이터베이스 기초 활용하기
목차
1. 요구사항 확인
Chapter 01 소프트웨어 개발 방법론
Chapter 02 현행 시스템 분석
Chapter 03 요구사항 확인
2. 화면 설계
Chapter 01 UI 요구사항 확인
Chapter 02 UI 설계
3. 데이터 입출력 구현
Chapter 01 논리 데이터 저장소 확인
Chapter 02 물리 데이터 저장소 설계
Chapter 03 데이터베이스 기초 활용하기
데이터베이스 정의
통합된 데이터 / 저장된 데이터 / 운영 데이터 / 공용 데이터
- 다수의 인원, 시스템 또는 프로그램이 사용할 목적으로 통합하여 관리되는 데이터 집합
- 데이터에 대한 효과적 관리를 위해 자료의 중복성 제거, 무결성 확보, 일관성 유지, 유용성 보장이 중요
- 데이터베이스는 통합된 데이터, 저장된 데이터, 운영 데이터, 공용 데이터
데이터베이스 특성
실시간 접근성, 계속적인 변화, 동시공용, 내용 참조
데이터베이스 종류
파일 시스템 개념 / 관계형 데이터베이스 관리시스템 / 계층형 데이터베이스 관리시스템 / 네트워크 데이터베이스 관리시스템
1. 파일 시스템 관리
- ISAM: indexed sequential access Method / 자료 내용은 주 저장부, 자료의 색인은 기록된 위치와 함께 색인부에 기록
- VSAM: Virtual Storage Access Method / 대형 운영체제에서 사용되는 파일 관리 시스템
2. 관계형 데이터베이스 관리시스템
- 관계형 모델을 기반으로 하는 가장 보편화된 데이터베이스 관리시스템
- 데이터를 저장하는 테이블의 일부를 다른 테이블과 상하 관계로 표시하며 상관관계를 정리
- 변화하는 업무나 데이터 구조에 대한 유연성이 좋아 유지 관리가 용이
- RDBMS 종류는 Oracle, SQL Server, MySQL, Maria DB
3. 계층형 데이터베이스 관리시스템
- 데이터를 상하 종속적인 관계로 계층화하여 관리
- 데이터에 대한 접근 속도가 빠르지만, 종속적인 구조로 인하여 변화하는 데이터 구조에 유연하게 대응하기 쉽지 않음
- HDBMS 종류는 IMS, System2000
4. 네트워크 데이터베이스 관리시스템
- 데이터의 구조를 네트워크상의 망상 형태로 표현한 데이터모델
- 트리 구조나 계층형 데이터베이스보다는 유연하지만 설계가 복잡함
- IDS, IDMS
데이터베이스 관리 툴
데이터베이스 생성, 삭제 / SQL 명령어 작성 및 실행 / 상태 모니터링 / 사용자 계정 관리 / 데이터베이스 가져오기, 내보내기 / 환경 설정
DBMS ★★
- 데이터 관리의 복잡성을 해결하는 동시에 데이터 추가, 변경, 검색, 삭제 및 백업, 복구, 보안 등의 기능을 지원
- 저장된 정보는 텍스트, 이미지, 음악 파일, 지도 데이터 등 매우 다양하며 SNS의 발달과 빅데이터의 폭넓은 활용으로 인해 데이터의 종류와 양은 급격히 증가
1. DBMS 유형
- Key-Value DBMS : 키 기반 Get, Put, Delete 제공, 메모리 기반에서 성능 우선 시스템 및 빅데이터 처리 가능 / Unique 한 키에 하나의 값을 가지고 있는 형태 / Redis, DynamoDB
- 컬럼 기반 데이터 저장: Key 안에 컬럼, 밸류 조합으로 된 여러 개의 필드를 갖는 DBMS / 테이블 기반, 조인 미지원, 컬럼 기반으로 구글의 Bigtable 기반으로 구현 / HBase, Cassandra
- 문서저장: 값의 데이터 타입이 문서라는 타입 / 문서 타입은 XML, JSON과 같이 구조화된 데이터 타입으로 복잡한 계층 구조 표현 / MongoDB, Couchbase
- 그래프 DBMS: 시맨틱 웹과 온톨로지 분야에서 활용되는 그래프로 데이터를 표현 / 노드와 엣지로 특징 / 노드 간 관계를 구조화하여 저장 / Neo4j, AllegroGraph
2. DBMS 특징
데이터 무결성 / 데이터 일관성 / 데이터 회복성 / 데이터 보안성 / 데이터 효율성
3. 상용 DBMS 및 오픈 소스 기반 DBMS
상용 DBMS: 상용 데이터베이스 관리시스템은 특정 회사에서 유료로 판매
오픈소스기반 DBMS: 오픈소스 기반 데이터베이스 시스템은 오픈소스 라이선스 정책을 준용하는 범위내에서 사용이 자유로움
데이터베이스 기술 트렌드
빅데이터 / NoSQL / 데이터 마이닝
빅데이터
시스템, 서비스, 조직 등에서 주어진 비용, 시간 내에 처리 가능한 데이터 범위를 넘어서는 페타바이트 크기 데이터
1. 빅데이터 특성
- 데이터의 양 / 데이터의 다양성 / 데이터의 속도
2. 빅데이터 수집, 저장, 처리 기술
- 비정형 / 반정형 데이터 수집: 내외부 정제되지 않은 데이터를 확보, 이를 통해 필요 정보를 추출하여 활용하기 위해 효과적으로 수집 및 전송하는 기술 / 척와, 플럼, 스크라이브
- 정형 데이터 수집: 내외부 정제된 데이터의 수집 및 전송 기술 / ETL, FTP, 스쿱, 하이호
- 분산데이터 저장/처리: 대용량 파일의 효과적인 분산 저장 및 분산 처리 기술 / HDFS, 맵 리듀스
- 분산데이터 베이스: HDFS의 칼럼 기반 데이터베이스로 실시간 랜덤 조회 및 업데이트가 가능한 기술 / HBase
3. 빅데이터 분석
- 빅데이터를 분석하기 위한 데이터의 가공과 분류, 클러스터링, 패턴 분석을 처리하는 기술
- 데이터 가공을 위한 대표적인 솔루션: 피그, 하이브 / 데이터 마이닝을 위한 대표적인 솔루션: 머하웃.
4. 빅데이터 실시간 처리
- 하둡 기반의 실시간 SQL 질의 처리와 요청된 작업을 최적화하기 위한 워크플로우 관리 기술
- 실시간 SQL 질의를 위한 대표적 솔루션: 임팔라 / 워크플로우 관리를 위한 대표적 솔루션: 우지
5. 분산 코디네이션
- 분산 환경에서 서버들 간에 상호조정이 필요한 다양한 서비스를 분산 및 동시처리 제공 기술
- 분산 코디네이션을 위한 대표적 솔루션: 주키퍼
6. 분석 및 시각화
- 분석 기술을 통해 분석된 데이터의 의미와 가치를 시각적으로 표현하기 위한 기술
- 분석 및 시각화를 위한 대표적 솔루션: R
NoSQL
1. NoSQL 특성
- Basically Available: 언제든지 데이터는 접근할 수 있어야 하는 속성 / 항상 가용성 중시
- Soft-State: 노드의 상태는 내부에 포함된 정보에 의해 결정되는 것이 아니라 외부에서 전송된 정보를 통해 결정 / 데이터의 일관성이 보장되지 않음
- Eventually Consistency: 일정 시간이 지나면 데이터의 일관성 유지 / 일관성을 중시하고 지향
2. NoSQL의 유형
- Key-value Store
- Column Family Data Store
- Document Store
- Graph Store
데이터 마이닝
- 대규모로 저장된 데이터 안에서 체계적이고 자동적으로 통계적 규칙이나 패턴을 찾아님
- 대규모 데이터에서 의미있는 패턴을 파악하거나 예측하여 의사결정에 활용
- 데이터의 숨겨진 정보를 찾아내어 이를 기반으로 서비스와 제품에 도입하는 과정
- 통계분석은 가설이나 가정에 따른 분석, 검증을 하지만 데이터 마이팅은 수리 알고리즘을 활용하여 대규모 데이터에서 의미 있는 정보를 찾아냄
1. 데이터마이닝 절차
목적 설정 → 데이터 준비 → 가공 → 마이닝 기법 적용 → 정보 검증
2. 데이터마이닝 주요 기법
- 분류 규칙 / 연관 규칙 / 연속 규칙 / 데이터 군집화