填入欄式資料庫

NoSQL 入門

Jake Roach

Data Engineer

列式 vs. 欄式資料庫的填入方式

列式(Row-oriented):

  • 針對交易情境最佳化
  • 插入、更新、刪除單筆紀錄效能最佳

欄式(Column-oriented):

  • 用於分析型流程
  • 批次載入、更新、刪除資料表現佳

每日更新的分析型資料庫。

NoSQL 入門

CREATE TABLE

Snowflake 資料倉儲與其巢狀儲存物件的示意圖。

CREATE TABLE books (
    title VARCHAR(100),
    author VARCHAR(100),
    price FLOAT
);
NoSQL 入門

COPY INTO

COPY INTO books
FROM 'file://data_science_books.csv'
FILE_FORMAT = (
    TYPE = 'CSV'
    FIELD_DELIMITER = ','
    SKIP_HEADER = 1
);

COPY INTO

FROM

  • 雲端儲存位置
  • URL
  • 暫存檔案

FILE_FORMAT

  • 檔案型別、分隔符、其他中繼資料
1 https://docs.snowflake.com/en/sql-reference/sql/copy-into-table
NoSQL 入門

CREATE TABLE ... AS

CREATE TABLE premium_books AS
SELECT *
FROM books
WHERE price > 50.00;
CREATE OR REPLACE TABLE premium_books AS
SELECT *
FROM books
WHERE price > 50.00;

CREATE TABLE ... AS

  • 提供資料表名稱
  • 在目前的 schema 建立資料表

SELECT ...

  • 以查詢回傳的資料填入資料表

OR REPLACE

  • 若已有同名資料表,將以新資料表取代
1 https://docs.snowflake.com/en/sql-reference/sql/create-table
NoSQL 入門

一起來練習吧!

NoSQL 入門

Preparing Video For Download...