راهنمای 3 مرحله ای برای ایجاد جدول کلون برف با استفاده از Zero Copy Clone

ویژگی Snowflake Zero copy clone به کاربران این امکان را می دهد که به سرعت یک کلون مشابه از یک پایگاه داده، جدول یا طرحواره موجود بدون کپی کردن کل داده ها ایجاد کنند، که منجر به صرفه جویی قابل توجهی در هزینه ها و عملکرد ذخیره سازی Snowflake می شود. بهترین قسمت؟ شما می توانید همه این کارها را تنها با یک دستور ساده انجام دهید شبیه فرمان زمان کپی کردن ساختارهای کامل، ابرداده، کلیدهای اولیه و طرحواره ها برای ایجاد یک نسخه از پایگاه داده یا جدول شما گذشته است.
در مقاله قبلی خود، به اصول اولیه شبیه سازی صفر کپی در Snowflake پرداختیم. اکنون، در این مقاله، به مراحل عملی در مورد نحوه راهاندازی پایگاههای داده، جداول، و طرحوارهها و همچنین درج دادههای ساختگی برای اهداف شبیهسازی و بسیاری موارد دیگر خواهیم پرداخت. برای اطلاعات بیشتر در مورد نحوه ایجاد یک جدول شبیه سازی برف با استفاده از کلون کپی صفر برفی، به ادامه مطلب مراجعه کنید!
بنابراین، بیایید شروع کنیم!
چگونه با استفاده از Zero Copy Clone جدول را در Snowflake کلون کنیم؟
بدون مقدمه، بیایید مستقیماً به آب مقاله بپردازیم.
بنابراین برای شروع شبیه سازی یک شی با استفاده از Snowflake zero copy clone، می توانید از عبارت ساده SQL زیر استفاده کنید:
CREATE <object_type> <object_name>
CLONE <source_object_name>
این بیانیه خاص به صورت کوتاه است. با شبیه سازی یک شیء موجود، یک شی کاملاً جدید ایجاد می کند. حال، بیایید نحو کامل آن را بررسی کنیم.
CREATE [ OR REPLACE ] { STAGE | FILE FORMAT | SEQUENCE | STREAM | TASK } [ IF NOT EXISTS ] <object_name>
CLONE <source_object_name>
ایجاد یک جدول نمونه
بیایید با ایجاد یک پایگاه داده، طرح و جدول، یک سناریوی واقعی را بررسی کنیم. ابتدا یک پایگاه داده با نام “my_db“، طرحی به نام “خام“در آن پایگاه داده، و جدولی به نام”میز من“در داخل آن خاص”خام” طرحواره. جدول دارای سه ستون خواهد بود: “شناسه“از نوع عدد صحیح،”ناماز نوع varchar با حداکثر طول 50 کاراکتر، و “سن” از نوع عدد صحیح. در اینجا کوئری SQL آمده است:
CREATE OR REPLACE DATABASE my_db;
CREATE OR REPLACE SCHEMA my_db.RAW;
CREATE OR REPLACE TABLE my_db.RAW.my_table (
id INT,
name VARCHAR(50),
age INT
);
در مرحله بعد، 300 ردیف ایجاد شده به طور تصادفی را در جدول قرار می دهیم:
INSERT INTO my_db.RAW.my_table (id, name, age)
SELECT
seq4(),
CONCAT('Some_Name', seq4()),
FLOOR(RANDOM() * 100) + 1
FROM TABLE(GENERATOR(ROWCOUNT => 300));
در نهایت، کل جدول را انتخاب می کنیم:
SELECT COUNT(*) FROM my_db.RAW.my_table;
درخواست نهایی شما باید شبیه چیزی شبیه به این باشد.
CREATE OR REPLACE DATABASE my_db;
CREATE OR REPLACE SCHEMA my_db.RAW;
CREATE OR REPLACE TABLE my_db.RAW.my_table (
id INT,
name VARCHAR(50),
age INT
);
INSERT INTO my_db.RAW.my_table (id, name, age)
SELECT
seq4(),
CONCAT('Some_Name', seq4()),
FLOOR(RANDOM() * 100) + 1
FROM TABLE(GENERATOR(ROWCOUNT => 300));
SELECT COUNT(*) FROM my_db.RAW.my_table;
شبیه سازی جدول نمونه
اکنون که جدول خود را داریم، بیایید یک جدول شبیهسازی دانههای برف ایجاد کنیم MY_DB.RAW.MY_TABLE و آن را به عنوان نامگذاری کنید MY_DB.RAW.MY_TABLE_CLONE.
CREATE TABLE my_db.RAW.my_table_clone
CLONE my_db.RAW.my_table;
در نهایت، بیایید کل جدول کلون شده را انتخاب کنیم:
SELECT COUNT(*) FROM my_db.RAW.my_table_clone;
همانطور که در تصویر بالا مشاهده می کنید، تعداد MY_DB.RAW.MY_TABLE_CLONE با تعداد جدول اصلی ما مطابقت دارد، به این معنی که ما با موفقیت یک جدول شبیه سازی دانه برف از MY_DB.RAW.MY_TABLE جدول. اما هر دوی این جدولها به یک فضای ذخیرهسازی دسترسی دارند، زیرا دادهها در جداول اصلی و شبیهسازی شده یکسان هستند.
درک فضای ذخیره سازی در سطح جدول
اگر به اطلاعات جامع تری در مورد ذخیره سازی در سطح جدول نیاز دارید، می توانید آن را با اجرای پرس و جو زیر در مقابل نمای طرحواره اطلاعات به دست آورید.
توجه: دسترسی به این نما مستلزم استفاده از یک است ACCOUNTADMIN نقش.
USE ROLE ACCOUNTADMIN;
SELECT TABLE_NAME,
ID,
CLONE_GROUP_ID
FROM MY_DB.INFORMATION_SCHEMA.TABLE_STORAGE_METRICS
WHERE TABLE_CATALOG = 'MY_DB'
AND TABLE_SCHEMA = 'RAW'
AND TABLE_DROPPED IS NULL
AND CATALOG_DROPPED IS NULL
AND TABLE_NAME IN ('MY_TABLE', 'MY_TABLE_CLONE');
این پرس و جو خاص اطلاعات مربوط به ذخیره سازی جداول را بازیابی می کند MY_DB.RAW طرحواره نتیجه پرس و جو شامل نام جدول، جدول منحصر به فرد است شناسنامه ها، و CLONE_GROUP_ID. هر جدول دارای یک شناسه منحصر به فرد است که توسط ستون ID نشان داده می شود، در حالی که شناسه گروه کلون یک شناسه منحصر به فرد است که به گروه هایی از جداول که داده های یکسان دارند اختصاص داده می شود. در این سناریو، MY_TABLE و MY_TABLE_CLONE شناسه گروه کلون یکسانی دارند که نشان میدهد دادههای مشابهی را به اشتراک میگذارند.
توجه: هر چند MY_TABLE و MY_TABLE_CLONE به اشتراک گذاری داده های مشابه، آنها هنوز جداول جداگانه هستند. هر نوع تغییری که در یک جدول ایجاد شود، روی جدول دیگر تأثیری نخواهد داشت.
تبریک می گویم! تنها با چند مرحله ساده، با استفاده از کلون کپی صفر، با موفقیت یک جدول شبیه سازی Snowflake ایجاد کرده اید.
نتیجه
ویژگی Snowflake zero copy clone یک ویژگی قدرتمند است که کاربران را قادر می سازد تا به طور موثر کلون های یکسانی از پایگاه داده ها، جداول و طرحواره های موجود خود را بدون کپی کردن داده ها یا ایجاد محیط های جداگانه تولید کنند. این مقاله گامهای عملی را برای راهاندازی پایگاههای داده، جداول و طرحوارهها، درج دادههای ساختگی و شبیهسازی دادهها از ابتدا ارائه میکند. امیدواریم این مقاله برای بررسی پتانسیل ویژگی کلون کپی صفر برف برای ایجاد جدول شبیه سازی دانه برف آموزنده و مفید بوده باشد.
علاقه مند به کسب اطلاعات بیشتر در مورد Snowflake Zero copy clone هستید؟ حتماً مقاله قبلی ما را بررسی کنید، جایی که ما یک نمای کلی از عملکرد درونی، موارد استفاده بالقوه، محدودیتها، ویژگیهای کلیدی، مزایا و موارد دیگر ارائه کردیم!!