Snowflake Virtual warehouses In Hindi | Create warehouse In Snowflake In Hindi

Other Blogs

Image could not load

Snowflake

Virtual Warehouse In Snowflake In Hindi

एक virtual warehouse , जिसे warehouse भी कहते हैं , Snowflake में compute resources का एक cluster है। virtual warehouse का हो सकता है।

  1. Standard

  2. Snowpark-optimized

एक virtual warehouse नीचे दिए गए operations को पूरा करने के लिए resources जैसे CPU, memory, और temporary storage provide कराता है।

1. SQL SELECT statements को Execute करने के लिए जिन्हे compute resources की जरूरत होती है।

2. DML operations Perform करने के लिए जैसे :

  • Updating rows in tables (DELETE , INSERT , UPDATE).

  • Loading data into tables (COPY INTO <table>).

  • Unloading data from tables (COPY INTO <location>).

Snowflake Warehouse size

Size specify करता है कि एक cluster में कितने compute resources warehouse में available हैं। Snowflake में 10 warehouse size defined हैं :

Warehouse SizeCredits / HourCredits / SecondNotes

X-Small

1

0.0003

Default size for warehouses created in Snowsight and using CREATE WAREHOUSE

Small

2

0.0006

Medium

4

0.0011

Large

8

0.0022

X-Large

16

0.0044

Default size for warehouses created using the Classic Console.

2X-Large

32

0.0089

3X-Large

64

0.0178

4X-Large

128

0.0356

5X-Large

256

0.0711

Generally available in Amazon Web Services (AWS) and Microsoft Azure regions, and in preview in US Government regions.

6X-Large

512

0.1422

Generally available in Amazon Web Services (AWS) and Microsoft Azure regions, and in preview in US Government regions.

Snowflake Multi-cluster warehouses

By default, एक virtual warehouse में एक ही cluster compute resources होता है जो queries को execute करने के लिए available होते होता है। जब queries warehouse में submit की जाती है तो warehouse हर query के लिए resources allocate करता है और queries को execute करना शुरू करता है।

अगर warehouse में सभी queries को execute करने के लिए sufficient resources available नहीं होते हैं तो Snowflake additional queries को queue में डालता है जब तक आवश्यक resources available नहीं हो जाते हैं।

Multi-cluster warehouses के साथ , Snowflake को load के according और भी clusters statically or dynamically रूप से हो allocate हो सकते हैं। ताकि उपलब्ध compute resources का pool बढ़ा सकें।

एक multi-cluster warehouse को निम्नलिखित properties के bases पर define किया जाता है।

  • Maximum number of clusters, greater than 1 (up to 10).

  • Minimum number of clusters, equal to or less than the maximum (up to 10).

Creating a warehouse

warehouse को आप SnowSQL या Snowsight से create कर सकते हैं। हालाँकि हम SnowSQL से warehouse के सभी examples देखेंगे।

Syntax

CREATE [ OR REPLACE ] WAREHOUSE [ IF NOT EXISTS ] <name>
[ [ WITH ] objectProperties ]
[ [ WITH ] TAG ( <tag_name> = '<tag_value>' [ , <tag_name> = '<tag_value>' , ... ] ) ]
[ objectParams ]

यहाँ पर objectProperties की values नीचे दी गयी हैं।

objectProperties ::=
WAREHOUSE_TYPE = { STANDARD | 'SNOWPARK-OPTIMIZED' }
WAREHOUSE_SIZE = { XSMALL | SMALL | MEDIUM | LARGE | XLARGE | XXLARGE | XXXLARGE | X4LARGE | X5LARGE | X6LARGE }
MAX_CLUSTER_COUNT = <num>
MIN_CLUSTER_COUNT = <num>
SCALING_POLICY = { STANDARD | ECONOMY }
AUTO_SUSPEND = { <num> | NULL }
AUTO_RESUME = { TRUE | FALSE }
INITIALLY_SUSPENDED = { TRUE | FALSE }
RESOURCE_MONITOR = <monitor_name>
COMMENT = '<string_literal>'
ENABLE_QUERY_ACCELERATION = { TRUE | FALSE }
QUERY_ACCELERATION_MAX_SCALE_FACTOR = <num>

और objectParams की values कुछ इस तरह से हैं ।

objectParams ::=
MAX_CONCURRENCY_LEVEL = <num>
STATEMENT_QUEUED_TIMEOUT_IN_SECONDS = <num>
STATEMENT_TIMEOUT_IN_SECONDS = <num>

कैसा भी warehouse बनाने में maximum इन्ही configurations का use किया जाता हैं। इन configurations को follow करके आप अपने warehouse को fully scalable बना सकते हैं।

अब इन सभी options के बारे में देख लेते हैं कि इन्हे की और कैसे use करते हैं।

WAREHOUSE_TYPE

type वही हैं जिन्हे आपने अभी ऊपर पढ़ा , Standard & Snowpark-optimized. by default Standard ही होता है।

