비(非)표 형식 NoSQL 데이터 저장소

NoSQL 입문

Jake Roach

Data Engineer

문서형 데이터베이스

정의: 키-값, 키-배열, 키-객체 쌍으로 구성된 유연한 반정형 형식(JSON 유사)에 데이터를 저장하는 NoSQL 도구.

$$

$$

Postgres JSON 로고.

{
    "title": "Python for Data Analysis",
    "price": 53.99,
    "topics": [
        "Data Science",
        "Data Analytics",
        ...
    ],
    "author": {
        "first": "William"
        ...
    }
}
NoSQL 입문

Postgres JSON으로 JSON 데이터 질의하기

Postgres 테이블에 저장된 하이라이트된 JSON 데이터.

SELECT
    books -> 'title' AS title,
    books -> 'price' AS price
FROM data_science_resources
WHERE 
    books -> 'author' ->> 'last' = 'Viafore';

다음과 같은 출력 생성:

Postgres JSON 쿼리 결과.

NoSQL 입문

Postgres 데이터베이스에 연결하기

import sqlalchemy

# Create a connection string, and an engine
connection_string = "postgresql+psycopg2://<user>:<password>@<host>:<port>/<database>"
db_engine = sqlalchemy.create_engine(connection_string)

Postgres 데이터베이스에 연결하려면:

  • 연결 문자열을 만든다
  • sqlalchemy.create_engine로 엔진 생성
  • db_engine 변수는 연습 전 생성됨
NoSQL 입문

Postgres JSON 쿼리 작성 및 실행

import pandas as pd

# Build the query
query = """
    SELECT
        books -> 'title' AS title,
        books -> 'price' AS price
    FROM data_science_resources;
"""

# Execute the query
result = pd.read_sql(query, db_engine)
print(result)

쿼리를 작성하고 실행하려면:

  • 문자열로 쿼리 작성
  • pd.read_sql()querydb_engine 전달
  • 결과 DataFrame 출력
NoSQL 입문

기타 비표 형식 NoSQL 데이터 저장소

키-값
{
    "name": "Jane Doe",
    "age": 25,
    "email": "[email protected]"
}

$$

Redis 로고.

그래프

그래프 데이터베이스 이미지.

NoSQL 입문

연습해 봅시다!

NoSQL 입문

Preparing Video For Download...