Bảo vệ và Chia sẻ Dữ liệu

Kiến trúc Snowflake

Emily Melhuish

Technical Curriculum Developer, Snowflake

Khi có sự cố

Trước

  • Bảng subscription có 847 dòng
DELETE FROM subscriptions
WHERE status = 'inactive';

woopsie.png

Sau

  • Bảng subscription có 0 dòng
  • Snowflake bảo toàn trạng thái dữ liệu trước mỗi thay đổi
  • Cấu hình cửa sổ thời gian

timetravel.png

Kiến trúc Snowflake

Time Travel

  • Truy vấn dữ liệu tại bất kỳ thời điểm nào trong khoảng lưu giữ
  • Có thể đặt DATA_RETENTION_TIME_IN_DAYStài khoản, cơ sở dữ liệu, schema, hoặc bảng (mức thấp nhất ưu tiên)
  • Standard: tối đa 1 ngày lưu giữ
  • Enterprise: tối đa 90 ngày (theo ấn bản và quy tắc đối tượng)
  • Không chỉ giới hạn ở truy vấn SELECT

Dòng thời gian hiển thị hiện tại và 90 ngày trước

Kiến trúc Snowflake

Duyệt lịch sử: Timestamp và Offset

  • AT BEFORE(STATEMENT) / BEFORE(STATEMENT)

    • Gắn phục hồi với query id
    • Trả về trạng thái dữ liệu trước lệnh đó
  • UNDROP

    • Ví dụ: UNDROP TABLE t
    • Chỉ hoạt động khi còn trong thời gian khôi phục
Kiến trúc Snowflake

Duyệt lịch sử: Statement và Undrop

  • AT BEFORE(STATEMENT) / BEFORE(STATEMENT)

    • Gắn phục hồi với query id
    • Trả về trạng thái dữ liệu trước lệnh đó
  • UNDROP

    • Ví dụ: UNDROP TABLE t
    • Chỉ hoạt động khi còn trong thời gian khôi phục
Kiến trúc Snowflake

Fail-Safe

  • Tự động giữ lại dữ liệu thêm 7 ngày sau Time Travel (Fail-safe)
  • Mặc định, không cần bật
  • Cần hỗ trợ Snowflake để khôi phục
  • Dữ liệu trong Fail-safe được tính vào hóa đơn

Dòng thời gian hiển thị các tùy chọn

Kiến trúc Snowflake

Nhân bản không sao chép

SQL

CREATE TABLE SUBSCRIPTIONS_BACKUP 
  CLONE subscriptions;

Output

Table SUBSCRIPTIONS_BACKUP 
successfully created.
  • Bản sao chia sẻ lớp lưu trữ nền tảng
  • Chỉ tính phí lưu trữ khi bảng bắt đầu khác biệt

Hiển thị nhân bản và chia sẻ lưu trữ bằng 0

Kiến trúc Snowflake

Snowflake Marketplace

Ảnh chụp thị trường Snowflake

Kiến trúc Snowflake

Ayo berlatih!

Kiến trúc Snowflake

Preparing Video For Download...