✎NHN Academy | JAVA

NHN Academy - 2024.09.30(Mon)

박순돌 2024. 9. 30. 17:06

Relational Database

데이터베이스 스키마

: 관계형 데이터베이스 내에서 데이터가 구성되는 방식을 정의

: 테이블 이름, 필드, 데이터 형식 및 이러한 엔티티 간의 관계와 같은 논리적 제약 조건이 포함

: 일반적으로 시각적 표현을 사용하여 데이터베이스의 아키텍처를 전달하며, 조직의 데이터 관리 분야의 기초

: 데이터베이스 스키마 설계 프로세스 = 데이터 모델링

 

  OLTP (온라인 거래 처리)
: Online Transaction Processing
OLAP (온라인 분석 처리)
: Online Analytical Processing
정의
  • '운영'계 데이터 및 데이터를 처리하는 방법을 의미
  • 여러 사용자 PC에서 발생되는 트랜잭션을 DB 서버가
    처리, 그 결과값을 요청한 사용자에게 되돌려주는 과정
  • 1개의 트랜잭션에 발생되는 INSERT, UPDATE, DELETE를 
    무결성 보장하여 처리, 결과를 SELECT하는 과정
  • '분석'계 데이터 및 데이터를 처리하는 방법을 의미
  • 데이터 웨어하우스(DW), DB에 저장된 데이터를 분석 해, 사용자에게 유의미한 정보를 제공해주는 처리 방법
  • 기존에 저장되어 있는 데이터를 사용자의 요구와 목적에
    맞게 분석하여 정보를 제공하는 개념
유사점
  • 대용량의 데이터를 저장 | 처리하는 데이터베이스 관리 시스템
  • 효율적 | 안정적인 IT 인프라가 필요(원활한 운영을 위해)
  • 두 서비스 모두 조직의 데이터 기반 의사 결정을 지원
  • 기존 데이터를 쿼리 | 새 데이터를 저장하는 데 사용 가능 O
  • 대부분 OLTP 및 OLAP 시스템을 함께 사용해,
    비즈니스 인텔리전스 요구 사항을 충족
  • BUT, 둘의 데이터 관리의 접근 방식과 목적 다름
차이점 1. 데이터 형식
- 다차원 데이터 모델 사용되어, 동일 데이터를 여러 각도에서 관찰
- 데이터를 큐브 형식으로 저장
- 큐브 형식에서 각 차원은 서로 다른 데이터 속성을 나타냄
- 큐브의 각 셀은 차원의 교차에 대한 값 또는 측정값을 나타냄

2. 데이터 아키텍처
- 데이터 쓰기 작업보다 데이터 읽기 작업에 우선 순위
- 대용량 데이터를 기반, 복잡한 쿼리를 빠르고 효율적으로 수행 O
- 분석이 주요 사용 사례이기 때문에 가용성은 우선 순위가 낮음


3. 성능
- 처리 시간
   : 분석 데이터의 유형 | 볼륨에 따라 몇 분~몇 시간까지 달라짐
- 데이터베이스 업데이트
   : 정기적으로 데이터를 대규모 배치로 처리한 다음,
     이 배치를 한 번에 시스템에 업로드함
   : 데이터 업데이트 빈도 또한 시스템마다 매일, 매주, 매월로 다름


 1. 데이터 형식
- 일차원적이며 한 가지 데이터 측면에 중점
- 관계형 데이터베이스를 사용하여 데이터를 테이블로 구성
- 테이블의 각 행은 엔터티 인스턴스 | 각 열은 엔터티 속성


2. 데이터 아키텍처
- 데이터 쓰기 작업에 우선 순위
- 쓰기 작업이 많은 워크로드에 최적화,
   데이터 무결성을 손상시키지 않으면서 대용량 트랜잭션 데이터
   를 잦은 빈도로 업데이트 O

3. 성능
- 처리 시간 : 밀리초 이하 단위로 측정
- 데이터베이스 업데이트
   : 실시간으로 관리
   : 업데이트가 빠르고 짧음
   : 고객 또는 고객 사용자에 의해 트리거됨
   : 배치 처리보다 스트림 처리가 주로 사용됨


 

drwxrwxrwx

d : directory 폴더   |   - : 파일   |   l : 링크

r : 읽기 권한   |   w : 쓰기 권한   |   x : 실행 권한

1번째 rwx : 소유자 권한(root)   |   2번째 rwx : 그룹 권한   |   3번째 rwx : 일반 사용자 권한

 

계층형 / 네트워크형 / 관계형 / 객체지향형

DBMS  = 전부 관계형 데이터 모델(계층형 / 네트워크형 / 객체지향형은 현재 전혀 사용하지 X)

 

DynamoDB   |   MongoDB   |   Cassandra         NoSQL

 

정형 데이터 모델 비정형 데이터 모델(스키마가 있으면 정형)

  정형 데이터 비정형 데이터
정의 - 정해진 형식 | 구조를 지정해, 고정 필드에 저장된 데이터
​- 지정된 행과 열에 데이터가 구별되어 입력 O
- 관계형 데이터 베이스(RDMS)의 테이블 형태로 저장

