스크립트
00:00:00तो ऐसा पता चलता है कि वे सभी डेवलपर्स जो कहते हैं अरे भाई हर चीज़ के लिए पोस्टग्रेज का उपयोग करें, वे और भी अधिक सही हैं
00:00:04पोस्टग्रेज 19 के आगामी रिलीज़ के साथ जिसमें ग्राफ़ क्वेरीज़ के लिए मूल समर्थन शामिल है
00:00:10और यह एक वास्तव में शानदार सुविधा है। तो आज के वीडियो में मैं सभी मुख्य विशेषताओं को कवर करना चाहता हूँ
00:00:16पोस्टग्रेज 19 के लिए और विशेष रूप से ग्राफ़ क्वेरीज़ पर गहराई से नज़र डालें क्योंकि मुझे लगता है कि यह
00:00:21मौलिक रूप से हमारे द्वारा क्वेरीज़ डिज़ाइन करने और पोस्टग्रेज का उपयोग करने के तरीके को बदल सकता है।
00:00:30तो पहली विशेषता वह है जिसे ऑन कॉन्फ्लिक्ट डू सेलेक्ट कहा जाता है। यदि आप केवल तभी कोई पंक्ति डालना चाहते हैं जब वह
00:00:35मौजूद नहीं है और किसी भी तरह से आप परिणाम के रूप में उस पंक्ति को वापस पाना चाहते हैं तो आमतौर पर आपको इसकी आवश्यकता होगी
00:00:40इसके लिए दो क्वेरीज़ की, एक इंसर्ट और एक सेलेक्ट और यह एक बहुत ही सामान्य वर्कफ़्लो है। तो यहाँ उदाहरण में
00:00:45हम कहते हैं कि हम यूज़र्स ईमेल और नाम में इंसर्ट करने जा रहे हैं और फिर हम उन वैल्यूज़ को देते हैं और फिर अंत में
00:00:50हम कहते हैं ऑन कॉन्फ्लिक्ट फॉर ईमेल डू नथिंग रिटर्निंग स्टार। डू नथिंग आपको वापस कुछ नहीं देता है जब पंक्ति
00:00:56पहले से मौजूद है इसलिए आप इसके बाद सेलेक्ट करते हैं, लेकिन एक साथ यह एटॉमिक नहीं है। 19 के साथ आप यह कर सकते हैं
00:01:03सिर्फ एक क्वेरी के साथ। यूज़र्स में इंसर्ट करें ईमेल और नाम देते हुए और फिर हम कहते हैं ऑन कॉन्फ्लिक्ट ईमेल डू सेलेक्ट
00:01:11रिटर्निंग स्टार। और यदि आप उसी क्वेरी में संशोधित करना चाहते हैं तो हम कह सकते हैं इंसर्ट इनटू यूज़र्स और फिर हम देते हैं
00:01:16मान लीजिए कि ईमेल के लिए ऑन कॉन्फ्लिक्ट डू सेलेक्ट फॉर अपडेट रिटर्निंग आईडी और नेम है। और चूँकि यह एक एकल
00:01:23कथन है यह एटॉमिक है आप इसे हर बार या तो इंसर्ट करते हैं या सेलेक्ट करते हैं और यह ऐसा है
00:01:29आम उपयोग का मामला यह वास्तव में उपयोगी होने जा रहा है। तो अगली बात ग्राफ़ है लेकिन यदि आप इसका आनंद ले रहे हैं तो
00:01:34तकनीकी क्षेत्र की नवीनतम जानकारी से अपडेट रहने के लिए बेटर स्टैक की सदस्यता क्यों न लें। अब जैसा कि मैंने पहले कहा था यह
00:01:39मेरी राय में मुख्य विशेषता है। तो मान लीजिए कि आपके पास एक दुकान के लिए सामान्य स्कीमा है आपके पास ग्राहक हैं
00:01:44ऑर्डर और उत्पाद और साथ ही दो जॉइन टेबल जो उन सभी को एक साथ जोड़ते हैं और आप जानना चाहते हैं कि कौन सा
00:01:50उत्पाद किसी दिए गए ग्राहक ने वास्तव में खरीदा है। एसक्यूएल में यह सभी पाँच तालिकाओं में जॉइन की एक श्रृंखला है और वह
00:01:56यहाँ प्रबंधनीय है लेकिन अधिक जटिल संबंधों के लिए यह बहुत जल्दी बदसूरत हो जाता है। खैर अब हम
00:02:02इन सभी को एक ग्राफ़ के रूप में क्वेरी कर सकते हैं ताकि वह जटिल जॉइन सिंटैक्स अब इसके बजाय एक नया ग्राफ़ सिंटैक्स बन जाए। और
00:02:08विशेष रूप से जटिल जॉइन के साथ आपको यहाँ वास्तव में बड़ा लाभ दिखाई देगा। तो हम अपने डेटाबेस के अंदर हैं
00:02:14यहाँ व्यूअर और आप देख सकते हैं कि हमारे पास हमारी सभी टेबल हैं हमारे पास प्रोडक्ट्स ऑर्डर्स इवेंट्स हैं हमारे पास
00:02:20ग्राहक भी हैं और फिर हमारे पास इस सारे डेटा को जोड़ने के लिए पिवट टेबल हैं। तो हमारे पास ऑर्डर आइटम हैं
00:02:25और ग्राहक ऑर्डर करते हैं और अब इन सभी तालिकाओं के विरुद्ध एक क्वेरी चलाने का प्रयास करते हैं। तो उदाहरण के लिए कहें
00:02:30मेरे पास यहाँ एलिस नाम का यह उपयोगकर्ता है मैं उन सभी चीज़ों का हिसाब लगाना चाहता हूँ जो एलिस ने ऑर्डर की हैं। करने के लिए
00:02:35यह मुझे उन सभी तालिकाओं को जोड़ने के लिए विभिन्न जॉइन क्वेरीज़ के एक समूह से गुजरना होगा। इसलिए मैं यह चलाऊँगा
00:02:41क्वेरी जिसमें इसके भीतर चार अलग-अलग जॉइन स्टेटमेंट हैं और हालांकि यह जरूरी नहीं कि कठिन हो
00:02:46लिखने के लिए यह बहुत बदसूरत है लेकिन अगर हम इसे चलाते हैं तो आप देख सकते हैं कि हम उन सभी चीज़ों को देख सकते हैं जो एलिस के पास हैं
00:02:51ऑर्डर किया गया मैकेनिकल कीबोर्ड और एर्गोनॉमिक माउस लेकिन अब हम बड़े पैमाने पर सरल बनाने के लिए ग्राफ़ सिंटैक्स का उपयोग कर सकते हैं
00:02:57यह। तो हम इस सबको नए ग्राफ़ सिंटैक्स से बदल देंगे और हम इसे फिर से निष्पादित करेंगे और आप कर सकते हैं
00:03:03देखें कि हमें वही परिणाम मिलते हैं और यदि हम इन सभी को एक सीध में रखते हैं तो यह पढ़ना आसान होने लगता है ताकि आप देख सकें
00:03:07हम सिर्फ ग्राहकों से ग्राहक ऑर्डर, ऑर्डर से ऑर्डर आइटम, उत्पादों तक जा रहे हैं। तो आप कर सकते हैं
00:03:13मूल रूप से पूरे ग्राफ़ से गुजरने के लिए इस सरल प्रवाह का पालन करें जो मेरी राय में बहुत बहुत है
00:03:19पढ़ने में आसान. यदि आप कई कॉलम भी चुनना चाहते हैं तो हम ऐसा कर सकते हैं हमारे पास वही है
00:03:23शीर्ष पर ग्राफ़ क्वेरी लेकिन फिर हम नीचे कॉलम परिभाषित कर सकते हैं और फिर हम सभी का चयन करते हैं
00:03:27वे कॉलम जिन्हें हम प्रदर्शित करना चाहते हैं और उसे निष्पादित करके हमें नीचे परिणाम मिलते हैं। अब इनमें से कोई नहीं
00:03:32तब तक काम नहीं करेगा जब तक कि हमने वास्तव में पहली बार में ग्राफ़ नहीं बनाया है इसलिए वह क्वेरी जिसका मैंने उपयोग किया है
00:03:37उस ग्राफ़ को उत्पन्न करना यहाँ है हम कहते हैं कि प्रॉपर्टी ग्राफ़ बनाएँ और फिर हम इसे एक नाम देते हैं मेरी दुकान और फिर
00:03:42हम वर्टेक्स तालिकाओं को रेखांकित करते हैं जो ग्राहक ऑर्डर और उत्पाद होने जा रही हैं तो ये हैं
00:03:47ऐसी चीजें जो वास्तव में डेटा रखती हैं और फिर हमारे पास एज टेबल होती हैं और ये ऐसी चीजें होती हैं जो
00:03:52वास्तव में कनेक्शन बनाते हैं इसलिए हमारे मामले में पिवट टेबल ग्राहक ऑर्डर और ऑर्डर होंगे
00:03:57आइटम और इसके लिए सिंटैक्स बहुत सरल है हम कहते हैं कि ग्राहक ऑर्डर के लिए स्रोत ग्राहक हैं और
00:04:02गंतव्य ऑर्डर है और ऑर्डर आइटम के लिए स्रोत ऑर्डर है और गंतव्य उत्पाद है और इसके साथ
00:04:08जगh पर पोस्टग्रेज अब हर बार जब हम कोई ग्राफ़ क्वेरी चलाते हैं तो इस बात से अवगत हो जाएगा कि वे संबंध कैसे हैं
00:04:14परिभाषित हैं. इसके काम करने के लिए आपको एक ग्राफ़ बनाने की ज़रूरत है लेकिन इससे नई टेबल या कुछ भी नहीं बनता है
00:04:19आप बस उन पाँच तालिकाओं की ओर इशारा करते हैं जो आपके पास पहले से हैं, वे तीन जो वास्तव में डेटा रखती हैं, बन जाती हैं
00:04:23शीर्षक और दो जॉइन टेबल किनारे बन जाते हैं यह एक दृश्य की तरह अधिक काम करता है ताकि आपकी पिछली स्कीमा
00:04:29बिल्कुल वैसे ही रहती है आपको बस इसके ऊपर यह अतिरिक्त कार्यक्षमता मिलती है इसलिए यहाँ हम जा रहे हैं
00:04:35कहें कि प्रॉपर्टी ग्राफ़ बनाएँ हम इसे अपनी दुकान कहेंगे और फिर हम यह वर्णन करना शुरू करते हैं कि वह रिश्ता कैसे
00:04:40वास्तव में काम करता है और यहीं पर हम ग्राफ़ के लिए सारा काम कर रहे हैं और इसका मतलब है कि क्वेरीज़
00:04:45संबंधित जॉइन सिंटैक्स की तुलना में बहुत बहुत पतली हो सकती हैं तो क्या यह नियो4जे प्रतिस्थापन है, यदि आप चाहें
00:04:52ग्राफ़ डेटाबेस क्योंकि आपको ग्राफ़ स्टोरेज और ट्रैवर्सल प्रदर्शन की आवश्यकता थी तो नहीं और एक समर्पित ग्राफ़
00:04:58डेटाबेस अभी भी शायद बेहतर विकल्प है लेकिन यदि आप ऐसा चाहते हैं क्योंकि एसक्यूएल में 10 टेबल जॉइन लिखना
00:05:03दर्दनाक और बदसूरत है तो इससे निश्चित रूप से आपको फायदा होने वाला है और यह बहुत अच्छा होने वाला है
00:05:09तुलना में तीसरी नई सुविधा रीपैक है और यह डिस्क स्थान वापस पाने के बारे में है पोस्टग्रेज
00:05:15कभी भी किसी पंक्ति को यथास्थान अपडेट नहीं करता है यह एक नया संस्करण लिखता है और पुराने को पीछे छोड़ देता है और वैक्यूम केवल
00:05:21उस मृत स्थान को पुन: प्रयोज्य के रूप में चिह्नित करता है ताकि आपका डिस्क उपयोग वास्तव में कभी नीचे न आए रीपैक पूरे को दोबारा लिखता है
00:05:27इसमें बिना किसी बर्बाद स्थान के एक ताज़ा फ़ाइल में तालिका और यही वह चीज़ है जो अंतरिक्ष को वापस सौंपती है
00:05:33ऑपरेटिंग सिस्टम के लिए आप वास्तव में वैक्यूम फुल के साथ पहले से ही ऐसा कर सकते हैं लेकिन यह इसके लिए तालिका को लॉक कर देता है
00:05:38पूरे रीराइट के लिए इसलिए किसी भी बड़ी चीज़ के लिए आप इसे कभी नहीं चलाते हैं और यही कारण है कि लोग इंस्टॉल करते हैं
00:05:42पीजी रीपैक जैसे एक्सटेंशन लेकिन अब यह हमें सीधे पोस्टग्रेज में निर्मित मिलता है इसके साथ समवर्ती कीवर्ड का उपयोग करें
00:05:49और यह रीपैक काम करते समय तालिका को पढ़ने योग्य और लिखने योग्य रखता है हालांकि यहाँ देखने के लिए एक बात यह है
00:05:54आपको तालिका की दूसरी प्रति और उसके सभी इंडेक्स के लिए पर्याप्त खाली डिस्क स्थान की आवश्यकता है इसलिए आपको इसकी आवश्यकता है
00:06:00वास्तव में अधिक स्थान पुनः प्राप्त करने के लिए अतिरिक्त स्थान इसलिए यह पीजी रीपैक का सटीक प्रतिस्थापन नहीं है लेकिन इसके लिए
00:06:06एक सामान्य तालिका यह एक्सटेंशन के बिना काम करती है ठीक है अब हम इसके लिए एक त्वरित दौर करने जा रहे हैं
00:06:1119 रिलीज़ में शेष सुविधाएँ सबसे पहले क्वेरी संकेत हैं पोस्टग्रेज निर्णय लेता है कि वास्तव में आपकी कैसे दौड़ना है
00:06:17क्वेरी और यह समय के साथ अपना मन बदल सकती है इसलिए एक क्वेरी जो एक साल से ठीक है अचानक धीमी हो जाती है
00:06:22और आपके कोड में कुछ भी नहीं बदला पीजी प्लान एडवाइस नामक एक नया मॉड्यूल आपको योजना को कैप्चर करने देता है जब यह है
00:06:28अभी भी तेज़ है और इसे पिन करें ताकि यह हमेशा ऐसा ही रहे जिट अब डिफ़ॉल्ट रूप से बंद है पोस्टग्रेज भारी क्वेरीज़ को संकलित करता है
00:06:36मशीन कोड तक नीचे लेकिन इसने योजनाकार के लागत अनुमान और रिलीज से परेशानी उठाने का फैसला किया
00:06:41नोट्स कहते हैं कि वह लागत वास्तव में अविश्वसनीय थी इसलिए यह उन क्वेरीज़ पर चल रही थी जो वास्तव में नहीं थीं
00:06:46इसकी आवश्यकता भी है वैक्यूम अब कई श्रमिकों के साथ समानांतर में आपके इंडेक्स को साफ कर सकता है ताकि कम समय लगे
00:06:52एक बड़ी टेबल को वैक्यूम करने में समय बिताया, हालाँकि आपको इसे खुद चालू करना होगा, आप जानते हैं कि जब आप कोई कॉलम जोड़ते हैं
00:06:58एक चयन करने के लिए और फिर आपको समूह द्वारा समान कॉलम भी जोड़ना होगा यह आपके लिए वह सब करता है
00:07:03और कॉपी कीवर्ड अब सीधे जेसन में निर्यात कर सकता है इसलिए यदि आप सीएसवी डंप कर रहे थे और इसे परिवर्तित कर रहे थे
00:07:09बाद में आप ऐसा करना बंद कर सकते हैं तो वह पोस्टग्रेज 19 बीटा 2 जुलाई में आ गया है और अंतिम रिलीज़ है
00:07:15सितंबर या अक्टूबर के आसपास उम्मीद है इसलिए यदि आप इससे पुराना कुछ भी चला रहे हैं तो बीटा को नीचे खींचना उचित है
00:07:21और अब इसके विरुद्ध परीक्षण कर रहे हैं और यदि आप पोस्टग्रेज के बारे में अधिक देखना चाहते हैं तो आप वास्तव में जाँच कर सकते हैं
00:07:25पीजी ड्यूरेबल का एक ब्रेकडाउन यह टिकाऊ वर्कफ़्लो को सीधे पोस्टग्रेज के अंदर रखता है मैं वारेन रहा हूँ
00:07:31बेटरस्टैक देखने के लिए धन्यवाद और मैं आपसे अगले में मिलूंगा