[N424] NoSQL

쥬쥬스·2023년 3월 29일
0

section4

목록 보기
9/15

1. NoSQL

Why NoSQL?

  • 입력할 때, 데이터 그 자체로 입력 가능
  • 관계형 데이터베이스에 비해 덜 정형화된 데이터를 저장하기 위한 용도
  • 수용능력의 폭이 넓다

데이터 형태

  • 정형 데이터 : 형태가 있고 연산이 가능한 데이터
    (RDB(SQL):타입이 모두 명시되어있음, Excel, CSV)
  • 반정형 데이터 : 형태가 있지만 연산이 불가능한 데이터
    (XML, HTML)
  • 비정형 데이터 : 형태가 없고 연산이 불가능한 데이터
    (소셜미디어(text), 영상데이터, 음성데이터)

RDB vs NoSQL

structured data - un-structured data

2. MongoDB

Document Database


문서들은 BSON 형태로 저장이 되고 정해진 틀이나 데이터 타입 X
BSON : json을 binary형태로 변형해서 저장하는 것

MongoDB Atlas + python

MongoDB Atlas
1. 계정만들기 / 로그인
2. 프리 티어(free tier)로 클러스터 생성

  • 커넥션 IP 주소 등록 (0.0.0.0으로 등록해야 외부에서도 접근 가능)
  • 데이터베이스 유저 생성
  1. 'connect your application'
  2. 주소 복사 (URI 변수)
  3. 파이썬 실행
USER = '****'
HOST = '****'
PASSWORD = '****'
DATABASE_NAME = '' # 직접 입력
URI = f"mongodb+srv://{USER}:{PASSWORD}@{HOST}/{DATABASE_NAME}?retryWrites=true&w=majority"

from pymongo import MongoClient

# 잘 import 됐는지 확인
# print(MongoClient)

client = MongoClient(URI)
# print(client) # 확인용

database = client[DATABASE_NAME]
#print(database)

# mongoDb에서 table은 collection

COLLECTION = 'test-collection' # collection이름
collection = database[COLLECTION]
#print(collection)

# 데이터 한개 입력
collection.insert_one(document={'hello':'test'})

# 데이터 여러개 입력
collection.insert_many()
  1. 실행 후에 DB 확인
  2. Browse Collection
  3. DATA_BASE 이름 안에 COLLECTION 이름.repos 생성된 것 확인 가능

🎈 참고문서
SQL과 NoSQL의 차이
mongoDB 조회
mongoDB 조작/조회/영화데이터처리
python과 pymongo활용

🎈 MongoDB
MongoDB 실습-W3school
pymongo document


🎇 오늘의 회고

db 배우는거 재밌는데 쉽지는 않다. 설명을 많이 해주시고, 도와주시니까 할만하다고 느끼는 것 같기도. 뭐든 많이 해봐야된다. 근데 오늘은 파이썬을 더 공부해야겠다고 느꼈다. 이거는 다 파이썬의 연장선일뿐임...ㅠ

profile
느려도... 꾸준히.....🐌

0개의 댓글