Database

beomjin_97·2022년 12월 29일
0

database

목록 보기
1/1

데이터베이스

특정 조직의 여러 사용자가 공유하여 사용할 수 있도록 통합해서 저장한 운영 데이터의 집합

  • 실시간 접근 가능

  • 계속적으로 변화

  • 동시 공유가 가능

  • 저장된 주소가 아닌 내용으로 참조 가능


데이터의 유형

  • structured data (정형 데이터) : excel의 스프레드시트, 관계데이터베이스의 테이블, sql
  • semi-structured data (반정형 데이터) : HTML, XML, JSON
  • unstructured data( 비정형 데이터) ; 정해진 구조가 없이 저장된 데이터, text, 멀티미디어

DBMS 대신 file system을 사용했을 때의 문제점

  • 데이터 중복으로 인한 리소스 낭비
  • 업데이트 및 데이터 일관성 유지 어려움
  • 데이터 무결성(data integrity constraints) 유지 어려움
  • 응용프로그램이 파일 데이터에 종속됨, 파일구조가 바뀔 때마다 응용 프로그램 교체 필요
  • 여러 사용자가 동시에 접근할 때 동시성 제공이 어려움
  • 파일 변경 중에 시스템 장애가 발생했을 때 처리가 어려움
  • 사용자 별 파일 안에 일부 데이터 읽기 권한 제어가 어려움

DBMS

  • 파일시스템의 데이터중복과 데이터 종속 문제를 해결하기 위해 제시된 스포트웨어
  • 데이터베이스의 생성과 관리를 담당
  • 모든 응용프로그램은 데이터베이스 공유 가능, DBMS를 통해 삽입, 수정, 검색
  • Oracle, MS SQL Server, Sap HANA, MySQL, PostergreSQL

DMBS의 주요기능

  • 데이터베이스 구조를 정의하거나 수행
  • 데이터를 삽입, 삭제, 수정, 검색하는 연산을 수행
  • 데이터를 항상 정확하고, 안전하게 유지


DBMS의 장점

  • file system에서 언급했던 문제점을 모두 해결할 수 있다.


DBMS의 단점

  • 구매 비용
  • 데이터에 직접적인 접근이 아닌 DBMS를 통해 접근하기 때문에 추가적인 오버헤드 발생
  • DBMS의 동작원리와 표준 데이터 언어에 대한 지식 필요
  • DBMS의 장애가 발생하면 모든 프로그램이 같이 장애 발생


Data Dictiionary

  • DBMS는 database와 함께 metadata를 저장한다.
  • 데이터 정의어(DDL)에 의해 생성된다.


Metadata

  • 각 데이터에 접근할 수 있는 데이터의 이름 (테이블, 컬럼 이름)
  • 스토리지에 데이터가 저장된 위치
  • 보안을 위한 제약 (어던 사용자가 어떤 데이터에 접근할 수 있는지)
  • 무결정을 위한 제약 (어떤 값이 데이터에 유효한지)

스키마(schema)

  • 데이터베이스에 저장되는 데이터의 논리적구조와 제약조건을 정의한 것

인스턴스

  • 정의된 스키마에 따라 데이터베이스에 실제로 저장된 값

데이터언어

  • 사용자가 데이터베이스를 구축하고 이에 접근하기 위해 데이터베이스 관리 시스템과 통신하는 수단
  • 데이터 정의어(DDL) : 스키마 구조와 제약조건 등을 정의, 삭제, 수정
  • 데이터 조작어(DML) : 데이터의 삽입, 삭제, 수정, 검색
  • 데이터 제어어(DCL) : 내부적으로 필요한 규칙 (보안, 무결성 체크) 등을 정의하는 데이터 언어

질의처리기

  • DDL Interpreter: DDL로 작성된 스키마의 정의를 해석, 데이터 딕셔너리에 저장
  • DML Compiler: DML로 작성된 데이터 처리 요구를 processing engine이 이해할 수 있는 코드로 해석하여 plan을 작성
  • DML(Query) Processing Engine: 컴파일된 plan을 데이터베이스에 실제로 실행
profile
Rather be dead than cool.

0개의 댓글