[DB] 데이터베이스

정의정·2023년 8월 2일
0

DB

목록 보기
1/9
post-thumbnail

💡 데이터베이스(DB)

백엔드 개발자로서 필수적으로 알아야 하는 데이터베이스 개념에 대해 알아보도록 하자. 데이터베이스의 정의, 특징, 유형 등을 다뤄보겠다.

🌟 데이터베이스(Database)

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

데이터베이스는 데이터를 저장할 수 있는 일종의 창고 역할만 수행한다. 데이터를 저장하거나 저장된 데이터를 처리하기 위해서는 따로 데이터베이스 관리시스템을 이용해야 한다. 이에 대해서는 뒤에 다루도록 하겠다.

2. 데이터베이스의 특징

데이터베이스는 어떤 특징을 가지고 있는지 알아보겠다.

👉🏻 실시간 접근 가능
👉🏻 계속적으로 변화
👉🏻 동시 공유 가능
👉🏻 저장된 주소가 아닌 내용으로 참조 가능

3. 데이터의 유형

정형 데이터(Structured Data)✔️

👉🏻 정형 데이터는 구조화된 데이터, 즉 미리 정해진 구조에 따라 저장된 데이터다.

👉🏻 엑셀 스프레드시트, 관계형 데이터베이스의 테이블을 예로 들 수 있다.

반정형 데이터(Semi-Structured Data)✔️

👉🏻 반정형 데이터는 구조에 따라 저장된 데이터지만, 정형 데이터와 달리 데이터 내용 안에 구조에 대한 설명이 함께 존재한다. 그렇기 때문에 데이터 내용에 대한 설명인 구조를 파악하는 파싱 과정이 필요하고, 보통 파일 형태로 저장된다.

👉🏻 HTML, XML, JSON을 예로 들 수 있다.

비정형 데이터(Unstructured Data)✔️

👉🏻 비정형 데이터는 정해진 구조가 없이 저장된 데이터다.

👉🏻 소셜 데이터의 텍스트, 이미지, 영상, 워드나 PDF 문서와 같은 멀티미디어 데이터를 예로 들 수 있는데, SNS 이용률이 크게 높아지면서 실시간으로 많은 양의 비정형 데이터가 생산되고 있다.

🌟 파일 시스템

1. 문제점

🧨 데이터 중복성 문제

👉🏻 데이터가 중복될 수 있기 때문에 공간이 낭비될 수 있다.

🧨 업데이트 및 데이터 일관성(Data consistency) 문제

👉🏻 업데이트 및 데이터 일관성(Data consistency) 유지에 어려움이 있다.

🧨 데이터 무결성(Data integrity constraints) 유지에 어려움이 있다.

👉🏻 응용프로그램이 모두 체크해야 한다.
👉🏻 데이터 도메인을 체크해야 한다.

🧨 데이터 종속성(Data Dependency) 문제

👉🏻 응용프로그램이 파일 데이터 구조에 종속적이다.
👉🏻 파일 구조가 바뀔 때마다 응용프로그램을 교체해야 한다.

🧨 동시성(Concurrency) 제공 문제

👉🏻 여러 사용자가 동시에 접근할 때 문제 해결이 어렵다.

🧨 원자성(Atomicity) 제공 문제

👉🏻 파일 변경 중에 시스템 장애가 발생했을 때 처리가 어렵다.

🧨 보안(Security) 제공 문제

👉🏻 사용자 별 파일 안의 일부 데이터 읽기 권한 제어가 어렵다.

2. 해결 방안

파일 시스템의 여러 문제점들을 해결하기 위한 방안으로 어떤 것이 있을까?

응용 프로그램과 데이터 파일 분리✔️

프로그램은 데이터베이스를 통해서 파일 시스템의 파일에 저장한 데이터에 접근한다.

데이터베이스 관리시스템(DBMS)✔️

응용프로그램과 데이터 연결을 도와주며 데이터 관리와 데이터에 대한 기본 처리를 담당하는 추가적인 소프트웨어이다.

profile
배움 기록

0개의 댓글