Quy trình phân tích cho cơ sở dữ liệu hướng cột

Giới thiệu về NoSQL

Jake Roach

Data Engineer

Common table expressions với Snowflake

Common table expressions (CTE):

  • Tiểu truy vấn/bảng tạm có tên, dùng từ khóa WITH
  • Tạo một đối tượng để truy vấn sau đó
  • Giảm dữ liệu cần truy vấn và/hoặc JOIN
  • Tính mô-đun cao, dễ gỡ lỗi
WITH <cte-name> AS (
    SELECT
        ....
    FROM <table-name>
    [JOIN | WHERE | ...]
)

SELECT
    ...
FROM <cte-name>;
1 https://docs.snowflake.com/en/user-guide/queries-cte
Giới thiệu về NoSQL

Viết common table expressions

WITH premium_books AS (
    SELECT
        title,
        author,
        avg_reviews
    FROM books
    WHERE price > 25.00
)
SELECT
    author,
    MIN(avg_reviews) AS min_avg_reviews,
    MAX(avg_reviews) AS max_avg_reviews
FROM premium_books
GROUP BY author;
  • Tạo đối tượng tạm premium_books
  • Dùng premium_books ở bước sau

$$

Có thể tạo nhiều đối tượng tạm:

WITH 
    <first-name> AS (...),
    <second-name> AS (...),
    ...
...
;
Giới thiệu về NoSQL

View trong Snowflake

View:

  • Truy cập kết quả truy vấn như bảng
  • Gồm non-materialized và materialized
CREATE VIEW <view-name> AS
  SELECT
      ...
  FROM <table-name>
  [WHERE | JOIN | ...];
Giới thiệu về NoSQL

Tạo view với Snowflake

CREATE VIEW premium_books AS
    SELECT
        title,
        author,
        avg_reviews
    FROM books
    WHERE price >= 25.00;
SELECT * FROM premium_books;
  • Truy vấn chạy khi gọi premium_books
  • “Định nghĩa có tên” của một truy vấn
CREATE MATERIALIZED VIEW premium_books AS
    SELECT
        title,
        author,
        avg_reviews
    FROM books
    WHERE price >= 25.00;
SELECT * FROM premium_books;
  • Lưu kết quả khi thực thi
  • Hiệu năng tốt hơn, cần làm mới
Giới thiệu về NoSQL

Ayo berlatih!

Giới thiệu về NoSQL

Preparing Video For Download...