티스토리 뷰

논리 데이터 모델링 속성 (개속관)

- 개체 : 관리할 대상이 되는 실체

- 속성 : 관리할 정보의 구체적 항목

- 관계 : 개체 간의 대응 관계

 

 

 

데이터 베이스 정규화 단계

1정규형(1NF) : 원자값으로 구성

2정규형(2NF) : 부분 함수 종속 제거(완전 함수적 종속 관계)

3정규형(3NF) : 이행함수 종속 제거

보이스-코드 정규형(BCNF) : 결정자 후보 키가 아닌 함수 종속 제거

4정규형(4NF) : 다치(다중 값) 종속 제거

5정규형(5NF) : 조인 종속 제거

 

 

파티션의 종류 (레해리컴라)

- 레인지 파티셔닝 : 연속적인 숫자나 날짜를 기준으로 하는 파티셔닝 기법

                              손쉬운 관리 기법을 제공해 관리 시간의 단축이 가능 

- 해시 파티셔닝 : 파티션 키의 해시 함수 값에 의한 파티셔닝 기법

                          균등한 데이터 분할이 가능하고 질의 성능이 향상 가능

- 리스트 파티셔닝 : 특정 파티션에 저장 될 데이터에 대한 명시적 제어가 가능한 파티셔닝 기법                                                            

                              분포도가 비슷하고 데이터가 많은 SQL에서 컬럼의 조건이 많이 들어오는 경우 유용

- 컴포지트 파티셔닝 : 레인지 파티셔닝, 해시 파티셔닝, 리스트 파티셔닝 중 2개 이상의 파티셔닝을 결합하는 파티셔닝 기법

                                 큰 파티션에 대한 I/O 요청을 여러 파티션으로 분산 가능

- 라운드로빈 파티셔닝 : 라운드로빈 분할로 회전하면서 새로운 행이 파티션에 할당하는 방식

                                    파티션에 행의 고른 분포를 원할 때 사용

 

 

 

개체-관계(E-R)모델 

: 현실 세계에 존재하는 데이터와 그들 간의 관계를 사람이 이해할 수 있는 형태로 명확하게 표현하기 위한 모델로 요구사항으로부터 얻어낸 정보들을 개체, 속성, 관계로 기술한 모델

 

 

 

데이터베이스 정의

1. 통합된 데이터(integrated data) : 자료의 중복을 배제한 데이터의 모임

2. 저장된 데이터(stored data) : 저장 매체에 저장된 데이터

3. 운영 데이터(operational data) : 조직의 업무를 수행하는 데 필요한 데이터

4. 공용 데이터(shared data) : 여러 애플리케이션, 시스템들이 공동으로 사용하는 데이터

 

 

 

데이터베이스 특성

1. 실시간 접근성 (Real-Time acce)

: 쿼리에 대하여 실시간 응답이 가능

2. 계속적인 변화 (continuous evolution)

: 새로운 데이터의 삽입(Insert), 삭제(Delete), 갱신(Update)으로 항상 최신의 데이터를 유지

3. 동시 공용(concument sharing)

: 다수의 사용자가 동시에 같은 내용의 데이터를 이용할 수 있어야 한다.

4. 내용 참조 (content reference)

: 데이터베이스에 있는 데이터를 참조할 때 데이터 레코드의 주소나 위치에 의해서가 아니라, 사용자가 요구하는 데이터 내용으로 데이터를 찾는다.

 

 

 

빅데이터(Big Data)

: 시스템, 서비스, 조직(회사) 등에서 주어진 비용, 시간 내에 처리 가능한 데이터 범위를 넘어서는 수십 페타바이트 크기의 비정형 데이터

 

 

 

빅데이터의 특성

1. Volume : 페타바이트 수준의 대규모 데이터

                   빅데이터 분석 규모에 관련된 특성 

                    디지털 정보량이 기하급수적으로 폭증하는 것을 의미

 

2. Variety : 정형, 비정형, 반정형의 다양한 데이터

                    빅데이터 자원 유형에 관련된 특성                   

                    로그, 소셜, 위치 등 데이터 유형이 다양해지는 것을 의미

 

3. Velocity : 빠르게 증가하고 수집되며, 처리되는 데이터

                     빅데이터 수집, 분석, 활용 속도와 관련된 특성

                     가치있는 정보 활용을 위해 실시간 분석이 중요해지는 것을 의미

 

 

 

NOSQL 

: 전통적인 RDBMS와 다른 DBMS를 지칭하기 위한 용어로 (1) 데이터 저장에 고정된 테이블 스키마가 필요하지 않고

(2) 조인(join)연산을 사용할 수 없으며,

(3) 수평적으로 확장이 가능한 DBMS

 

NOSQL의 특성 (BASE)

Basically Available : 언제든지 데이터는 접근할 수 있어야 하는 속성

                                   분산 시스템이기 때문에 항상 가용성 중시

 

Soft state : 노드의 상태는 내부에 포함된 정보에 의해 결정되는 것이 아니라 외부에서 전송된 정보를 통해 결정되는 속성

                    특정 시점에서는 데이터의 일관성이 보장되지 않음

 

Eventually Consistence : 일정 시간이 지나면 데이터의 일관성이 유지되는 속성

                                           일관성을 중시하고 지향

 

NOSQL의 유형 (키컬도그) 

Key-Value Store : unique한 key에 하나의 value를 가지고 있는 형태

                               ex) Reds, DynamoDB

 

Column Family Data Store : key안에 (column, value)조합으로 된 여러 개의 필드를 갖는 DB

                                             ex) HBase, Cassandra

 

