Database
data
- 컴퓨터가 처리할 수 있는 문자, 숫자, 소리, 그림과 같은 형태의 정보
DB? DBMS?
- 데이터의 모임인 Database를 만들고, 저장, 관리 할수 있는 기능을 제공하는 응용프로그램
- 오라클, Mysql, MariaDB, DB2, MS SQL Server
Characteristics
- 데이터의 무결성
- 데이터의 중복 방지
- 보안
- 성능 향상
- 프로그램 수정과 유지 보수 용이
Differences between DataBase & File System
자기기술성
File System
- .hwp -> 한글
- .doc -> Microsoft Word
- .xls -> Microsoft Excel
DB
- Only SQL(RDBMS)
SQL
- 데이터 관리를 위해 설계된 특수 목적의 프로그래밍 언어
SQL - 데이터 정의 언어
데이터를 정의
CREATE
DROP
ALTER
SQL - 데이터 조작 언어
데이터를 검색, 등록, 삭제, 갱신
INSERT
UPDATE
DELETE
SELECT
SQL - 데이터 제어 언어
데이터 엑세스 제어
GRANT
REVOKE
RDBMS은 대용량 데이터를 처리할때 속도가 느려짐
NoSQL에서 MongoDB, Redis 두개가 많이 쓰이는 중임
Document vs Key-value
NoSQL
- 스키마 없고
- Join 불가능
- 수평 확장 가능
- 트렌젝션 없음
MongoDB
- BSON (Binary JSON)기반 key-value store
- JSON 형태 문서
- Collection -> Document -> key:Value Data
필요한 도구
- DB instance(mongodb atlas)
- pymongo
- pandas
- requests
- jupyter notebook
MongoDB 실습 ATLAS 사용
MongoDB Atlas 사이트
MongoDB Atlas: Cloud Document Database
Cloud-hosted MongoDB service on AWS, Azure, and GCP
www.mongodb.com
참고로 구글 계정으로 하면 이메일 인증 안해도 된다.
무료 버전으로 create Cluster 하시구
user name, pwd 설정, ip 0.0.0.0 을 해준다.
이때 비밀번호에 @가 들어가면 문제가 생길 수 있으니 @는 넣지 않는 것을 추천한다.
모두 다 설정을 해주면 위와 같은 상태가 된다.
cluster0 밑에 users 라는 collection을 만들었다.
만들어준 cluster를 connect한다. 이렇게 connect 하면 python으로 코랩에서 mongo db 연결이 가능해진다.
코랩 실습 링크
https://colab.research.google.com/drive/1CPus01k4ydjcdBJ4O-IWwHDlOh7ESuSW?usp=sharing
MongoDB.ipynb
Colaboratory notebook
colab.research.google.com
'DB' 카테고리의 다른 글
MySQL 기초(5) (0) | 2022.05.04 |
---|---|
MySQL 기초 (4) (0) | 2022.05.02 |
MySQL 기초(3) (0) | 2022.05.02 |
MySQL 기초 (2) (0) | 2022.04.29 |
MySQL 기초(1) (0) | 2022.04.28 |