非表形式の 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...