본문 바로가기

DataBase/생활코딩 - DataBase1

DataBase란?

>DataBase

 

정보 기술의 심장인 database의 탐험을 시작하자.

 

 

데이터를 가공해서 웹,앱을 통해서 소식과 지식, 빅데이터, 인공지능을 통해 분석을 뽑아낼 수 있다.

 

데이터를 저장하고 뽑아낼 수 있어야 한다.

 

file은 가장 훌륭한 기술이지만, 한계가 있다.

 

database가 있으면 소중한 데이터를 안전하고 편리하고 빠르게 보관할 수 있다.

 

MySQL Oracle SQL Server PostgreSQL MongoDB 등이 있다.

 

 

>데이터 베이스의 본질

 

데이터 베이스는 매우 방대한 정보를 갖고 있는 기술이다.

 

데이터와 관련해서 일어날 수 있는 일들이 참으로 많기 때문ㅇ디ㅏ. 그 수많은 기능들을 각개격파하며 배울까.

 

아무리 복잡한 기술도 중심에 자리잡고 있는 핵심은 복잡하지도, 어렵지도 않다.

 

이 바닥에서 데이터 베이스의 데이러를 어떻게 입력하고 어떻게 출력하는 가를 따져야 한다.

 

입력과 출력을 파악한다면 그 데이터 베이스의 반을 한다고 해도 과언이 아니다.

 

입력은 다시 3가지 작업으로 쪼갤 수 있다.

 

데이터의 생성, 수정, 삭제를 할 수 있다.

 

 

CRUD가 가장 중요한 기능이다.

 

 

>file vs database

 

모든 데이터툴이 공통적으로 사용할 예제는 무엇일까? 가장 간단한 데이터를 저장하는 file이 어떻게 데이터 베이스화 되어가는 것일까?

 

하나의 텍스트 파일에 4가지 종류의 데이터가 있다고 하자. 책 이름, 출판 날짜, 저자, 저자 포지션.

 

그러한 텍스트 파일이 1억개 있는 폴더가 있다고 하자.

 

그런데 우리는 하나의 파일에서 이 4가지 데이터를 동시에 확인하는 방법밖에 없다.

 

책 이름별로 보고도 싶고, 날짜별, 출판사별, 저자별로도 보고 싶지만, 일일이 파일을 들어가는 방법밖에 없다.

 

지금 당신은 어떻게 이 데이터를 분류하고 싶나?

 

아마 스프레드 시트, 엑셀을 떠올렸을 것이다.

 

 

이러한 모양으로 나올 것이다.

 

이를 필터로 분류를 할 수 있다. 오름차순, 내림차순, 선택, 제외 등의 기능을 사용할 수 있다.

 

이렇게 데이터 가공이 훨씬 쉬워진다.

 

 

 

 

스프레드 시트와 데이터 베이스의 차이는

 

프로그래밍 언어로 데이터를 자동으로 추가하고 수정하고 삭제하고 읽을수 있다. (CRUD) 이것의 장점은 '자동화'이다.

 

 

통계를 기반으로 공부하기를 추천한다. 자신이 선호하는 검색엔진을 열고 'database ranking 연도'를 검색해라

 

Realtional DBMS(관계형 Data Base Management System)

 

 

Oracle은 오랫동안 데이터베이스 시장에서 절대 강자이다. 관공서, 큰 기업에서 쓴다. 비싸기 때문에.

MySQL은 오픈소스이다. 관계형 데이터베이스를 이용하고 싶으면서 개인, 작은 회사, 대규모 데이터(신뢰성이 낮은) 곳에서 쓰기에는 MySQL이 편하다.

Mong DB는 관계형 데이터 베이스가 아니다. 2010년부터 관계형 데이터베이스가 아닌 데이터베이스가 쏟아져나온다. 관계형 데이터베이스는 1997년부터 유지해왔다.

 

관계형 데이터 베이스는 어딜가도 써야한다. 자연스럽게 써야한다. 회사입장에서는 인력을 구하기 쉬운 관계형 데이터베이스를 쓴다. 

 

SNS, IoT가 등장하면서 수많은, 다양한 데이터가 나올 것이다. 그런데 관계형 데이터 베이스에 그 모든 데이터들이 낑겨 들어가면 거기에 맞지 않은 데이터가 억압을 받는다. 

 

그래서 NO SQL운동이 시작됐고, 관계형 데이터 베이스가 아닌 다양한 데이터 베이스가 등장하기 시작했다.