DB - 데이터가 모여있는곳
DBMS - DB관리 시스템
Data Base
-
관계형 데이터 베이스 (Relational Database = RDB)
엑셀 시트를 모아둔 형태라고 생각하면됨
일관성있고 안정적임
ex. 결제,유저,주문,상품 등
Table
- row(행,가로) column(열, 세로)
SQL (Structured Query Language)
- RDB와 소통하기 위한 언어
- Query 를 작성한다. (RDB 요청하는 행위)
- DBMS : Oracle, MySQL, PostgreSQL ...
-
Non-RDB (NoSQL)
유연하고 빠름...
ex. 앱/웹로그, 무선신호, 채팅
- Key-value
- Column-Family
- Graph
- Document
- DBMS : mongoDB, redis, DynamoDB ...
그럼 RDB,Non-RDB는 정형데이터와 비정형데이터와는 어떻게 다른걸까?
관계형 DB
- Priamary Key (식별번호)
여러개의 column 중 1개 column만 해당됨
중복 X, 누락 X
각 테이블 데이터는 primary key로 연결됨
- ERD (Entity Relationship Diagram)
DB에 있는 데이터들을 한눈에 볼 수 있게 펼쳐 놓은 그림
데이터 타입
- 연산을 실행 할때는 알맞는 데이터 타입에 사용해야함
(문자에 사칙연산을 하거나, 숫자를 대문자로 바꾸려하면 안됨)
- 테이블 스키마 : 테이블에 담긴 정보
- 문자 (char, string)
- 숫자 (int 정수, float 소수 100 ≠ 100.0)
- 날짜,시간 (date, time, datetime,timestamp)
- 엑셀
간단한 분석 (ML도 가능)
커뮤니케이션 용이
데이터가 커지면 한계가 있음
- SQL
기본/필수
데이터 추출, 전처리
데이터 분석에 활용
- Python / R
옵션으로 사용되는 데이터 관련 언어
머신러닝, 알고리즘, 모델링이 필요할때
SQL에서 노가다가 많다고 느껴질때 배우게 됨
- R
통계학 기반
통계 분석, 생태계 풍부
시각화에 뛰어난 ggplot
- Python
프로그래밍 언어
데이터분석 강점
분석과 개발이 협업해야 하는 경우
분석 결과를 개발과 이어야할때...
- BI tool
데이터 분석이나 대시보드 작업 쉽게 해주는 쉬운 툴들
- SAS,SPSS,GIS...
금융,리서치,모빌리티 산업군 등 특정 산업...
- TF/Pytorch
딥러닝 프레임워크
왜 SQL 인가!!
- 이해하기 쉽다. (엑셀과 비슷해!)
- 데이터 분석에서 중요함
R,Python 에서 그대로 적용되는 경우가 많음
- 정말 많이 쓰이고 있음.