表形式のNoSQLデータストア

NoSQL入門

Jake Roach

Data Engineer

表形式データストア

空の行指向テーブル。

空の列指向テーブル。

列指向データベース:

  • 行ではなく列に保存
  • 列の選択読み出しが可能
  • スキーマ変更が容易
  • 高圧縮・高性能なクエリ
NoSQL入門

列指向データベースのクエリ

Snowflake データベースの Books テーブル。

フィルタ後の値を強調した Books テーブル。

SELECT
    title,
    price
FROM books
WHERE price < 50.00;

$$

  • SQLに近い構文
  • 列消去と選択的読み取り
  • 自動データクラスタリング
NoSQL入門

列指向データストアでのクエリ実行

SELECT
    title,
    price
FROM books
WHERE price < 50.00;

このクエリの実行手順:

  • price 列にアクセスし、price < 50.00 の行を特定
  • 対応する title 列の値を取得

Snowflake の Books テーブルに対するクエリ実行。

今後扱う内容:

  • データの読み込み・削除の最適化
  • 高速な JOIN の作成
  • 半構造化データの操作
NoSQL入門

Snowflake データベースへの接続

import snowflake.connector

conn = snowflake.connector.connect(
  user="<user>",
  password="<password>",
  account="<account_identifier>",
  database="<database_name>",
  schema="<schema_name>",
  warehouse="<warehouse_name>"
)
  • conn 変数は演習前に用意されています
NoSQL入門

Snowflake クエリの作成と実行

# 文字列(複数行可)でクエリを作成
query = """
SELECT
    title,
    price
FROM books
WHERE price < 50.00;
"""

# クエリを実行し、結果を表示
results = conn.cursor().execute(query).fetch_pandas_all()
print(results)
NoSQL入門

練習しましょう!

NoSQL入門

Preparing Video For Download...