Document Store : value의 데이터 타입이 document라는 타입을 사용하는 DB

                               ex) MongoDB, Couchbase

 

Graph Store : 시맨틱 웹과 온톨로지 분야에서 활용되는 그래프로 데이터를 표현하는 DB

                       ex) Neo4j, AllegroGraph

 

cf) 온톨로지 : 실세계에 존재하는 모든 개념과 개념들의 속성, 그리고 개념들 간의 관걔 정보를 컴퓨터가 이해할 수 있도록 서술해 놓은 지식베이스  

 

 

 

텍스트 마이닝

- 대량의 텍스트 데이터로부터 패턴 또는 관계를 추출하여 의미 있는 정보를 찾아내는 기법

- 비정형 및 반정형 데이터에 대해 자연어 처리기술을 적용해 의미있는 정보를 추출

 

 

 

반 정규화 기법

1. 테이블 병합 : 1:1관계, 1:M 관계를 통합하여 조인 횟수를 줄여 성능을 향상

                         슈퍼타입/서브타입 테이블 통합 통해 성능 향상

 

2. 테이블 분할 : 테이블 수직 또는 수평으로 분할하는 것으로 파티셔닝이라고 함.

    1) 수평 분할 : 테이블 분할에 레코드를 기준으로 활용

    2) 수직 분할 : 하나의 테이블이 가지는 컬럼의 개수가 증가하는 경우 활용

                          갱신 위주의 속성 분할. 자주 조회되는 속성 분할, 크기가 큰 속성 분할, 보안을 적용해야 하는 속성 분할

 

3. 중복 테이블 분할 : 대량의 데이터들에 대한 집계함수(GROUP BY, SUM ...)를 사용하여 실시간 통계정보를 계산하는 경우에 효과적인 수행을 위해 별도의 통계 테이블을 두거나 중복 테이블을 추가

 

                              1) 집계 테이블 추가 : 집계 데이터를 위한 테이블을 생성하고, 각 원본 테이블에 트리거를 설정하여 사용하는 것으로, 트리거의 오버헤드에 유의 필요

                              2) 진행 테이블 추가 : 이력 관리 등의 목적으로 추가하는 테이블로, 적절한 데이터양의 유지와 활용도를 높이기 위해 기본키를 적절히 설정

                              3) 특정 부분만을 포함하는 테이블 추가 : 데이터가 많은 테이블의 특정 부분만을 사용하는 경우 해당 부분만으로 새로운 테이블을 생성

 

4. 컬럼 중복화 : 조인 성능 향상을 위한 중복 허용

 

5. 중복관계 추가 : 데이터를 처리하기 위한 여러 경로를 거쳐 조인이 가능하지만, 이때 발생할 수 있는 성능 저하를 예방하기 위해 추가적 관계를 맺는 방법

 

 

 

맵 리듀스 (Map Reduce)

: 구글에서 대용량 데이터 처리를 분산 병렬 컴퓨팅에서 처리하기 위한 목적으로 제작하여 2004년에 발표한 소프트웨어 프레임워크

 

 

 

관계 대수

1. 일반 집합 연산자

합집합
(Union)
U R U S 합병 가능한 두 릴레이션 R과 S의합집합
교집합
(Intersection)
∩ S 릴레이션 R과 S에 속하는 모든 튜플로 결과 릴레이션 구성
차집합
(Difference)
- R - S R에 존재하고 S에 미존재하는 튜플로 결과 릴레이션 구성
카티션 프로덕트
(CARTESIAN Product)
X R X S R과 S에 속한 모든 튜플을 연결해 만들어진 새로운 튜플로 릴레이션 구성

 

2. 순수 관계 연산자

셀렉트
(Select)
σ (시그마) 릴레이션 R에서 조건을 만족하는 튜플 반환
프로젝트
(Project)
 π (파이) 릴레이션 R에서 주어진 속성들의 값으로만 구성된 튜플 반환
조인
(Join)
▷◁ 공통 속성을 이용해 R과 S의 튜플들을 연결해 만들어진 튜플반환
디비전
(Division)
÷ 릴레이션 S의 모든 튜플과 관련 있는 R의 튜플 반환

 

 

데이터베이스 종류

관계형 데이터베이스 관리시스템
(RDBMS)
- 관계형 모델을 기반으로 하는 가장 보편화된 데이터베이스
- 데이터를 저장하는 테이블의 일부를 다른 테이블과 상하 관계로 표시하며,
상관관계를 정리
-  변화하는 업무나 데이터 구조에 대한 유연성이 좋아 유지 관리가 용이
계층형 데이터베이스 관리시스템
(HDBMS)
- 데이터를 상하 종속적인 관계로 계층화하여 관리하는 데이터베이스
- 데이터에 대한 접근 속도가 빠르지만, 종속적인 구조로 인해 변화하는 데이터 구조에 대응하기 어렵다
네트워크 데이터베이스 관리시스템
(NDBMS)
- 데이터의 구조를 네트워크 상의 망상 형태로 표현한 데이터 모델

 

 

HDFS (Hadoop Distributed File System)

: 대용량 데이터의 집합을 처리하는 응용 프로그램에 적합하도록 설계된 하둡 분산 파일 시스템

 

맵 리듀스 (Map Reduce)

: 구글에서 대용량 데이터 처리를 분산 병렬 컴퓨팅에서 처리하기 위한 목적으로 제작한 소프트웨어 프레임워크

 

 

~ 해당 포스팅은 업데이트 중 ~

댓글
최근에 올라온 글
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Total
Today
Yesterday