250x250
Notice
Recent Posts
Recent Comments
Link
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Archives
Today
Total
관리 메뉴

데이터 놀이터

Section 4 - Sprint 2. 데이터 수집과 NoSQL - 4. NoSQL 본문

코드스테이츠 AIB 17

Section 4 - Sprint 2. 데이터 수집과 NoSQL - 4. NoSQL

jjjk84 2023. 4. 17. 23:45
728x90

오늘의 키워드

 

  • NoSQL
  • MongoDB
  • Pymongo

 

개념 정리

 

1. NoSQL (Not Only SQL)

 

NoSQL은 언뜻 보면 SQL이 아닌건가 싶지만 관계형 데이터베이스(RDB)가 아닌 데이터베이스를 지칭한다. Web시장이 발전하면서 처리해야할 데이터가 늘어났는데 RDB로 처리하기에는 시간, 비용적으로 비효율적이었고 이에 대응하기 위해 발전한 것이 NoSQL이다. RDB는 테이블에 맞춰 데이터를 입력하는 특징이 있는 반면에 NoSQL은 읽어올 때 스키마에 따른다.

 

NoSQL기반의 비관계형 DB는 다음과 같은 타입으로 구분된다.

  • Key-value 형태
  • 문서형 DB
  • Wide-Column DB

 

2. MongoDB

 

MongoDB는 문서형 비관계형 DB로 Json과 유사한 형식으로 데이터를 문서화하는 것이 특징이다. 각각의 문서가 하나의 속성에 대한 데이터를 갖고 있으며 문서를 모아 컬렉션이라는 그룹으로 묶어 관리한다.

https://www.mongodb.com/cloud

 

MongoDB Cloud

MongoDB Cloud is a unified data platform for modern applications and includes a global cloud database, search, data lake, mobile, and application services.

www.mongodb.com

 

3. Pymongo

 

MongoDB를 파이썬과 연결하기 위해서는 pymongo 라이브러리를 이용할 수 있다.

 

from pymongo import MongoClient

client = MongoClient({URI}) 
# URI : mongodb+srv://{유저 이름}:{유저 비밀번호}@cluster-prac.hubjn.mongodb.net/{기본 데이터베이스 이름}?retryWrites=true&w=majority

DATABASE = '이름'
database = client[DATABASE]

COLLECTION = '컬렉션 명' # 테이블 역할
collection = database[COLLECTION]

collection.insert_one(document={ : })

 

728x90