반응형
SMALL
데이터(Data)
- 관찰/측정을 통해 수집된 사실(Fact) 또는 값(Value)이 특정 기준에 의해 정리된 것
- ex) 오늘의 온도, 습도, 강수량 (연간 강수일수, 일 강수량 1mm 이상)
정보(Information)
- 어떤 목적에 의해 데이터를 해석하거나 가공한 형태
- 특정 상황에서 적절한 의사결정을 할 수 있도록 지원하는 지식
- ex) 예상 온도, 강수 확률 (강수 확률 평균 30%)
정보처리
- 의사결정(Decision Making)을 위한 정보를 컴퓨터가 생성하기 위해 데이터를 처리 하는 작업
의사결정
- 정보를 바탕으로 상황에 따라 주어진 문제를 해결하는 중요한 지능 활동
- 정보란 데이터의 유효한 해석이나 데이터 간의 상호 관계
정보
- 의사결정 과정에 반영되어 유용할 결과를 유발하므로 "정확성 및 현재성"이 중요함.
- ex) 오늘 비가 올지 안올지 결정해야하는데 내일 나온다면...
- 기업의 4대 요소
1. 자본
2. 사람
3. 기술
4. 데이터(정보) : 기업 경영의 의사결정에 중요한 역할 수행
정보 시스템
- 필요한 데이터를 수집, 조직, 저장해 두었다가 필요 시 처리하여 의사결정에 유효한 정보를 생성 분배하는 수단
- 배치 처리(Batch Processing) vs 온라인 처리
배치 처리(Batch Processing)
- 데이터의 수집 및 분류
- 유사한 일들을 모아서 "일정 시간 한꺼번에" 처리
- 컴퓨터 활용률이 매우 탁월
- 개별적인 처리 결과를 얻기 위해 대기 필요 (컴퓨터 중심 처리) -> 옛날 방식
- 응용 분야 : 고지서, 공과금 계산, 이자 계산 등
온라인 처리 (Online Processing)
- 사전 준비작업 없이 "곧바로 데이터를" 처리하는 방식
- 생성되는 출처로부터 곧바로 컴퓨터에 전송되고 전송된 데이터는 컴퓨터가 즉시 처리해서 결과를 바로 전송
- 대기시간이 없으므로 사용자에게 매우 편리 (사용자 중심 처리) -> 최근 방식
- 컴퓨터가 항상 가동상태이어야 하므로 테스트나 유지 보수의 어려움.
- 응용 분야 : 핸드폰의 실시간 데이터 사용량 검색 등.
중앙집중 처리(Centralized Processing)
- 범 조직적 자료를 한군데 모아 놓고 처리하는 방식
- 전산요원의 효율적 이용, 업무 통제, 보안 등에 있어서 효율적
- 해킹 등 피해를 입었을 때 피해 규모가 큼.
- 보안 비용이 상대적으로 적게 듦
분산 처리(Distributed Processing)
- Globalization에 따라서 "데이터가 지리적, 시간적으로 분산" 되어 발생
- 처리기를 데이터 발생 위치에 가까이 배치하여 효율성 증가
- 실세계의 데이터 발생, 관리를 유연한 대처 가능
- 해킹 등 피해를 입었을 떄 피해 규모가 적음
- 보안 비용이 많이 소요됨
정보처리 시스템의 유형
- 정보 시스템
- 의사 결정 지원 시스템
- 고객관리 시스템
- 전사적 자원 관리 시스템 (최근 많이 쓰이는것)
- 기타 정보처리 시스템
1. 정보 시스템
- 한 조직체의 활동에 필요한 데이터를 수집/조직/저장해 두었다가 필요 시 처리하여 의사결정에 유용한 정보를 생성 및 분배하는 시스템
- MIS(Management Information System)
- 정보 시스템의 일종
- 기업 업무의 기획, 운용, 통제에 필요한 의사결정에 필요한 최신 정보를 제공하는 시스템
2. 의사 결정 지원 시스템
- DSS : Decision Support System
- 여러가지 복합적이고 광범위한 의사결정 목적으로 "통합적인 기능을 제공"하는 정보 시스템
- 데이터 웨어하우스
- 다양한 데이터 근원들로부터 발생되는 데이터를 한 곳에 추출하여 관리하는 시스템 - 데이터 마이닝 (**마이닝 -> 채굴하다)
- 데이터 웨어하우스의 규모가 커짐에 따라서 유의미한 정보 또는 지식을 효율적으로 생성하는 과정
-★ ex) 기저귀를 산 사람들이 왜 맥주도 함께 샀을까?
--> 퇴근하는 남편들이 기저귀를 살 때 주말동안 마실 맥주도 함께 사는 경우가 많았음.
--> 상품의 진열방식과 진열구역 선정에 반영하여 매출 증가! ★
3. 고객 관리 시스템
- CRM : Customer Relationship Management
- 기업이 고객과 관련된 내/외부 자료를 분석/통합해 고객 중심 자원을 극대화하고 이를 토대로 "고객 특성에 맞게 마케팅 활동을 계획/지원/평가" 하는 시스템
- 고객 성향이나 취향을 먼저 파악한 뒤 이를 토대로 고객이 원하는 제품을 만들고 마케팅 전략을 개발, 기존 고객의 관리에 초점을 맞춤!
- CRM은 고객들의 행동패턴, 소비패턴 등을 통해 고객들이 원하는 것을 알아내야 하는 경우가 많아 고도의 정보 분석 기술을 필요로함!
4. 전사적 자원 관리 시스템
- ERP : Enterpise Resource Planning
- 기존에는 컴퓨터 기반의 정보 시스템이 필요할 때마다 도입되어 기업에는 다수의 시스템이 각각 도입됨
- 최근에는 개별적으로 운영되던 정보 시스템은 서로 연관되어 있는 업무 처리를 지원하는 데에 매우 불편하여, 시스템 연계 내지 통합의 필요성 대두. (각각의 연관!!)
- 기업 내 생산, 물류, 재무, 회계, 영업과 구매, 재고 등 경영 활동 프로세스들을 "통합적으로 연계/관리"해 주며, 기업에서 발생하는 정보들을 서로 공유하고 "새로운 정보의 생성과 빠른 의사결정"을 도와주는 시스템
- ICT 관점
=> ★ 여러 부서에서 수행되는 업무 처리를 돕기 위해 일상 업무 작업을 자동화한 응용시스템들의 집합!
5. 기타 정보처리 시스템
- 제어 시스템
-> 사건을 감지하여 처리하고 자동적으로 보고
ex) 공정, 수치, 무기제어 등등 - 내장 시스템(Embedded System)
- 데이터 처리가 주기능이 아닌 "시스템의 구성 요소"
ex) 비행기 유도, 레이타 추적 시스템, 스위칭 시스템 등. - 실시간 제어 / 대규모의 자료의 접근 / 변경
- 테스트가 어려움.
- -> 엄격한 요구 사항 : 실시간 반응 / 고장에 대한 안전 / 신뢰성 등등.
데이터베이스
- 어느 한 조직의 다양한 응용 프로그램들이 공동으로 사용하는 데이터들을 통합하여 저장한 운영 데이터의 집합
- 공용 데이터 (Shared Data)
- 통합된 데이터 (Intergrated Data) : 최소한의 중복, 통제된 중복
- 저장된 데이터 (Stored Data)
- 운영 데이터 (Operational Data)
1. 통합된 데이터(Intergrated Data)
- 한 조직 내에서 여러 부서가 "유사한 데이터 집합"을 사용
- 중복성 제거 및 일관성 유지 가능
- 검색 및 운영 시 편리
- "최소한의 중복과 통제된 중복"이 필요함!
데이터베이스의 특징
- 실시간 접근성
- 계속적인 변화
- 내용에 의한 참조
- 동시 공용
1. 실시간 접근성
- 질의에 대한 "실시간 처리 및 응답" 이 가능하게 해야함
- **실시간처리 : 생성된 데이터를 컴퓨터에 보내어 그 처리 결과에 따라 즉시 의사결정을 할 수 있는 것을 의미함.
2. 계속적인 변화
- 한 시점에 데이터베이스에 저장되어 있는 내용을 데이터베이스 상태라고 한다면, 시간의 흐름에 따라서 그 상태가 "지속적, 동적"으로 변동됨! --> 현실 세계를 표현하기 때문에 계속적으로 변화됨!
3. 동시 공용
- 서로 다른 목적을 지닌 응용들의 공용을 위하여 구축됨
- --> 같은 내용을 여러 사용자가 동시에 공유할 수 있도록 지원
4. 내용에 의한 참조
- 데이터베이스에 저장된 내용은 데이터의 위치나 주소가 아닌 데이터의 내용(즉, 값)에 따라서 검색됨!
내용에 의한 참조와 위치에 의한 참조
파일 중심의 자료 처리의 특징
- 각 응용 또는 기능마다 프로그램을 개발함
- 각 프로그램은 자신이 사용할 데이터를 운영체제상의 파일로 관리함
- ex) 은행 업무
=파일 중심의 자료 처리의 문제점=
1. 데이터의 중복과 비일관성(Inconsistency)
- 각 파일이 다른 형식을 지닐 가능성 존재
- 동일 정보가 여러 파일에 중복 저장될 가능성 존재
- 저장 공간의 낭비 및 비일관성 유발
- ex) 한 고객의 주소가 일반예금 정보와 적금예금 정보에서 상이하게 저장될 가능성!
2. 데이터 고립
- 데이터가 여러 파일에 흩어져 있고 파일 형식이 다르기 때문에 원하는 데이터를 검색할 수 있는 프로그램을 개발하기 어려움!
3. 무결성 문제
- 저장된 정보에 대한 제약 조건을 만족시키기 어려움
- 새로운 제약 조건이 추가될 때마다, 모든 응용 프로그램에 이를 반영하는 새로운 코드를 추가하기 쉽지 않음!
- ex) 계좌 정보에서 3개월 동안 입출금 내역이 없으면 휴먼계좌로 지정
4. 원자성 문제
- 하나의 트랜잭션(논리적인 일의 단위)은 이를 구성하는 내용이 전부 수행되거나 전부 수행되지 않거나 둘 중의 한 상태만을 만족해야 함!
- ex) 계좌 이체 - A통장에서 출금, B통장에 입금
- 기존 파일 시스템에서는 이를 보장하기 어려움!
5. 동시 접근 문제
- 동일 시점에 동일한 데이터를 여러 사용자가 동시에 변경하는 경우 문제 발생
- 파일 공유 시스템에서 자주 발생됨
6. 보안 문제
- 모든 사용자가 데이터베이스 상의 모든 내용을 접근할 필요 없음
- 보안 제약 사항을 각 응용 프로그램에만 추가해야 하므로 "보안성 유지가 어려움"
- ex) 은행 직원이 고객의 계좌 정보를 마음대로 열람 불가
파일 중심 처리의 가장 근원적인 문제는?
- 각 응용 파일마다 자신이 사용할 데이터를 파일로 관리
- 데이터 중복성 문제 발생 -> 데이터의 비일관성
각 파일마다 다른 형식으로 내용을 구성
- 데이터 종속성(Data Dependency) 문제 발생
- 파일 형태에 따라 다른 응용프로그램 작성
- 파일 형태 변경 시 응용 프로그램도 변경됨!
데이터 종속성 (Data Dependency)
- 파일에 기록된 정보의 구조 변경 시 응용 프로그램 재작성 필요
- -> 위치에 의한 참조 때문!
데이터베이스의 장점
- 데이터 중복의 최소화
- 일관성 유지
- 데이터의 공용
- 무결성 유지
- 보안 보장
- 표준화 용이
- 전체 데이터 요구의 파악 조정
- ==> 이와 같은 장점들은 데이터베이스를 사용한다고 자동으로 얻어지는것이 아님!!
데이터베이스의 단점
- 운영비의 오버헤드
-> DBMS는 고가의 소프트웨어이며 많은 컴퓨터 자원을 사용함.
-> 고사양의 컴퓨터 필요! - 자료처리 방법의 복잡성
-> 다양한 유형의 데이터가 서로 연관되어 기록되어 있으므로 여러 가지 제약사항 하에서 개발 및 수행됨
-> 응용 프로그램의 구조나 로직이 복잡해질 가능성 존재! - 백업과 회복의 어려움
-> 다양한 사용자가 동시 공유로 데이터를 사용하고 있으므로 장애 발생 시 정확한 사유나 상태 파악 어려움!
-> 정교한 백업 및 회복 기법을 사용하게 됨 - 시스템의 취약성
-> 통합된 시스템으로 일부 장애가 전체 시스템을 정지 시킬 가능선 존재
-> 시스템의 신뢰성과 가용성이 DBMS의 신뢰성과 가용성에 의존적이 됨!
데이터베이스 관리 시스템(DBMS)
- 데이터베이스를 생성 및 관리해 주는 기능을 제공하는 소프트웨어 패키지/시스템
- 데이터베이스와 응용 프로그램 사이의 "중계자"로써 모든 사용자와 응용 프로그램들이 데이터베이스를 공유할 수 있도록 지원해 주는 "범용 목적"의 소프트웨어 시스템
데이터 정의 기능
- 여러 사용자의 데이터를 통합하여 "통합"하여 "저장"하고 "공유"할 수 있도록 데이터 모델에 따라 정의하는 기능
- 다양한 응용 프로그램과 데이터베이스가 서로 인터페이스 할 수 있는 방법을 제공
데이터 조작 기능
- 사용자와 데이터베이스 간의 "의사소통"의 수단
- 데이터베이스의 접근 및 조작 (삽입, 삭제, 변경 및 검색)
- 사용자가 사용하기 쉽고, 원하는 처리를 자연스럽게 표현 할 수 있어야 함.
데이터 제어 기능
- 데이터베이스의 내용을 일관되고 정확하게 유지할 수 있는 기능
- 데이터 "일관성(Consistency)", "무결성(Integrity)", "보안(Security)" 을 유지하는 기능
- 1. 백업과 파손 회복(recovery)
- 2. 인증(Authorization) 과 보안
- 3. 병행 제어(Concurrency Control)
IDS
- Integrated Data Store
- 최초의 범용 목적의 DBMS
- 1960년대초 GE의 Charles Bachman에 의하여 제시
- 논리적 데이터 모델로 네트워크 데이터 모델 기반
- 데이터 모델을 명시할 수 있는 데이터 구조도를 제안
IMS DBMS
- Information Management System DBMS
- 계층 데이터 모델이라는 또 다른 데이터 표현의 기반이 됨.
제 1세대 DBMS
- 1970년대 자사의 DBMS를 제작, 판매 시작
- 네트워크 모델, 계층 모델에 기초를 둠
제 2세대 DBMS
- 1980년대 관계형 모델(Relational data model)에 기반한 DBMS들이 개발됨.
- 대부분 DBMS는 하드웨어에 "독립적"으로 "운영" 될 수 있게 됨
제 3세대 DBMS
- 데이터 구조의 복잡성 증가 : Image, Video, 시공간 데이터 등
- 새로운 데이터 모델의 대두
- 이미지, 텍스트, 그래픽 같은 다양한 형태의 데이터 타입을 저장/관리하고 복잡한 질의를 처리할 수 있도록 DBMS의 기능이 확장됨!
- 현재 : 객체 관계형 데이터베이스 관리 시스템!
데이터베이스관리시스템의 특징
1. 데이터베이스 시스템의 구성 요소 중 하나
- 사용자의 요구를 입력 받아 "조사 분석" 한 후 컴퓨터가 이해하는 형태로 변환하고 동일한 결과를 생성할 수 있는 "동등한 표현식들을 생성"
- 생성된 표현식 중 처리 효율이 가장 좋은 표현식을 "선정"하여 이를 수행하고 그 결과를 "사용자에게 반환"
2. 데이터베이스의 구조
- 논리적 구조와 물리적 구조는 서로 "대응 관계"를 가짐으로써 "동등성" 유지 가능
- 데이터베이스를 사용하는 사용자와 데이터베이스를 저장 관리하는 "시스템 간의 통신 수단"이 됨
3. 데이터 독립성 제공
- DBMS의 궁극적인 목적
- 데이터의 논리적 구조나 물리적 구조가 변경되더라도 "응용 프로그램이 영향을 받지 않는 것"
4. 데이터 종속성과 중복성
- 데이터 종속성
1. 응용 프로그램과 데이터간의 상호 의존 관계
2. 데이터의 구성이나 구조 변경 시 응용 프로그램도 변경해야 함
3. 응용 프로그램 관리 곤란
vs - 데이터 중복성
1. 유사한 내용의 데이터가 "중복되어 저장/관리"됨
2. "일관성, 보안성, 경제성, 무결성" 등에 대한 문제점 야기
5. 데이터의 독립성과 종속성
- 데이터 독립성은 데이터와 응용 프로그램과의 상호 "의존성이 존재하지 않음"
- 논리적 구조(사용자 입장)와 물리적 구조(시스템 입장)
6. 논리적 데이터의 독립성
- 데이터베이스 관리 시스템이 하나의 논리적 데이터 구조를 가지고 여러 응용 프로그램들이 제각각 요구하는 "다양한 형태의 논리적 구조로 사상시켜 지원"해 줄 수 있는 능력
- 논리적 구조를 변경해도 응용 프로그램에는 영향을 주지 않음
-> 내용에 의한 참조에 의하여 이루어짐! - 효율적인 응용 프로그램 개발이 가능함.
7. 물리적 데이터의 독립성
- 데이터베이스는 하나의 구현된 물리적 구조로 여러 응용 프로그램을 지원해야 함!
- 새로운 저장 장치의 개발이나 접근 방법의 개발로 성능 향상을 개선시키기 위하여 데이터의 물리적 구조를 변경시켜야 함.
- 물리적 구조의 변경이 응용 프로그램에 영향을 주지 않아야 함!
- 응용 프로그램과 논리적 데이터 구조에 영향을 주지 않고! 물리적 구조의 변경이 가능함.
- 다양한 저장 장치를 이용하여 데이터를 저장 및 이용이 가능함.
DBMS 구성요소
1. 3단계 데이터베이스
- 데이터베이스에 대한 사용자, 조직, 저장장치 에 따른 관점!
1-1 스키마(Schema)
- 데이터베이스의 논리적 정의 즉, 데이터베이스의 구조와 제약 조건에 대한 명세(Specfication)를 기술한 것!
- - 데이터 구조를 나타내는 객체
- - 개체를 구성하는 속성
- - 이들 간에 존재하는 관계에 대한 정의
- - 이들이 유지해야 될 제약 조건
- ex) (학생 - 이름/주소/학년)
2. DBMS
- 목적 : 데이터 독립성
- 데이터 독립성의 구현 기법 : 각 단계별 스키마의 도표화(Mapping)
3. 시스템 카탈로그 (System Catalog)
- = 데이터 사전 (Data Dictionary)
-> 데이터베이스에 저장되어 있는 모든 데이터 개체들에 대한 "정의나 명세"에 관한 정보(즉, 스키마)를 "유지/관리" 하는 시스템!
4. 데이터베이스 언어
- 데이터베이스를 "정의, 조작, 제어" 하기 위한 언어
5. 데이터베이스 사용자
- 일반 사용자 : 비절자척 DML을 통해서 데이터베이스에 접근
- 응용 프로그래머 : 프로그램 언어와 비절차적 DML을 통해서 데이터베이스에 접근
- 데이터베이스 관리자(DBA)
-> DDL과 DCL을 통해서 데이터베이스를 정의하고 제어
-> 데이터베이스 설계자와 관리자로 나누기도 함.
-> "모든 책임"을 지고 있는 사람.
◆ 데이터베이스 관리자의 업무 (설계와 운영)
- 개체와 관계를 선정하고 "저장 구조 및 접근 방법" 설계
- "보안 및 권한" 부여 정책, "데이터 유효성" 검사 방법 수립
- "백업 및 회복" 절차 수립
- 데이터베이스 "무결성 유지"를 위한 대책 수립
- 시스템 성능 향상과 새로운 요구에 대응하기 위한 "데이터베이스 튜닝" 시행
- "시스템 카탈로그"의 유지 관리
◆ 데이터베이스 관리자의 업무 (행정 관리 및 불만 해결)
- 데이터의 표현이나 문서화 표준을 정하고 시행
- 사용자 요구나 불만을 청취 및 해결
◆ 데이터베이스 관리자의 업무 (시스템 감시 및 성능 분석)
- 시스템 자원의 이용도, 병목 현상, 장비 및 시스템 성능 감시
- 종합적인 분석 진행
- 데이터 접근 방법 및 저장 구조
- 재구성의 요인이 되는 사용자의 요구 변화
- 데이터 이용 추세 등에 대한 각종 통계 등
데이터베이스 용어의 기원
- 1963년 6월 미국 SDC사가 개최한 심포지엄의 제목인 "컴퓨터 중심의 데이터베이스 개발과 관리" 에서 처음 공식적으로 사용된 것으로 알려짐
- 의미 : 저장장치에 저장된 파일 -> 현재 데이터베이스와는 차이가 있음!
- 영문 표기 : Data Base 두 단어로 표기! -> 점차 한 단어인 Database로 통일됨!
데이터베이스 시스템 용어의 기원
- 1965년 9월 2차 SDC 심포지엄의 제목인 "컴퓨터 중심의 데이터베이스 시스템" 에서 데이터베이스 시스템이란 용어가 처음 공식적으로 사용된것으로 알려짐
관계형 데이터 모델(Relational Data Model)의 등장
- 1970년 IBM 연구소의 E.F. Codd 박사에 의하여 제안
- "A Relational Model for Large Shared Data Banks", Communucation of the ACM, 1970
- 현재 우리가 사용하고 잇는 대부분의 데이터베이스는 관계형 데이터 모델 기반!
- 데이터베이스 분야에 대한 기여로 Codd 박사는 ACM Turning Award를 수상!
System R
- "최초의 관계형 데이터 모델 기반" 데이터베이스 관리 시스템
- 출시 : IBM의 San Jose 연구소에서 1974년 개발
- 상업적 용도가 아닌 "연구용 Prototype"
- 데이터베이스 질의 언어의 표준인 SQL을 최초로 제안!
Oracle
- 최초의 상업용 관계형 데이터베이스 관리 시스템
- 출시 : 1978년 SDL 회사에서 출시 // 1983년 회사명을 오라클로 개명
- 전 세계적으로 "가장 많이 쓰이는 데이터베이스 관리 시스템"
- Oracle의 사전적 뜻은 예지자, 예언자를 의미함.
최근 주요 이슈
- 빅데이터의 등장.
- 정보화 사회의 고도화
- 스마트폰 확산
- 센서 네트워크 기술 발달
- 소셜 네트워크 등장
빅데이터의 개념
- 과거 환경에서 생성되던 데이터에 비하여 그 규모가 방대하고, 수치 데이터 뿐 아니라 문자와 영상 데이터를 포함하는 대규모 데이터
- ★ 특징 : 3V
- 데이터의 양 (Volume)
- 데이터 생성 속도 (Velocity)
- 형태의 다양성 (Variety)
데이터 마이닝
- 데이터베이스로부터 과거에는 몰랐던 새로운 데이터를 발견하여 "미래에 실행 가능한 정보를 추출"해내고 "의사 결정에 이용" 하는 과정
- ex) 백화점에서 특정 제품을 사는 고객이 어떤 제품을 추가로 구입하는지를 파악하면 마케팅 시 반영 가능!
소셜 네트워크 서비스 등장 및 발전
- 사용자 간의 자유로운 의사 소통과 정보 공유, 그리고 인맥 확대 등을 통해 사회적 관계를 생성, 강화 시켜주는 온라인 플랫폼
- 스마트폰 이용자와 무선 인터넷 서비스의 확장에 따라 이용자 또한 증가
- 소셜 네트워크 사용자들의 특징, 성향을 파악하면 "마케팅 활용 가치"가 매우 높음!
분산 병렬 처리(MapReduce, Spark 등)의 등장
- 아무리 성능 좋은 컴퓨터라도 빅데이터를 처리하기 버거움
- 일반적인 성능을 지닌 컴퓨터 수백~수천대 를 네트워크로 연결시켜서 빅데이터를 처리하자는 의견 등장!
- Google : 2004년 분산 병렬 처리 프레임워크인 MapReduce 제안
- Apache 재단(Open Source 진영) : MapReduce은 공개판인 Haddop 공개!
반응형
LIST
'기초 물방울 > 데이터베이스' 카테고리의 다른 글
데이터 모델(튜플,릴레이션...), 관계 대수/해석(수업) #2 (0) | 2022.07.11 |
---|