​- 정해진 형식과 저장 구조를 바탕으로
   ... 데이터의 부분 검색 및 선택, 갱신, 삭제 등의 연산 수행 O
       주로 정형화된 업무 또는 서비스에 사용 O
- 정의된 구조가 없는 동영상 파일, 오디오 파일, 사진, 보고서, 메일 본문 등과 같이 정형화되지 않은 데이터
- 형태가 없고 연산할 수 없는 데이터

​- 데이터 구조가 없어 내용에 대한 질의 처리 X  ➔  데이터 특징 추출해, 반정형 | 정형 데이터로 변환하는 전처리 과정이 필요 O
​- 페이스북, 트위터 등 웹에서 폭발적으로 생성되고 있는 비정형 데이터는 그 내용을 통해 비즈니스 미래를 예측 가능 O

 

  • 데이터 조작어(DML: Data Manipulation Language)
    정의된 데이터베이스에 입력된 데이터를 조회, 수정, 삭제, 입력하는 역할을 하는 언어데이터베이스 사용자가 질의어를 통하여 저장된 언어를 실질적으로 처리하는데 사용하는 언어
  • 데이터 정의어(DDL: Data Definition Language)
    데이터베이스를 정의하는 언어
  • 저장된 데이터의 스키마를 정의하여 데이터가 저장되는 형식을 정의
  • 데이터 제어어(DCL: Data Control Language)
    데이터베이스에 대한 접근을 제어하기 위한 언어요소
  • 데이터에 대해 접근 권한을 허가하고 박탈하는데 사용

자바는 How 에 더 초점을 맞춘 언어

 

Dr. Codd의 12법칙

  - 규칙 0. 시스템은 데이터베이스뿐만 아니라 관리 시스템으로 서도 관계 모델의 자격을 얻어야 한다.

  - 규칙 1. “정보 규칙” – 데이터베이스 내의 모든 정보는 한 가지 방법으로만 표시되어야 한다.

  - 규칙 2. “보장된 접근 규칙” – 모든 데이터는 모호함이 없이 접근되어야 한다.

  - 규칙 3. “널 값의 체계적인 처리” – DBMS는 각 필드에 대해 null을 처리할 수 있어야 한다.

  - 규칙 4. “관계형 모델에 기반한 액티브 온라인 데이터베이스 카탈로그” – 시스템은 관계형 형태의 온라인 카탈로그를 제공해야 한다.

  - 규칙 5. “종합적인 데이터 보조언어 규칙” – 시스템은 적어도 하나의 관계형 언어를 지원해야 한다.

  - 규칙 6. “뷰 갱신 규칙” – 뷰는 시스템에 의해 갱신 가능해야 한다.(뷰 : 외부 스키마)

  - 규칙 7. “고급 삽입, 갱신, 제거” – 시스템은 집합에 대해 한번에 삽입, 갱신, 제거를 지원해야 한다.

  - 규칙 8. “물리적 데이터 독립성” – 물리적 레벨에서 변경이 일어나더라도 그 구조에 기반한 응용 프로그램은 변경되어서는 안된다.

  - 규칙 9. “논리적 데이터 독립성” – 논리적 레벨에서 변경이 일어나더라도 그 구조에 기반한 응용 프로그램은 변경되어서는 안된다.

  - 규칙 10. “무결성 독립성” – 무결성 제약조건들은 데이터베이스 카탈로그에 저장되어야 하며 응용 프로그램들과는 별도로 규정되어야 한다.

  - 규칙 11. “분산 독립성” – 데이터베이스의 분산은 데이터베이스 사용자에게 영향을 주지 않는다.

  - 규칙 12. “무전복 규칙” – 시스템이 저급 인터페이스를 제공하더라도, 그 인터페이스는 시스템을 파괴할 수 없어야 한다.

 

 

릴레이션 스키마  in 관계 모델

= 데이터베이스의 구조와 제약조건에 관한 전반적인 명세를 의미

 

  ⬅     릴레이션 스키마의 형식은 중요

 

 

 

카디널리티

     = 데이터베이스의 성능

     = 중복도가 낮으면 카디널리티가 높다
          중복도가 높으면 카디널리티가 낮다

EX> 주민등록번호

중복되는 값 X          카디널리티가 높다고 할 수 있다.

이에 비해 이름          주민등록번호에 비해 중복되는 값이 많으므로,

이름주민등록번호에 비해 카디널리티가 낮다고 할 수 있다.

주민등록번호에 비해 라는 부분을 강조      카디널리티는 상대적인 개념

 


 

왼쪽> 데이터베이스의 개발 과정 익혀두기!

 

'✎NHN Academy | JAVA' 카테고리의 다른 글

NHN Academy - 2024.10.02(Wed)  (3) 2024.10.02
NHN Academy - 2024.10.01(Tue)  (1) 2024.10.01
NHN Academy - 2024.09.27(Fri)  (1) 2024.09.30
NHN Academy - 2024.09.26(Thu)  (0) 2024.09.26
NHN Academy - 2024.09.25(Wed)  (0) 2024.09.25