Standard Warehouse : Standard warehouse compute resources को provide करता है जो कि standard SQL queries को execute करने के लिए useful होता है।

Snowpark-Optimized Warehouse : Snowpark-optimized warehouse Snowpark से लेकर C++ UDFs और External Functions जैसे advanced features के लिए optimized compute resources को provide कराता है।

Snowpark एक programming modal है जो Snowflake के unstructured data और semi-structured data के साथ interact करने के लिए use होता है।

WAREHOUSE_SIZE

इसमें हम warehouse का size define करते हैं। size का मतलब है cluster द्वारा provide किये गए compute resources . By default XSMALL set होता है।

MIN_CLUSTER_COUNT

यह parameter warehouse में minimum कितने clusters allocate किये जा सकते हैं , ये warehouse में हमेशा available रहेंगे और जब भी need होगी , इनका use किया जायेगा। अगर workload बढ़ जाता है या resources की demand बढ़ती है तो minimum cluster count के according additional clusters automatically allocate किये जाते हैं।

By default इसकी value 1 रहती ही है।

MAX_CLUSTER_COUNT

यह parameter warehouse में maximum कितने clusters allocate किये जा सकते हैं , यह warehouse की scaling को control करता है।

Maximum cluster count के according, warehouse में allocate किये गए clusters की संख्या को control किया जा सकता है और ज्यादा load होने पर extra resources को allocate होते हैं और load काम होने पर automatically cluster remove हो जाते हैं।

MAX_CLUSTER_COUNT की value MIN_CLUSTER_COUNT से ज्यादा या बराबर होती है।

MAX_CLUSTER_COUNT और MIN_CLUSTER_COUNT की value अलग - अलग set करके आप warehouse को auto scalable बनाते हैं। लेकिन जब इनकी value same होती है तो warehouse Maximized mode में होता हैं।

SCALING_POLICY

यह parameter warehouse की scaling policy को define करता है , या तो "STANDARD" ya "ECONOMY" mode में।

STANDARD mode में, warehouse resources dynamically workload के according adjust होते हैं। जबकि ECONOMY mode में, resources काम होती हैं लेकिन cost भी कम होती है।

AUTO_SUSPEND

यह parameter warehouse को automatically suspend करने के time को define करता है। Suppose आपने 200 Seconds define किये तो 200 Seconds तक अगर कोई query run की गयी तो वो warehouse automatically stop/suspend हो जायगा।

Cost saving में यह option काफी helpful है।

AUTO_RESUME

यह parameter warehouse को automatically resume/start करता है। इसकी value TRUE होने पर warehouse automatically resume होगा जैसे ही कोई query execute होने के लिए submit की जाती है।

By default हमें manually alter warehouse query run करके warehouse को RESUME करना पड़ता है।

INITIALLY_SUSPENDED

यह parameter warehouse को starting में suspend करने के लिए use किया जाता है। TRUE होने पर पर warehouse create होने के बाद suspend ही रहता है।

RESOURCE_MONITOR

यह parameter warehouse के लिए specific resource monitor को specify करता है जो resource usage को monitor करता है।

COMMENT

ये parameter optional होता है और warehouse के बारे में एक description की तरह use किया जाता है।

ENABLE_QUERY_ACCELERATION

ये parameter warehouse में query acceleration को enable या disable करने के use होता है। TRUE होने पर query acceleration का use किया जाता है।

QUERY_ACCELERATION_MAX_SCALE_FACTOR

ये parameter query acceleration का maximum scale factor को define करता है , जो query performance को optimize करने में help करता है।

MAX_CONCURRENCY_LEVEL

ये parameter warehouse के maximum concurrency level को define करता है , यानी एक time में कितने queries simultaneously execute की जा सकती हैं।

अधिक concurrency level से warehouse के time के साथ - साथ resource utilization भी बढ़ता है , लेकिन इससे performance पर भी effect सकता है।

STATEMENT_QUEUED_TIMEOUT_IN_SECONDS

ये parameter warehouse में statement को queue में रखने के समय को define करता है। अगर एक statement queue में अधिक time तक wait करता है तो to ये timeout हो जायगा और statement को execute करने के लिए reject कर दिया जायेगा।

इससे warehouse के resource utilization को optimize किया जा सकता है और deadlock situations से भी बचा जा सकता है।

STATEMENT_TIMEOUT_IN_SECONDS

यह parameter warehouse में एक statement के execution का time limit को define करता है। अगर एक statement का execution specified time से अधिक समय तक चलता है तो यह timeout होगा और statement को cancel कर दिया जायगा।

इससे warehouse के resources का ठीक से use किया जा सकता है और long-running queries से बचा जा सकता है।

Recent Blogs

Loading ...

Hey ! I'm Rahul founder of learnhindituts.com. Working in IT industry more than 4.5 years. I love to talk about programming as well as writing technical tutorials and blogs that can help to others .... keep learning :)

Get connected with me - LinkedIn Twitter Instagram Facebook

Your Thought ?

Please wait . . .

    0 Comment(s) found !