Data가 중요한 이유
- 가공해 다양한 일을 할 수 있기 때문
file - data를 저장, 가공할 수 있는 수단
DATABASE
- 데이터파일이 가진 한계(성능, 보안, 편의성...)를 극복하기 위해 만들어진 data 처리용 소프트웨어
- MySQL, Oracle, PostgreSQL, MongoDB...
Database의 본질
핵심 기능은 네 가지로 정리할 수 있다
입력(input) - 생성(Create), 수정(Update), 삭제(Delete)
출력(output) - 읽기(Read)
CRUD라고 하며, 그 이외의 기능들은 CRUD를 보좌하는 보조적인 기능들에 불과하다.
File vs Database
방대한 자료를 저장한다면...
File | 한 가지 형태로만 저장됨 전체적으로 가공이 불가능하다 |
문서를 저장한 text file |
SpreadSheet | file보다는 구조화된 방법으로 정보를 저장한다 특정 정보를 기준으로 정렬하거나, 선택적으로 읽어들일 수 있다. 데이터를 가공하는 것이 쉬워진다 |
문서들을 id, title, author, date로 나눠서 저장한 SpreadSheet |
Database | SpreadSheet처럼 구조적으로 데이터를 저장함. 컴퓨터언어로 CRUD를 할 수 있다 -> 자동화 가능 |
Database을 고른다면
1. 이미 정해져있다면? -> 이미 있는 것을 사용해야 한다.
2. 통계를 기반으로 정할것
관계형 데이터베이스가 대부분이다.(Oracle, MySQL...)
관계형 데이터베이스가 아닌 데이터베이스(MongoDB, Cassandra...)
Oracle - 큰 규모, 보안 중요한 경우, 비용이 비싸다
MySQL - 무료, open source, 초심자 추천
MongoDB - noSQL중에 가장 많이 쓰이는 데이터베이스
noSQL = 관계형 database가 아닌 database
다양한 종류의 data가 쏟아져 나오기 시작하면서 관계형 database가 맞지 않은 data들의 경우는
관계형 database를 사용하는 것이 억압과 같은 상황이 되었다.
2010년 이후 noSQL database들이 많이 나오기 시작함
'DATABASE' 카테고리의 다른 글
생활코딩 - DATABASE 관계형 데이터 모델링 - 논리적 데이터 모델링 (0) | 2021.05.19 |
---|---|
생활코딩 - DATABASE 관계형 데이터 모델링 - 개념적 데이터 모델링 (0) | 2021.05.19 |
생활코딩 - DATABASE 관계형 데이터 모델링 - 데이터 모델링의 순서, 업무파악 (0) | 2021.04.22 |
생활코딩 DATABASE - Join (0) | 2021.04.21 |
생활코딩 - DATABASE2 MySQL (0) | 2021.04.12 |