घर डेटाबेस सूचकांक पागलपन: कैसे डेटाबेस अराजकता से बचने के लिए

सूचकांक पागलपन: कैसे डेटाबेस अराजकता से बचने के लिए

विषयसूची:

Anonim

Techopedia Staff द्वारा, 5 अक्टूबर, 2016

Takeaway: होस्ट एरिक कवनघ डॉ। रॉबिन ब्लोर, डीज़ ब्लैंचफील्ड और आइडेरा के बर्ट स्कल्ज़ो के साथ डेटाबेस इंडेक्सिंग पर चर्चा करता है।

आप वर्तमान में लॉग इन नहीं हैं। वीडियो देखने के लिए कृपया लॉग-इन या साइन-अप करें।

Techopedia सामग्री साथी

Techopedia Staff Bloor Group से संबद्ध है और इसे दाईं ओर दिए गए विकल्पों का उपयोग करके संपर्क किया जा सकता है। हम उद्योग भागीदारों के साथ कैसे काम करते हैं, इसकी जानकारी के लिए यहां क्लिक करें।
  • प्रोफ़ाइल
  • वेबसाइट

एरिक कवनघ: देवियों और सज्जनों, नमस्कार, और एक बार फिर से आपका स्वागत है। यह बुधवार है, चार बजे पूर्वी, और आप में से जो कार्यक्रम जानते हैं, जानते हैं कि इसका क्या मतलब है, यह हॉट टेक्नोलॉजीज के एक और एपिसोड के लिए समय है। हाँ सचमुच। मेरा नाम एरिक कवनघ है, मैं आज के सत्र के लिए आपका मॉडरेटर बनूंगा: "इंडेक्स इन्सानिटी: हाउ टू अवॉयड डेटाबेस डेटाबेस कैओस"। या जैसा कि मैंने पिछले ईमेल ब्लास्ट में इसका जिक्र किया था, बाहर जाने के लिए, "डेटाबेस तकरार।" इन दिनों हॉट टर्म, "वार्मिंग।" हर कोई करता है। वास्तव में आपके बारे में एक स्लाइड है। और मेरे बारे में पर्याप्त है।

इसलिए, हॉट टेक्नोलॉजी श्रृंखला को वास्तव में एक विशेष स्थान को परिभाषित करने के लिए डिज़ाइन किया गया था, ब्रीफिंग रूम के विपरीत, जो कि सिर्फ एक-पर-एक लाइव विश्लेषक ब्रीफिंग है, हॉट टेक के लिए हमें दो विश्लेषक मिलते हैं। आज, यह हमारे अपने डॉक्टर रॉबिन ब्लोर और हमारे डेटा वैज्ञानिक Dez Blanchfield होने जा रहा है। और हम एक ऐसे विषय के बारे में बात कर रहे हैं, जो मुझे लगता है कि आज बाज़ार में जो हो रहा है, वह वास्तव में काफी शर्मनाक है।

लब्बोलुआब यह है कि हम इन दिनों जटिलता की दुनिया में हैं। वास्तव में, अगर आप पंद्रह साल, या बीस साल पीछे सोचते हैं, तो यह एक अलग दुनिया थी, खासकर डेटाबेस तकनीक के संबंध में। डेटाबेस काफी सरल हुआ करते थे। उनमें से केवल कुछ मुट्ठी भर थे; उनमें से अधिकांश संबंधपरक थे। अब, हमारे पास डेटाबेस तकनीकों का यह पूरा फलक है। जो कोई एप्लिकेशन बनाना चाहता है या डेटा के साथ कुछ करना चाहता है, उसके लिए टेबल पर वस्तुतः विकल्पों का स्कोर। सब कुछ बदल रहा है और यह उन लोगों को प्रभावित करता है जो इन प्रणालियों का प्रबंधन करने की कोशिश करते हैं। हम आज बर्ट स्केलोज़ के साथ बात करने जा रहे हैं, जो इस क्षेत्र में एक वास्तविक विशेषज्ञ हैं; वह IDERA के लिए वरिष्ठ उत्पाद प्रबंधन है, इस बारे में कि आप उस सभी डेटा पर एक हैंडल प्राप्त करने के लिए क्या कर सकते हैं। इसके साथ, मैं इसे दूर करने के लिए डॉक्टर रॉबिन ब्लोर को सौंपने जा रहा हूं। रॉबिन, मंजिल तुम्हारी है।

रॉबिन ब्लर: ठीक है, उस परिचय के लिए धन्यवाद। मुझे लगता है कि - क्योंकि यह एक दो-हाथ वाली बात है, मुझे लगता है कि मैं इस हॉट टेक शो के लिए एक परिचय के रूप में सामान्य रूप से डेटाबेस अनुकूलन के बारे में बात करूंगा। मैंने जीवन की शुरुआत की - प्रौद्योगिकी और विश्लेषण में - मैंने जीवन ऐसा करना शुरू कर दिया क्योंकि मैं DEC VAX मंच पर डेटाबेस की क्षमताओं पर लेख लिखता था। और उस कारण से, डेटाबेस खर्च करने वाले मुझे संक्षिप्त करते थे। और मेरे लिए इस तरह की बात होती है, तो आपके पास एक डेटाबेस क्यों होगा? मेरा मतलब है, उन दिनों में बहुत सारे लोग महत्वपूर्ण मूल्य की फाइलें बनाने के लिए इस्तेमाल करते थे और उन पर एक तरह की सूचकांक अनुक्रमिक गिरावट का उपयोग करते थे जैसा कि हम उन्हें कहते हैं, लेकिन एक तरह की डेटाबेस क्षमता बनाने के लिए, और आप जानते हैं, आपके पास क्यों होगा और कुछ?

और उस का जवाब, मुझे लगता है कि माइकल स्टोनब्रेकर ने उस पर सबसे अच्छा जवाब दिया था, और उन्होंने कहा, "एक डेटाबेस अधिक जान सकता है कि डेटा कहां है और इसे कितनी तेजी से प्राप्त किया जा सकता है, किसी भी कार्यक्रम की तुलना में कभी भी पता चल सकता है।" और मुझे लगता है कि यह दिलचस्प है; यह खेल की प्रकृति है। लेकिन 19 में - अच्छी तरह से 1989 के बारे में जो मैंने प्रौद्योगिकी विश्लेषण में शुरू किया था और आप जानते हैं, उस समय में, डेटाबेस बहुत सरल थे और रिलेशनल डेटाबेस सुपर सरल थे। उनके पास इतनी कम क्षमता थी, मेरा मतलब है, वे डेटा स्टोर कर सकते हैं, जाहिर है, और आप बैकअप ले सकते हैं और उनके पास, वे एसीआईडी ​​कंप्लेंट थे, लेकिन उनके पास वास्तव में बहुत कमजोर ऑप्टिमाइज़र थे। वास्तव में, यह तर्क देना कठिन होगा कि उनके पास आशावादी क्षमता थी।

और बाद में वे बस बेहतर और बेहतर हो गए, लेकिन, आप जानते हैं, जब एक डेटाबेस कार्य नहीं करता है - जैसा कि ये कंगारू एक तरह से या किसी अन्य संकेत में प्रतीत होते हैं - एक भयानक बहुत सारे कारण हो सकते हैं कि यह धीमा क्यों हो रहा है। और जो मुझे इस बिंदु पर लाता है: डेटाबेस में कई कार्य हैं, लेकिन सबसे महत्वपूर्ण एक क्वेरी अनुकूलन है। यदि वे ऐसा नहीं करते, तो आप उनका उपयोग नहीं करते। यह जल्दी से जानकारी प्राप्त करने के बारे में है, यह तब करने में सक्षम है जब बहुत से समवर्ती उपयोगकर्ता हैं, और यह एक कठिन समस्या है। और जब आप वास्तव में देखते हैं, तो उन्हें परिपक्व डेटाबेस कहते हैं, यदि आपको पसंद है - लेकिन निश्चित रूप से ओरेकल, कुछ हद तक, Microsoft SQL सर्वर, निश्चित रूप से Teradata और DB2 - उन डेटाबेस के ऑप्टिमाइज़र मिल गए हैं, दशकों से हैं। इमारत। तुम्हें पता है, वे नहीं करते थे - किसी ने दो आदमी, वर्ष, परियोजना पर छह लोगों को नहीं बैठाया और सिर्फ एक साथ दस्तक दी। यह उस तरह काम नहीं करता है। अनुकूलन क्षमता धीरे-धीरे बढ़ी है, और इसमें बहुत अधिक वृद्धि हो रही है। वैसे भी, डेटाबेस के लिए पृष्ठभूमि के बारे में बात करते हैं। खैर, NoSQL डेटाबेस के बारे में अब बहुत कुछ कहा जा रहा है, और ग्राफ़ डेटाबेस के लिए बहुत उत्साह भी है। और Hadoop और उस तरह की चीजों पर SQL का उपयोग। लेकिन, इस मामले की सच्चाई यह है कि यदि आप अभी डेटाबेस चाहते हैं, यदि आप पूरी तरह कार्यात्मक चाहते हैं, तो ओएलटीपी और बड़े क्वेरी ट्रैफ़िक में सक्षम, यह एक रिलेशनल डेटाबेस है, या यह कुछ भी नहीं है।

रिलेशनल डेटाबेस के बीच, ओरेकल लोकप्रियता में प्रमुख है। Microsoft SQL सर्वर, मुझे लगता है, दूसरा है। वे दोनों ओएलटीपी और क्वेरी वर्कलोड के लिए उपयोग किए जाने में सक्षम हैं, लेकिन वास्तव में आप वास्तव में उन वर्कलोड को मिला नहीं सकते हैं। आपको OLTP वर्कलोड और क्वेरी वर्कलोड के लिए अलग-अलग घटनाओं की आवश्यकता है। SQL और ग्राफ के विकल्प हैं। ज्यादातर कंपनियां एक विशिष्ट डेटाबेस पर मानकीकरण करती हैं, यही कारण है कि - इसका मतलब है कि दशकों के बाद इसे अन्य सभी खिलाड़ियों के साथ लड़ने के बाद, ओरेकल सबसे प्रमुख बन गया। केवल इसलिए कि वे समाप्त हो गए कॉर्पोरेट लाइसेंस बेचने में सक्षम हैं, और इसलिए कंपनियां केवल असाधारण उत्पादों में वैकल्पिक उत्पादों का उपयोग करेंगी ओरेकल बस उन्हें नहीं करेगा। और डेटाबेस रणनीतिक हैं कि वे भी विकसित होते हैं। और आप जानते हैं कि मैंने इस प्रस्तुति के लिए थोड़ा शोध किया, और यह एक तरह का है - मैं थोड़ी देर में इसके पास आऊंगा, लेकिन यह एक तरह का दिलचस्प है कि वे कैसे विकसित होते हैं, इसे डीबीए की स्थिति से देखने के संदर्भ में। इसे मैं अदृश्य प्रवृत्ति कहता हूं। यह मूर का नियम है। यह लगभग इस तरह है: सबसे बड़ा डेटाबेस है, और नए डेटाबेस, एक पुराना डेटाबेस नहीं है जिसे निगलना बहुत अधिक डेटा मिला है। यह सामान्य रूप से एक डेटाबेस है जिसे एक नई समस्या पर लागू किया जा रहा है। और वे वास्तव में डेटा वॉल्यूम के संदर्भ में बढ़ते हैं। मोटे तौर पर मूर के घन में कानून। इसलिए मूर का नियम हर छह साल में दस गुना का कारक है। VLDB हर छह साल में एक हजार का एक कारक विकसित करते हैं। 1991, 1992 में, बड़े डेटाबेस को मेगाबाइट के संदर्भ में मापा जाता है। '97 और '98 में, गीगाबाइट। 2003, '4, टेराबाइट्स। 2009, '10, आपने पेटाबाइट डेटाबेस देखना शुरू किया। मुझे लगता है कि अभी संभवतया एक या दो एक्साबाइट डेटाबेस थे, लेकिन मैंने जो सबसे बड़ा सुना है वह समय पर 200 पेटाबाइट्स है, और आप जानते हैं, एक पेटाबाइट डेटाबेस को डेटा नहीं मिल रहा है। लेकिन, यह सबसे अधिक स्पष्ट रूप से नई बड़ी वेब 2.0 कंपनियां होंगी, संभवतः, आपने उस दिशा में फेसबुक का नेतृत्व किया है।

लेकिन वैसे भी, यदि आप वास्तव में उस डेटाबेस को वॉल्यूम में वृद्धि के माध्यम से जाने की अपेक्षा करते हैं, तो यह बहुत कुछ पूछ रहा है। और उल्लेखनीय रूप से, निश्चित रूप से पेटाबाइट स्तर तक, वे काफी अच्छी तरह से किया है लगता है। मेरा मतलब है, मैं कुछ नया करने के बजाय पुराने उत्पादों के बारे में बात कर रहा हूं। वे असाधारण रूप से अच्छा कर चुके हैं। यदि हम डेटाबेस प्रदर्शन, बाधाओं को देखते हैं, तो यह मुझे उस समय तक वापस ले जाता है जब मैं वास्तव में उनकी देखभाल करता था, और उनके लिए चिंता करना पड़ता था। आप जानते हैं कि यह मूल रूप से हार्डवेयर का टूटना है। सीपीयू अड़चनें हैं, संभवतः, स्मृति अड़चनें हैं, संभवतः, डिस्क अड़चनें हैं, संभवतः। यह वह नेटवर्क हो सकता है जो आपको दुःख पहुंचाता है, और आप लॉकिंग के साथ समस्याएँ भी प्राप्त कर सकते हैं, जो आप कर रहे हैं, उसके आधार पर, लेकिन आम तौर पर ऐसा इसलिए होता है क्योंकि प्रोग्राम को यह नहीं पता होता है कि लॉक किसे कहते हैं। इसलिए, यदि आप किसी डेटाबेस को ट्यून करने जा रहे हैं, तो आप वास्तव में इसे ट्यून करने की कोशिश कर रहे हैं ताकि यह इन पांच संभावित अड़चनों के बीच नाच सके और साथ ही यह कर सके। और यह कोई आसान बात नहीं है, क्योंकि किसी भी सर्वर पर आप जितनी मेमोरी को कॉन्फ़िगर कर सकते हैं, वह नाटकीय रूप से बढ़ जाती है। तब सीपीयू मल्टीकोर, डिस्क बन गए हैं, अच्छी तरह से अब हम कर सकते हैं, मुझे लगता है, कमोडिटी सर्वर पर भी, मुझे लगता है कि आप सैकड़ों और सैकड़ों टेराबाइट्स, क्वार्टर ऑफ पेटाबाइट, हो सकता है, एक कमोडिटी सर्वर पर भी कर सकते हैं। तो, इन सभी चीजों के साथ, आप के साथ खेल सकते हैं, बेशक नेटवर्क अलग गति से जा सकते हैं, लेकिन ज्यादातर जब आप डेटाबेस के साथ काम कर रहे होते हैं, तो आप वास्तव में सर्वर के बीच फाइबर केबल रखना चाहते हैं और उस पर कुछ नहीं चल रहा है, विशेष रूप से उस तरफ।

डेटाबेस प्रदर्शन कारक। मेरा मतलब है, मैं बाहर जा रहा हूं कि यह सब क्या होने वाला है, क्योंकि मुझे पता है कि डीज़ इसके बारे में बात करने जा रहा है, लेकिन खराब डेटाबेस डिजाइन का मतलब खराब प्रदर्शन करने वाला डेटाबेस है। खराब प्रोग्रामिंग डिज़ाइन का अर्थ संभवतः एक डेटाबेस पर बहुत बेवकूफ एसक्यूएल फेंकना हो सकता है, जो बस एक भयानक बहुत लंबा समय लेगा। कंसीलर और वर्कलोड मिक्सिंग, बहुत अधिक कंजम्प्रेस के कारण अड़चन की समस्या होगी। वर्कलोड मिश्रण, जब आपको बहुत छोटे, छोटे, तेज प्रश्नों के साथ बड़े प्रश्न मिले हैं, जो समस्याओं का कारण बनता है। लोड संतुलन समस्या है। अधिकांश डेटाबेस इसका ध्यान रखते हैं, लेकिन अगर आपको एक परिष्कृत उत्पाद नहीं मिला है, तो आप जानते हैं, बस कुछ सर्वरों को जोड़ना, अगर आप वास्तव में एक क्लस्टर के आकार को बढ़ाना चाहते हैं, तो आप यह सब नहीं करते हैं। इष्टतम प्रदर्शन प्राप्त करने से पहले आपको वास्तव में लोड को संतुलित करना होगा। आपको क्षमता नियोजन करने की आवश्यकता है। पूर्ण रूप से। विशेष रूप से अब इन दिनों में जब डेटा वॉल्यूम डेटाबेस की तुलना में अधिक नाटकीय रूप से बढ़ जाता है। और पूरे डेटा लेयर के मुद्दे हैं कि आप डेटा को कैसे निगले, आप डेटा को कैसे स्थानांतरित करते हैं। किसी डेटाबेस का समय पर डेटा न मिलना, बाद में एक प्रदर्शन का मुद्दा हो सकता है क्योंकि हम विंडोज़ में काम करने वाले डेटाबेस से चौबीस, सात से तीन सौ और पचहत्तर के ऑपरेशन से गए हैं और ऐसी कोई विंडो नहीं है जहाँ आप धीमा कर सकें नीचे डेटाबेस या यह संभावना नहीं है कि आजकल होगा।

ओरेकल डीबीए समस्या। यह वही है जिसके बारे में मैं सोच रहा था। मैं ओरेकल 7 के साथ ओरेकल के डीबीए में रहा हूं, और मुझे याद है कि कैसे ट्यून करना है। और अगर आप वास्तव में अब ओरेकल को देखते हैं, तो यह तरीका है, यह रास्ता है, जिस तरह से अधिक क्षमता है। यह बिटमैप इंडेक्सिंग और चीजों की तरह है, लेकिन मैंने वास्तव में देखने और देखने के लिए समय लिया है कि वास्तव में कितने ट्यूनिंग पैरामीटर वास्तव में एक Oracle डेटाबेस में हैं। और तीन सौ से अधिक ट्यूनिंग पैरामीटर हैं और आगे एक सौ छिपे हुए पैरामीटर हैं, जिनके बारे में विशेषज्ञ डीबीए को पता हो सकता है, लेकिन सामान्य ओरेकल डीबीए के बारे में नहीं जानते हैं। और इसका मतलब है कि इस तरह के डेटाबेस को ट्यूनिंग करना एक कठिन बात है। यह बिल्कुल साधारण बात नहीं है। आपको इसके लिए एक महसूस होना चाहिए, आप इसे लंबे समय से, लंबे समय से कर रहे हैं, और आपको पता है कि वास्तव में आपको क्या समस्या है जिसे आप हल कर रहे हैं, क्योंकि ट्यूनिंग शुरू होती है प्रदर्शन खराब हो जाता है, लेकिन यह सब कुछ प्रदर्शन नहीं हो सकता है। यह विशिष्ट प्रश्नों का प्रदर्शन हो सकता है, और आप इसे निश्चित डेटा और मेमोरी को पिन करके ठीक करने में सक्षम हो सकते हैं, या आपको इसे अनुक्रमित करके ठीक करने की आवश्यकता हो सकती है, या आपको अलग तरीके से विभाजन शुरू करने की आवश्यकता हो सकती है। बहुत सी चीजें हैं जो आप कर सकते हैं, बिंदु है। इसलिए, परिणामस्वरूप, वे इसे अपने सिर में नहीं करने जा रहे हैं - डीबीए को उपकरण की आवश्यकता होती है। मुझे अब डीज़ पर जाना चाहिए जो आपको अनुक्रमण के बारे में बताने जा रहा है, मुझे लगता है।

एरिक कवनघ: ठीक है डीज़, इसे हटा दो।

Dez Blanchfield: धन्यवाद, रॉबिन, और मुझे कवर पेज बहुत पसंद है। मुझे लगता है कि आपने मेरे लिए गंटलेट को नीचे फेंक दिया है ताकि वह दूर से भी रोमांचक चीज़ के करीब आ सके। लेकिन मैंने अपनी छोटी आकाशगंगा की एक छवि का उपयोग किया है, जो कि डेटाबेस प्रशासकों के लिए आज की चुनौती के रूप में मेरा दृष्टिकोण बदल गया है, क्योंकि यह मानसिक छवि है जिसे मैं एक वातावरण में ले जाने के लिए तैयार हूं और अब मैं नहीं हूं उस स्तर पर डेटाबेस या डिज़ाइनिंग डेटाबेस की दुनिया में अब और नहीं। लेकिन, खुद की तरह, रॉबिन और मेरे पास डेटाबेस या डेवलपर या अंततः वास्तुकार के रूप में या तो डेटाबेस की दुनिया में शामिल होने के कई साल हैं, और फिर एहसास हुआ कि मैं एक क्रस्ट कमाने के लिए बेहतर काम कर सकता हूं। लेकिन ऐसा लगता है कि आप डेटा की इस आकाशगंगा को घूर रहे हैं, और आज भी, जब हम जाते हैं, जैसा कि आप बताते हैं, हम मेगाबाइट से पेटाबाइट्स और बहुत कम समय में एक्सो-स्केल पर चले गए हैं, चीजों की भव्य योजना में। लेकिन मेरे दिमाग में जो वाक्यांश है, वह यह है कि डेटाबेस इंडेक्स अब एक काली कला है और वे वास्तव में उस सामान की तरह नहीं हैं, जो मात्र नश्वर लोगों को उद्यम-श्रेणी के व्यावसायिक अनुप्रयोगों और आपको तैयार करने के प्रकार के लिए उपयोग में लेना चाहिए। बस बात कर रहे थे। लेकिन, मैं इतिहास के उस प्रकार के त्वरित रंडन से गुज़रना चाहता था जो मैंने डेटाबेस की दुनिया के साथ किया है और इस संदर्भ में लाना चाहता हूँ कि हम कहाँ तक निष्कर्ष निकालने जा रहे हैं, और फिर अपने दोस्तों के साथ आज कुछ सामग्री के माध्यम से चलेंगे। IDERA, क्योंकि मुझे लगता है कि डेटाबेस प्रदर्शन ट्यूनिंग कैसे प्राप्त करें और उनमें से एक चीज पर टिन फेंक रहा है, इसके बारे में बहुत अलग सोच है। बहुत सी दुकानों के लिए जो मुझे आती हैं, वे हमेशा डेटाबेस लेयर और विशेष रूप से इंडेक्स लेयर पर प्रदर्शन ट्यूनिंग करने के मुद्दे पर नहीं पहुंचते हैं, जब तक कि वे सोचने के कठिन मार्ग से नहीं मिल जाते हैं जब तक वे उस पर एक ट्यूनर फेंक सकते हैं। ।

बहुत सारे लोग मेरे दिमाग में बस इसके लिए एक बड़ा लोहा लेते हैं, और मुझे यहां द फ्लैश की एक तस्वीर मिली है क्योंकि अगर आपने कभी कोई पुरानी फिल्में देखी हैं या निश्चित रूप से द फ्लैश के साथ नवीनतम टीवी शो, जैसे कि पुराने चरित्र को फ्लैश गॉर्डन, और अब जब उसे "द फ्लैश" कहा जाता है, तो वह बहुत तेजी से और बहुत ही तेजी से अपनी ऊर्जा बाहर चलाता है। और ऐसा तब होता है जब आप डेटाबेस प्रदर्शन में बड़ा लोहा फेंकते हैं। वास्तव में, मेरे अनुभव में, आप खेल में उच्च प्रदर्शन, कड़ी मेहनत कर सकते हैं, आप अपने ऑपरेटिंग सिस्टम को अनुकूलित कर सकते हैं और उन्हें एक निश्चित बिंदु पर ट्यून कर सकते हैं। आप यह सुनिश्चित कर सकते हैं कि आपने एप्लिकेशन को तेज चलाने के लिए फास्ट मल्टीकोर, मल्टीथ्रेडिंग सीपीयू दिया है, आप इस पर बहुत सारी रैम फेंक सकते हैं, आपके पास उच्च-थ्रूपुट बैकप्लेन हो सकते हैं, हार्ड ड्राइव से कैशिंग तक ठोस अवस्था में जा सकते हैं, और उच्च प्रदर्शन भंडारण सरणी। और अब भी, लोग अपने डेटाबेस इंजन में फ्लैश और एनवीएमई जैसी चीजों को फेंक देते हैं, यह सोचकर कि वे इस लॉगिन समय को दो प्रदर्शन लाभ प्राप्त करने जा रहे हैं। और हमेशा के लिए वे कुछ लाभ प्राप्त करते हैं। लेकिन, यह सब एक ही मूल प्रदर्शन ट्यूनिंग समस्याओं पर वापस आता है। कम-विलंबता नेटवर्किंग कनेक्शन के बहुत सारे, ताकि क्लस्टर तेजी से काम करें। और डेटाबेस इन्फ्रास्ट्रक्चर को क्लस्ट करने के लिए, इसलिए आपको सभी काम करने वाली एक से अधिक मशीन मिल गई हैं। लेकिन आप एक ही मूल प्रदर्शन समस्या पर वापस आते हैं, और वह है डेटा पढ़ना। डेटा लिखना, अधिकांश भाग के लिए है, एक काफी रैखिक चुनौती है और जब तक यह ठीक से नहीं किया जाता है।

और फिर हमारे पास आज की दुनिया में चुनौती है: सभी डेटाबेस समान नहीं बनाए गए हैं। डेटाबेस और बोली-पर-उद्धरण "डेटाबेस" है और जब हम डेटाबेस इंजन के बारे में सोचते हैं, तो लोग अक्सर पारंपरिक, सामान्य संदिग्धों के बारे में सोचते हैं जैसे वे SQL दुनिया में थे। आप जानते हैं, हमें Oracle, और Microsoft SQL Server मिला है, और MySQL के साथ खुले स्रोत की दुनिया में इसके आसपास एक युगल है, जो अब Oracle के स्वामित्व में है, लेकिन यह अभी भी खुला स्रोत है। और फिर हमें नो-एसक्यूएल संदिग्धों, नो एसक्यूएल इंजन, जो अभी भी अनुक्रमण और प्रदर्शन प्रबंधन के आसपास एक मुद्दा है, और मुझे बहुत विस्तार से नहीं जाना है, लेकिन इनकी बढ़ती संख्या है हर दिन पॉपिंग करने वाली चीजें और वे डेवलपर्स इंजन के दृष्टिकोण से और प्रदर्शन के दृष्टिकोण से डेटाबेस इंजन की तरह दिखते हैं और महसूस करते हैं, लेकिन वे बहुत, बहुत अलग जानवर हैं और उनके पास दुनिया में अपना छोटा सा आला है या तो बाहर निकलने के लिए इन-मेमोरी प्रदर्शन या डिस्क पर रैखिक पैमाने। लेकिन यह वही है जो दुनिया डेटाबेस दुनिया में दिखता है। यह २०१६ है, यह मानचित्र के संस्करण तीन है, जो लोग इस डेटाबेस के चल रहे परिदृश्य मानचित्र का निर्माण करते हैं, जो दिखता है, और यह वह जगह है - जहां एक अतिमानवीय डेटाबेस वास्तुकार या डेटाबेस व्यवस्थापक भी समझ में नहीं आता है। इसका। वस्तुतः सैकड़ों, और सैकड़ों, और सैकड़ों विभिन्न बनाता है, मॉडल, डेटाबेस के निर्माताओं, हमेशा SQL आज्ञाकारी। और दिलचस्प बात यह है कि, वे सभी एक ही चुनौती पर वापस आते हैं। डेटाबेस इंजन के आसपास प्रदर्शन और प्रदर्शन ट्यूनिंग, और विशेष रूप से कैसे डेटा अनुक्रमित होता है।

तो चलो बस जल्दी से डेटाबेस इंडेक्सिंग को कवर करें, क्योंकि यह एक दिलचस्प विषय है, और आपको इसे डेमो के साथ अधिक विस्तार से प्राप्त करना होगा, मुझे विश्वास है। लेकिन, मुझे लगता है कि यह काफी अच्छी तरह से स्वीकार किया गया है और मानक उद्योग अभ्यास है कि डेटाबेस इंडेक्स प्रदर्शन ट्यूनिंग है, जहां दुनिया शुरू होती है और समाप्त होती है जहां तक ​​यह सुनिश्चित करता है कि आपका डेटा तेज और त्वरित प्रारूप पर उपलब्ध है। लेकिन डेटाबेस इंडेक्सिंग क्या है? यदि हम उस रूप में अनुक्रमण के बारे में सोचते हैं जो हम रोज़मर्रा के मनुष्य के रूप में करते हैं, तो एक पुस्तक में एक अनुक्रमणिका पृष्ठ के बारे में सोचें। यदि आप किसी पुस्तक में कुछ ढूंढना चाहते हैं - विशेष रूप से एक विश्वकोश की पसंद, या कुछ रूप की संदर्भ सामग्री जैसी - यदि आप इस पृष्ठ की तरह कुछ खोज रहे हैं, जहां मैं बांधों के विषय जैसी चीजों की तलाश कर रहा हूं एक विश्वकोश में। मैं बांधों, पानी की पकड़ और बड़े बिल्डअप क्षेत्र, मानव निर्मित आम तौर पर हर संदर्भ को खोजना चाहता हूं। मैं पीछे जाऊँगा, मैं इसे वर्णानुक्रम में, सॉर्ट की गई सूची, A से Z, बाएँ से दाएँ, और मैं पा लूंगा। मुझे “dams” शब्द मिलेगा और मैं इसे देख सकता हूँ पृष्ठ 16, 38, 41 उनके लिए एक संदर्भ है, और फिर मैं उन पृष्ठों पर जा सकता हूं, मैं अपनी आंखों को स्कैन कर सकता हूं और मुझे "बांध" शब्द का संदर्भ मिलेगा। यह अनिवार्य रूप से एक डेटाबेस में एक ही अवधारणा है। लेकिन यह अब कई मायनों में एक रॉकेट साइंस है। इतना अधिक, कि प्रभावी रूप से हर डेटाबेस प्रशासक जो मुझे कभी भी अच्छी तरह से पता चला है, किसी भी डेटाबेस दुनिया में प्रदर्शन ट्यूनिंग के लिए इंडेक्स को सबसे महत्वपूर्ण उपकरण मानता है, चाहे उनका अनुभव उस पर टिन फेंकने के रूप में क्या हो सकता है, या जो भी मामला हो।

आम तौर पर जब हम डेटाबेस इंडेक्सिंग के बारे में बात करते हैं, तो कई सामान्य दृष्टिकोण होते हैं। और जितने अधिक जटिल डेटाबेस इंडेक्स बनते हैं, उतना ही जटिल डेटा को इंडेक्स करने का तरीका। लेकिन अनिवार्य रूप से जब आप डेटा को अनुक्रमित करने के बारे में सोचते हैं - कल्पना करें कि हमारे पास एक फ़ाइल है जिसे नामों की सूची मिली है; वे वर्णानुक्रम में क्रमबद्ध नहीं हो सकते। चलो कल्पना करते हैं कि उनमें से बीस हैं। यदि हम सॉर्ट करने जा रहे हैं - यदि हम उस सूची में डेटा की खोज करने जा रहे हैं, ऊपर से नीचे तक, और मान लें कि यह नामों की एक सूची है। यदि मैं एक यादृच्छिक नाम चुनता हूं और मैं उस सूची को नीचे से ऊपर, नीचे से एक रेखीय प्रारूप में स्क्रॉल करना शुरू करता हूं और यह एक अनियंत्रित सूची है, तो दो मानदंड हैं जो मैं अपने औसत खोज समय और मेरे अधिकतम खोज समय के बारे में सोचता हूं - और मुझे दूसरी पंक्ति में एक टाइपो मिला है, "अधिकतम खोज समय" होना चाहिए, क्षमा करें - लेकिन मेरा औसत खोज समय अनिवार्य रूप से एन प्लस एक है, दो से विभाजित है, और यह औसत पर है, यह मुझे पचास प्रतिशत समय लगता है सूची के शीर्ष से स्कैन करने के लिए, उस सूची में किसी भी यादृच्छिक चीज़ को खोजने के लिए सूची के नीचे तक। और रैखिक के तहत वहां दूसरी पंक्ति, "अधिकतम खोज समय" होनी चाहिए। लेकिन अधिकतम खोज समय अनिवार्य रूप से वस्तुओं की संख्या है, और यह है कि अगर मेरे पास बीस चीजों की सूची है, तो यह है कि सबसे अधिक समय मुझे लग सकता है उस डेटाबेस में कुछ खोजने के लिए ऊपर से नीचे तक जाना है, जो कि इस सरल उदाहरण में 20 आइटम कहते हैं। और यह बहुत धीमी प्रक्रिया है और प्रदर्शन ट्यून के लिए वास्तव में कोई रास्ता नहीं है। और फिर, उस डेटा को लेने और एक इंडेक्स बनाने के अन्य प्रकार हैं, जो प्रभावी रूप से उन बिंदुओं की एक छोटी सूची है जहां वास्तविक डेटा है, जैसे कि बाइनरी, बी-ट्री, बिटमैप, हैशिंग, क्लस्टर और गैर-क्लस्टर, और फिर विभिन्न प्रकार के डेटा होते हैं जैसे स्थानिक, फ़िल्टर्ड, एक्सएमएल और पूर्ण पाठ।

बाइनरी उन चीजों के लिए एक बहुत ही आम-इस्तेमाल की जाने वाली चीज़ है जहाँ डेटा खुद को उधार देता है। B- ट्री संभवतः एक सामान्य अर्थ में सबसे आम है, ऐतिहासिक रूप से, इसमें डेटा के किसी भी रूप में एक इंडेक्स की संरचना करना एक सामान्य तरीका है और आप लॉगर, चयन और सम्मिलन और विलोपन अपेक्षाकृत आसान कर सकते हैं क्योंकि आप पॉइंटर्स को चारों ओर ले जाते हैं बिंदुओं, बिंदुओं का संदर्भ। बिटमैप की तरह अन्य प्रकार भी हैं, जहां डेटा प्रकार चिंता का विषय है जैसे कि हमें किसी प्रकार की संबद्ध श्रेणी मिली है। बड़ी वस्तुओं, विशेष रूप से ब्लॉग और छवियों के लिए हैशिंग बहुत अच्छी तरह से काम करता है। और आप देख सकते हैं कि डेटा को अनुक्रमित करने के लिए विभिन्न प्रकार के वैज्ञानिक दृष्टिकोण, गणितीय दृष्टिकोण हैं। मात्र नश्वर के लिए, वे इस स्तर पर बात करने के लिए एक दिलचस्प चुनौती हैं। जब आप डेटाबेस व्यवस्थापक के लिए प्रदर्शन के स्तर पर इसके बारे में बात करते हैं, तो वे वास्तव में एक रॉकेट वैज्ञानिक बन जाते हैं और लोग उनमें डिग्री करते हैं, और मुझे पता है कि डॉक्टर रॉबिन ब्लोर ने निश्चित रूप से ऐसा किया है, और आईबीएम की पसंद के लिए इस पर किताबें लिखी हैं और पिछले कुछ दशकों में अन्य बड़े ब्रांड। और इसलिए, - मेरा विचार यह है कि हमने वास्तव में एक समय पारित कर दिया है, जहां आप एक बार जानते हैं कि मैं व्यक्तिगत रूप से एक प्रणाली के सामने बैठ सकता हूं और मैं इसे अलग कर पाऊंगा, और आपको दिखाऊंगा वास्तव में जहाँ प्रदर्शन समस्याएँ कमांड लाइन पर थीं या ग्राफ़िक उपयोगकर्ता इंटरफ़ेस उपकरण शुरू करते हैं, और डेटा में तल्लीन करना शुरू करते हैं और आपको बताते हैं कि समस्याएँ कहाँ थीं, और अनुक्रमणिका, या उप-अनुक्रमणिका, या प्राथमिक और द्वितीयक अनुक्रमणिकाएँ उसमें बनाएँ डेटा और चीजों को खोजने के लिए इसका इस्तेमाल करना शुरू करें। लेकिन जब आप उस परिदृश्य के बारे में सोचते हैं, जो मैंने आपको दिखाया था, जहां हमने सैकड़ों और सैकड़ों ब्रांड, मेक और मॉडल, और निर्माता और डेटाबेस के प्रकार प्राप्त किए हैं, तो हम उस समय अच्छी तरह से और वास्तव में अतीत हैं, जहां एक इंसान बना सकता है डेटाबेस इंजन के प्रकारों की समझ हमें मिली है। विशेष रूप से, भले ही हम सिर्फ ओरेकल की पसंद पर वापस आते हैं, इन दिनों रिलेशनल डेटाबेस प्लेटफार्मों में प्रमुख ब्रांड।

डेटाबेस की संख्या उन्हें या तो ईआरपी या एचआर या वित्त प्रणाली की तरह एक मालिकाना मंच से निपटना है, या वे विभिन्न कारणों से घर-बेक्ड प्लेटफॉर्म हैं, डेटाबेस और डेटाबेस तालिकाओं और रिकॉर्ड की संख्या जो हम समाप्त करते हैं इससे निपटना सिर्फ खगोलीय है और आप शारीरिक रूप से इसे हाथ से नहीं कर सकते। और हमारे पास अब एक अतिरिक्त जटिलता है, जहां एक बार एक डेटाबेस सर्वर सिर्फ आपके डेस्क के नीचे बैठ सकता है। आप जानते हैं, स्कूल के बाद एक युवा बच्चे के रूप में, मैं डेटाबेस सॉफ्टवेयर पर काम करने के लिए जाता था, मूल रूप से, Apple IIes और फिर DOS PC- आधारित सिस्टम, जैसे dBase II, dBase III, मेनफ्रेम और मिड- के साथ एक युग से गुजरे। रेंज और यहां तक ​​कि वैक्स और पीडीपी और उस पर लॉग फ़ाइल। और कृपाण की तरह, और फिर अंततः जब SQL डेटाबेस में से कुछ साथ आए। लेकिन इन दिनों जब हम डेटाबेस इंजन के बारे में सोच रहे होते हैं, तो वे निचले बाएँ कोने की तरह दिखते हैं। एक डेटाबेस सर्वर अब डेस्क के नीचे फर्श पर बैठी सिर्फ एक मशीन नहीं है; यह डेटाबेस इंजन, और क्लस्टर की प्रतियां चलाने वाली सैकड़ों मशीनें हैं, और वे सैकड़ों और सैकड़ों टेराबाइट डेटा तक पैमाने पर करते हैं, यदि डेटा की पेटाबाइट नहीं है, जो हजारों टेराबाइट्स है। और यहां तक ​​कि चरम तक, जैसा कि डॉक्टर रॉबिन ब्लोर ने उल्लेख किया है, कि कुछ विशिष्ट उपयोग के मामले - एयरलाइंस, सरकारी एजेंसियां ​​विशेष रूप से - एक्सबाइट को मिल सकती हैं। वे अभी भी काफी आला-वाई हैं, लेकिन सैकड़ों टेराबाइट और यहां तक ​​कि दर्जनों पेटाबाइट्स भी असामान्य नहीं हैं, खासकर डॉटकॉम बूम से लेकर अब तक, जिस तरह से हम वेब 2.0 कंपनियों को बुला रहे हैं, फेसबुक, Google, याहू की पसंद इत्यादि।

हमें अब यह भी उलझन है कि चीजें बाहरी सेवा में जा रही हैं। हमें इंफ्रास्ट्रक्चर प्लेटफॉर्म और सॉफ्टवेयर मिला है, जो इंफ्रास्ट्रक्चर प्रदान करने वाला सर्विस अप्रोच है। और विशेष रूप से प्लेटफ़ॉर्म सेवा जहां हम सिर्फ Oracle और उनके क्लाउड प्लेटफ़ॉर्म, डेटाबेस और सर्वर की पसंद के लिए नहीं खरीद सकते। और इसलिए यह हमें एप्लिकेशन के बहुत तेजी से विकास करने की अनुमति देता है और बस एक डेटाबेस को सर्वर में वापस प्लग करता है। हमें यह सोचने की ज़रूरत नहीं है कि हुड के नीचे क्या है। नकारात्मक पक्ष यह है कि हम अक्सर इस बारे में नहीं सोचते हैं कि हम डेटाबेस को कैसे डिज़ाइन और कार्यान्वित करते हैं जब तक कि यह दर्द नहीं होता है और प्रदर्शन एक मुद्दा बन जाता है और फिर हम अंत में यह पता लगाने के लिए सही उपकरण की तलाश करते हैं कि हमारा डेटाबेस क्यों दर्द कर रहा है और जहां प्रदर्शन के मुद्दे हैं। और हमेशा यह उस सामान्य समस्या को वापस लाता है कि हमने उस डेटा को कैसे अनुक्रमित किया है और उस डेटा के लिए हमने किस प्रकार के अनुक्रमित किए हैं और फिर हमें अतिमानवीय प्रदर्शन आवश्यकता पर वापस लाते हैं। और कोई व्यक्ति जिसके पास सही सिस्टम और सही उपकरण तक पहुँच हो, उन इंजनों को ट्यून करता है, और एक हॉट स्पॉट ढूंढना शुरू करता है और यह देखता है कि प्रश्न कहाँ हैं, जहाँ डेटा का चलना, प्रश्नों के प्रकार, प्रश्नों को संरचित कैसे किया जाता है, प्रश्न कौन कर रहा है, और क्या प्रश्नों को कतारबद्ध किया जा रहा है, और कैश किया जाना है। आप किस प्रतिकृति की तलाश करते हैं?

और इसलिए हम अच्छी तरह से और सही मायने में - मेरे विचार में - एक बिंदु पर जहां अब भी दुनिया का सबसे अच्छा डेटाबेस गुरु, अनिवार्य रूप से हमारे डेटाबेस आर्किटेक्ट और हमारे डेटाबेस व्यवस्थापक और प्रदर्शन के आधार, मेरे विचार में उन्हें सही उपकरण का लाभ उठाने की बहुत आवश्यकता है किसी भी डेटाबेस इंजन के लिए इष्टतम प्रदर्शन सूचकांक ट्यूनिंग देने के लिए। क्योंकि जिस पैमाने पर हम काम कर रहे हैं और जिस गति से चीजें आगे बढ़ रही हैं, हम बस इसे हाथ से नहीं कर सकते हैं, और ऐसा करने का प्रयास करते हुए हमेशा अन्य प्रदर्शन मुद्दों को पेश कर सकते हैं, क्योंकि हमारे पास उस स्थान का अनुभव नहीं हो सकता है हम एक समस्या को हल करने की कोशिश कर रहे हैं। और मेरा मानना ​​है कि यही वह जगह है जहाँ हम बर्ट को सौंपने वाले हैं, और हम इस बारे में बात करने वाले हैं कि कैसे उन्होंने इस विविध समस्या और चीजों के प्रकार को हल किया है जो उनका उपकरण कर सकता है। विशेष रूप से ओरेकल दुनिया के लिए करते हैं। और वहाँ के साथ, बर्ट, मैं तुम्हारे पास जा रहा हूँ।

बर्ट स्कल्जो: धन्यवाद। हर किसी का स्वागत है, मेरा नाम बर्ट स्कल्ज़ो है, मैं IDERA के लिए काम करता हूं। मैं हमारे कुछ डेटाबेस उत्पादों के लिए वरिष्ठ उत्पाद प्रबंधक हूं। मैं आज उनमें से कुछ का प्रदर्शन करूंगा। लेकिन मैं इंडेक्स के बारे में बात करना चाहता हूं, क्योंकि मैं हर उस चीज से सहमत हूं जो सभी ने यहां कही है, खासकर आखिरी स्लाइड, कि इंडेक्स अब इतने जटिल हैं कि आपको एक उपकरण की आवश्यकता है, और मुझे आपको समझाने की उम्मीद है। तो ओरेकल इंडेक्स डिज़ाइन, यह उतना आसान नहीं है जितना पुराने दिनों में हुआ करता था। विकल्पों को देखने पर बहुत से लोग खुद को अनिश्चित हो जाएंगे, और मुझे यह कहना पसंद है कि मैंने इतिहास से बाहर निकाला, "इन मामलों में, एकमात्र निश्चितता यह है कि कुछ भी निश्चित नहीं है।" इन दिनों इंडेक्स के बारे में महसूस करें, क्योंकि अगर आपको लगता है कि आपको पता है कि आपको एक्स, वाई या जेड का जवाब देना चाहिए, तो आप वास्तव में निश्चित नहीं हो सकते जब तक कि आप इसे आज़माएं, क्योंकि वे ऑप्टिमाइज़र कभी-कभी आपकी अपेक्षा के अनुरूप अलग व्यवहार करते हैं। और इसलिए इंडेक्स डिज़ाइन के साथ बहुत परीक्षण और त्रुटि है। अब, अच्छे पुराने दिनों में, यदि आपको एक सूचकांक की आवश्यकता होती है, तो आम तौर पर सिर्फ दो प्रश्न होते हैं, या एक प्रश्न। क्या यह अद्वितीय था या यह अद्वितीय नहीं था? और आपने अन्य चीजों के बारे में सोचा होगा, जैसे "एक टेबल पर अधिकतम कितने इंडेक्स हो सकते हैं?" क्योंकि बहुत सारे इंडेक्स आपके आवेषण, अपडेट और डिलीट को धीमा कर देते हैं। आप अपने डेटाबेस सिस्टम में भी हो सकते हैं, मल्टी-कॉलम इंडेक्स में कितने कॉलम हो सकते हैं, इस पर प्रतिबंध था, क्योंकि कभी-कभी आपके डेटाबेस इंजन के पृष्ठ या ब्लॉक आकार के आधार पर सीमाएं होती थीं, लेकिन वास्तव में यह बहुत सरल था अच्छे पुराने दिनों में। आपने इसे अनुक्रमित किया या आपने नहीं किया। और सचमुच, सब कुछ बी-ट्री में था। हम डुप्लिकेट को अनुमति दे सकते हैं या नहीं, और यह इसके बारे में था। जीवन अच्छा था, जीवन सरल था।

खैर आज, जीवन इतना अच्छा या इतना सरल नहीं है। जिस तरह से हम इसे करते थे, उसके माध्यम से मैंने रेड घोस्टबस्टर साइन लगाया है, क्योंकि अब हमारे पास बी-ट्री बनाम बिटमैप है, बनाम बिटमैप में शामिल होते हैं। और मैं समझाने जा रहा हूं कि इनमें से कुछ एक पल में क्या हैं। क्लस्टर किए गए और गैर-क्लस्टर किए गए, अद्वितीय या डुप्लिकेट, आगे या रिवर्स ऑर्डर, फ़ंक्शन-आधारित, विभाजन या विभाजन नहीं। यदि इसमें विभाजन शामिल है, तो क्या यह वैश्विक या स्थानीय विभाजन है? मैं उसे भी समझाता हूँ। और फिर वहाँ भी कुछ एक अनुक्रमित संगठित तालिका कहा जाता है। और वास्तव में आधा दर्जन अन्य हैं जिन्हें मैंने यहां छोड़ दिया है, क्योंकि मुझे लगता है कि मैं अब यहां पर्याप्त हो गया हूं, जिससे आपको यह समझाना चाहिए कि सूचकांक बहुत कठिन हैं जितना आपने सोचा होगा। इस विशेष स्लाइड में, मैं आरेख के शीर्ष-बाएं भाग में शुरू करने जा रहा हूं और मुझे एक तालिका मिली है। और पहली बात मुझे यह तय करना है कि आपके डेटाबेस संस्करण और आपके डेटाबेस विक्रेता के आधार पर, क्या वे ऑब्जेक्ट टेबल की अनुमति देते हैं या क्या वे केवल रिलेशनल हैं? मैं दाईं ओर नीचे जा रहा हूं और कहता हूं कि हम एक संबंधपरक तालिका बना रहे हैं। अब, अगला सवाल मुझे खुद से पूछना है, क्या यह एक क्लस्टर में है? और आप में से बहुत से लोग जिन्होंने कुछ समय के लिए ओरेकल किया है, उन्हें याद होगा कि ऑरेकल 6 दिनों के लिए वापस आ गए थे। वे शायद आज बहुत अधिक उपयोग नहीं किए जाते हैं, लेकिन मुझे पहले उस शाखा के नीचे जाने दें।

यदि मैं अपनी तालिका को किसी क्लस्टर में रखने जा रहा हूं, तो मुझे उस तालिका पर एक अनुक्रमणिका अनुक्रमित करना होगा। अब, ओरेकल में, जब आपने एक टेबल को क्लस्टर किया था, तो आप मूल रूप से पंक्तियों को संग्रहीत कर रहे थे या पंक्तियाँ एक दूसरे के करीब थीं जहां मान समान थे। और इसलिए, आपके पास एक क्लस्टर इंडेक्स होना चाहिए और उस क्लस्टर इंडेक्स को गैर-विभाजित किया जा सकता है। दूसरे शब्दों में, वास्तव में किसी भी विभाजन के तरीके नहीं थे कि आप एक संकुल तालिका कैसे करेंगे। यह गैर-विभाजित था। और क्योंकि यह गैर-विभाजन था, यह वैश्विक था। मैं समझाता हूं कि एक मिनट में वैश्विक क्या है। और यह हमेशा बी-ट्री था। दूसरे शब्दों में, जब मैं उस शाखा के नीचे गया, तो यह बहुत आसान था, मेरे पास कई विकल्प नहीं थे। अब, यदि मैंने एक अव्यवस्थित तालिका पर एक गैर-संकुल सूचकांक किया था, जिसे कुछ संस्करणों में अनुमति दी गई थी, फिर से यह गैर-विभाजन था; जब इसका विभाजन नहीं होता है, तब आपकी एकमात्र पसंद वैश्विक होती है। और इसलिए, आपके पास बी-ट्री या बिटमैप का विकल्प है। फिर से, यह आपके डेटाबेस के संस्करण पर निर्भर करता है। लेकिन अब, रिलेशनल टेबल पर वापस जाएं और दाहिने हाथ की ओर फिर से नीचे जाना शुरू करें और अब हम एक सादा, पुराना, नियमित, ढेर टेबल: रिलेशनल करने जा रहे हैं। यह एक टेबल स्पेस में होने जा रहा है। मैं यहाँ पहले दाहिने हाथ की ओर नीचे जा रहा हूँ। तो यह संगठन है, ढेर। अगला सवाल मुझे खुद से पूछना है, "क्या मैं इस तालिका को विभाजित करना चाहता हूं या नहीं?" अब, कभी-कभी आप विभाजन इसलिए करते होंगे क्योंकि आपने सोचा था, "अरे, आशावादी इस बारे में अधिक समझदार होगा कि यह कैसे प्रश्नों का अनुकूलन कर सकता है। “लेकिन बहुत सारे डीबीए आपको बताएंगे कि आप जो करते हैं वह प्रशासनिक उद्देश्यों के लिए है। यदि आपके पास सौ-बिलियन-पंक्ति तालिका है, यदि आप इसे विभाजन या बाल्टियों में तोड़ते हैं, जब आप अंतिम बाल्टी में डेटा जोड़ना चाहते हैं, तो आप ड्रॉप कर सकते हैं और केवल कुछ मिलियन पंक्तियों को अनुक्रमित कर सकते हैं। आप उस डेटा को सम्मिलित कर सकते हैं और फिर आप केवल उस बाल्टी पर उस सूचकांक का पुनर्निर्माण कर सकते हैं।

जबकि यह कुछ के लिए एक अच्छी तकनीक थी, विभाजन उन्मूलन जैसी अनुकूलन तकनीकें, इसका वास्तविक मूल्य छोटे टुकड़ों पर प्रशासनिक कार्यों को संचालित करने या करने में सक्षम था। जब मैं संगठनात्मक ढेर पर जाता हूं, तो पहला सवाल था, "क्या मैंने इसे विभाजित किया है या नहीं?" चलो बाईं ओर जाएं, मैं तालिका का विभाजन नहीं करने जा रहा हूं। अब, यह अजीब लग सकता है जब मैं आपको यह बताता हूं, लेकिन आपके पास एक गैर-विभाजन तालिका हो सकती है और फिर आप सूचकांक को विभाजित नहीं कर सकते हैं जैसे आप आदी हैं, या आप सूचकांक को विभाजित कर सकते हैं। रुको और सोचो। आपकी तालिका में मूल रूप से एक बाल्टी है, जैसे आपने हमेशा सोचा है, और फिर भी आपके सूचकांक में कई बाल्टी होने वाली हैं। जब ऐसा होता है, जहां बाल्टियों की संख्या और तालिका के बीच एक बेमेल है, और सूचकांक में बाल्टियों की संख्या है, तो यह वही है जो वैश्विक है। और इसलिए, यदि तालिका का विभाजन नहीं हुआ है, और यदि सूचकांक का विभाजन हुआ है, तो इसे वैश्विक माना जाता है, क्योंकि एक बेमेल है। अब, मैं अपने संगठन हीप पर वापस जाऊंगा, और विभाजन पक्ष के बजाय नीचे आऊंगा। अब, यदि मेरे पास एक विभाजन तालिका है, और मान लें कि तालिका में चार बाल्टियाँ, चार विभाजन हैं, तो मेरी अनुक्रमणिका में चार बाल्टियाँ हो सकती हैं, ताकि मेरी अनुक्रमणिका मेरी तालिका डिज़ाइन से मेल खाए। और इसलिए यह दाहिने हाथ की तरफ है। वह स्थानीय माना जाएगा। एक स्थानीय सूचकांक का मूल रूप से मतलब है कि तालिका और सूचकांक का विभाजन उसी तरह किया जाता है और इसमें समान संख्या में बाल्टी होती है। और फिर एक बार मेरे पास स्थानीय सूचकांक होने के बाद, यह एक बी-ट्री या बिटमैप हो सकता है, और उस तरह का हरा तीर ऊपर जाता है, आपको दिखाता है कि भले ही यह बी-ट्री है, फिर भी विकल्प हैं जो बनाए जा सकते हैं। यह फ़ंक्शन-आधारित हो सकता है। और यह भी, अगर यह एक बिटमैप है, तो विभिन्न प्रकार के बिटमैप हैं। बिटमैप को इंडेक्स जॉइन करने वाली चीज़ कहते हैं। यदि आप डेटा वेयरहाउसिंग कर रहे हैं, तो यह स्टार स्कीमा या डिज़ाइन के लिए एक बहुत लोकप्रिय प्रकार का सूचकांक है। क्या होता है कि इंडेक्स में टेबल के लिए पंक्ति आईडी होती है, लेकिन यह पेरेंट टेबल के लिए पंक्ति आईडी भी होगी ताकि जब आप - आपको स्कीमा डिजाइन मिल जाए और आप देख रहे हों एक तथ्य तालिका में, तथ्य तालिका पर वह सूचकांक आपको उस डेटा की ओर इंगित करता है जिसे आप रुचि रखते हैं, और आपको अपने आयामों में प्रत्येक पंक्ति में इंगित करता है, ताकि आपके पास केवल एक सूचकांक हो।

और वास्तव में, यह लाल ईंट के कारण अस्तित्व में आया, जो कई साल पहले एक डेटाबेस था - बहुत सारे लोग इसे याद कर सकते हैं। और इसलिए, यदि आप इस तस्वीर को देखते हैं - और ध्यान रखें कि मैंने इस तस्वीर में सब कुछ नहीं डाला, क्योंकि तस्वीर बहुत बड़ी होगी - अभी भी अतिरिक्त मुद्दे हैं, जो कि मैं पाठ में शीर्ष-दाएं हिस्से में हूं । क्या यह रिवर्स-ऑर्डर इंडेक्स है? और आप कह सकते हैं, “मुझे रिवर्स-ऑर्डर इंडेक्स क्यों चाहिए? इसका कोई मतलब नहीं है। "ठीक है, अगर आप ओरेकल में एक संकुल वातावरण में हैं, अगर आप वास्तविक अनुप्रयोग क्लस्टर कर रहे हैं, यदि आप अपने अनुक्रमित क्रम में रखते हैं, तो गैर-उलट, यदि आपके पास बहुत सारी प्रसंस्करण है जो मार रहा है। समान मान या समान इंडेक्स मान, क्या होगा, आपके बी-ट्री के गर्म क्षेत्र होंगे। इसका मतलब है कि आपके पास विवाद होगा और संभवतः उस सामान को एक्सेस करने के लिए लॉक करना होगा, और आप नेटवर्क में नोड्स के पार कर रहे होंगे। ठीक है, अगर आप रिवर्स-ऑर्डर इंडेक्स में डालते हैं, तो अब आप इसे पूर्ववत कर सकते हैं। आप कह सकते हैं, "ठीक है, समान मूल्य पेड़ों के विभिन्न भागों में हैं, इसलिए मेरे पास पेड़ में गर्म क्षेत्रों के लिए प्रतिस्पर्धा करने वाले मेरे अलग नोड नहीं हैं।" और फिर यह भी ध्यान दें कि अद्वितीय कुछ विकल्पों के साथ काम नहीं करता है। । यदि आप देखते हैं, तो मैंने तीन, पाँच, आठ और ग्यारह नंबर दिए हैं, इसलिए कुछ मामले ऐसे हैं जहाँ मेरे पास एक अद्वितीय सूचकांक नहीं हो सकता है। इसी तरह, कुछ ऐसे मामले हैं जहां मैं रिवर्स इंडेक्स नहीं रख सकता, और फिर अतिरिक्त मुद्दे जैसे लॉगिंग या नो लॉगिंग, और समानांतर और गैर-समानांतर। मैं एक विशिष्ट क्षेत्र में चीजों को मेमोरी में असाइन कर सकता हूं।

और यह अभी भी ओरेकल में काफी सुविधाओं को छोड़ देता है। मैं कहूंगा कि जब आप ओरेकल 12 को देखते हैं, तो संभवतः एक और आधा दर्जन चीजों के बारे में फिर से मैं इस तस्वीर में जोड़ सकता हूं। अनुक्रमण वास्तव में जटिल है और मैं वास्तव में पूर्व स्पीकर से सहमत हूं, ताकि इस के माध्यम से नेविगेट करने और एक अच्छा विकल्प बनाने के लिए, आपको एक उपकरण की आवश्यकता हो। आप जरूरत है, हो सकता है, इस तरह की एक तस्वीर, और आप कैसे चीजों को ले जाएगा पर एक तरह की कार्यप्रणाली और उम्मीद है कि उपकरण आपको वहां पहुंचने में मदद करेगा। और फिर यह परीक्षण और त्रुटि होने जा रहा है। मैं हमेशा लोगों को अनुक्रमण के बारे में बताता हूं, "आप छलांग लगाने से पहले देखें।" और फिर आप यहां छोटे कुत्ते को देख सकते हैं, वह बिना देखे कूद रहा है, वह शार्क के साथ पानी में समाप्त होने जा रहा है, या आदमी पानी में कूदने के लिए तैयार हो रहा है, और वह खुद को थोपने जा रहा है। आपको अपने अनुक्रमण के बारे में सोचने के लिए मिला है, क्योंकि एक सूचकांक बनाने का मतलब यह नहीं है कि चीजें बेहतर हों। वास्तव में, एक इंडेक्स बनाने से चीजें धीमी हो सकती हैं। और क्वेरी का प्रदर्शन दूसरे पर एक विकल्प के साथ बेहतर परिमाण का क्रम हो सकता है। और मैं आपको एक अच्छा उदाहरण दूंगा। यदि आप डिजाइन का एक स्टार स्कीमा कर रहे हैं, और अपने आयाम तालिकाओं पर आप एक मामले में बिटमैप इंडेक्स का उपयोग करते हैं, और दूसरे मामले में आप कहते हैं, "मैं बी-ट्री इंडेक्स का उपयोग करूंगा, " आपको बिटमैप बनाम बी मिला है। पेड़। मैं आपको बता सकता हूं कि एक समाधान परिमाण का एक आदेश होगा या संभवतः दूसरे की तुलना में तेज परिमाण के कई आदेश होंगे। लेकिन ध्यान रखें कि डेटा वेयरहाउसिंग वातावरण की तरह, एक वातावरण में क्या काम करता है, शायद एक ओएलटीपी वातावरण में एक अच्छा विकल्प नहीं है।

उदाहरण के लिए, यदि आप एक लेन-देन तालिका लेने के लिए थे, और एक बिट टेबल पर बिटमैप इंडेक्स डालते हैं, तो बिटमैप्स की गणना, और इन लंबे तारों को रीसेट करना महंगा होता है, और इसलिए एक ओएलटीपी तालिका में, आप तालिका को बहुत जोर से मार सकते हैं कि बिटमैप सूचकांक भ्रष्ट हो सकता है और आपके सिस्टम को धीमा कर सकता है क्योंकि वे अपडेट के लिए नहीं हैं। वे तेज़ पहुँच के लिए महान हैं, लेकिन अपडेट के लिए अच्छे नहीं हैं। मुझे लगता है कि सूचकांक परीक्षण और त्रुटि लेता है। वास्तव में अब कोई सुनहरा नियम नहीं है - यह जानने के लिए इस समीकरण में कई अलग-अलग चर हैं - और आखिरकार आपको अपने डेटाबेस में योजनाओं को देखने या समझाने के लिए यह देखना होगा कि आप अच्छे चयन कर रहे हैं या नहीं। और कभी-कभी, योजना विश्लेषण लगभग खुद के लिए एक विज्ञान हो सकता है। मैं आज इसे कवर नहीं करने जा रहा हूं - यह एक और विषय है - लेकिन इंडेक्स डिज़ाइन को न लें। वैध कारण हैं कि क्यों ये सभी पागल सूचकांक प्रकार हैं जो मैंने आपको पहले चित्र में दिखाए थे, और यह कि पूर्व स्पीकर के बारे में बात की थी। ये सिर्फ इसलिए नहीं बनाए गए थे क्योंकि डेटाबेस विक्रेता के लिए कहीं चेकलिस्ट पर रखना एक साफ-सुथरी सुविधा थी; ऐसे मामलों या परिदृश्यों का उपयोग किया जाता है जहां ये सूचकांक महत्वपूर्ण हैं और एक महत्वपूर्ण अंतर बनाएंगे। अब इसके साथ, हम आपको हमारे एक टूल में विभिन्न प्रकार के अनुक्रमित के कुछ उदाहरण दिखाने जा रहे हैं। मुझे बस मेरी स्क्रीन उठानी चाहिए ताकि आप इसे देख सकें। ठीक है, इसलिए यहां मैं अंदर बैठा हूं - मुझे इस एप्लिकेशन को कम करने दें। मैं VMware के अंदर बैठा हूँ और मैं एक Windows Server 2012 VM चला रहा हूँ।

और आप देख सकते हैं, मुझे बस हर उपकरण के बारे में पता है जो आदमी को पता है। एक उत्पाद प्रबंधक के रूप में, मुझे अपनी प्रतिस्पर्धा से अवगत रहना है, इसलिए यह सिर्फ मेरे पास क्या उपकरण नहीं है, लेकिन मेरे प्रतियोगी क्या करते हैं? और हमें यह उपकरण यहां DBArtisan के नाम से मिला है, जिसे मैं पहले ही चला चुका हूं, लेकिन मैं जा रहा हूं - इसलिए मैं इसे लाऊंगा। और जो आप देख सकते हैं यह एक बहुत अच्छा उपकरण है, क्योंकि उपयोग करने के बजाय, ओरेकल के लिए एक एंटरप्राइज़ प्रबंधक और SQL सर्वर के लिए एक SQL प्रबंधन स्टूडियो और MySQL के लिए MySQL कार्यक्षेत्र, और बारह अन्य डेटाबेस जो हम समर्थन करते हैं, कहते हैं, अच्छी तरह से मैं अपने सभी डेटाबेस इस एक उपकरण में बनाया है। DB2 है, वहाँ MySQL, Oracle, Postgres, SQL Server और Sybase है, और वह है - मेरे पास इस विशेष चीज़ में केवल छह डेटाबेस हैं क्योंकि मैं नहीं कर सकता - उपकरण बारह डेटाबेस का समर्थन करता है, लेकिन मेरे गरीब VM, छह डेटाबेस समवर्ती रूप से चल रहा है, और कोशिश कर रहा है एक डेमो करने के लिए, जितना मेरे हार्डवेयर की सुविधा होगी। तो मुझे अब ओरेकल में वापस जाने दें, और यदि आप ध्यान दें, तो ये सभी चीजें समान हैं। अगर मैं DB2 में अपने प्रदर्शन को मापना चाहता हूं, तो यह वही विकल्प हैं जो मुझे Oracle में मिले। अब कवर के तहत हम बहुत सारे अलग-अलग सामान करते हैं ताकि आपको पता न चले कि क्या हो रहा है, लेकिन हम आपको एक सुसंगत इंटरफ़ेस देते हैं ताकि आप कई डेटाबेस प्लेटफ़ॉर्म के साथ एक विशेषज्ञ बन सकें। और इसमें सूचकांक के साथ काम करना शामिल होगा, इस चर्चा का विषय।

मुझे यहाँ आने दो और कुछ तालिकाओं को देखने के लिए जाने से पहले मुझे शुरू करने दो, और मुझे एक मूवी डेटाबेस मिला है जिसमें बस कुछ टेबल हैं। और अगर मैं किसी विशेष तालिका को देखता हूं, तो ग्राहक तालिका की तरह, जब मैं इसे यहां लाऊंगा, तो मैं अपनी तालिका की डिजाइन, यहां मेरी तालिका में मेरे कॉलम और यहां प्रत्येक कॉलम के बारे में जानकारी देख सकता हूं। मुझे तालिका के लिए गुण मिल गए हैं, लेकिन ध्यान दें कि मेरे पास अनुक्रमित के लिए यहां एक टैब है और मैं देख सकता हूं कि यहां तालिका में अनुक्रमित हैं। ध्यान दें कि इनमें से एक इंडेक्स मेरी पीके इंडेक्स, मेरी प्राथमिक कुंजी है। ये अन्य प्रश्न क्वेरी एक्सेस को बेहतर बनाने के लिए केवल अनुक्रमणिका दिखते हैं, हो सकता है कि हम पहले नाम या अंतिम नाम से क्वेरी करें, या हम फोन और ज़िप कोड देखें। और अगर मैं किसी विशेष इंडेक्स को चुनता हूं, जैसे कि यह ज़िप कोड यहां है, और मैं उस पर डबल क्लिक करता हूं, अब मैं देख सकता हूं कि, हे, यह एक गैर-अद्वितीय सूचकांक है और यहां कुछ अन्य प्रकार, बिटमैप, गैर-अद्वितीय, अद्वितीय, चाहे वह क्रमबद्ध हो या न हो, चाहे वह लॉगिंग हो, चाहे रिवर्स ऑर्डर हो या नहीं, चाहे वह फ़ंक्शन आधार हो। ओह, यहाँ एक मजेदार एक है जिसे मैंने कवर नहीं किया। आप वास्तव में अदृश्य अनुक्रमित कर सकते हैं। और आप कहेंगे, "ठीक है, क्यों बिल्ली मैं एक अदृश्य सूचकांक करना चाहता हूँ?" ठीक है, मैं आपको एक अच्छा उदाहरण दूंगा। आप अपनी उत्पादन प्रणाली में हैं और आपको एक प्रदर्शन समस्या है और आप यह सुनिश्चित नहीं कर रहे हैं कि अनुक्रमणिका समस्या को ठीक कर देगी, इसलिए आप अनुक्रमणिका बनाना और उत्पादन धीमा नहीं करना चाहते हैं, लेकिन किसी भी तरह या जिसको आप करना चाहते हैं यह परीक्षण करने में सक्षम हो। आप उत्पादन में सूचकांक को अदृश्य के रूप में बना सकते हैं, जिसका अर्थ है कि कई एप्लिकेशन कोड, ऑप्टिमाइज़र को कॉल करके, उस सूचकांक का उपयोग नहीं करेंगे। यह बनाया गया है, यह मान्य है, लेकिन इसका उपयोग नहीं किया जाएगा। फिर आप एक क्वेरी ले सकते हैं जो आपको लगता है कि यह सूचकांक मदद करेगा, या प्रश्नों की एक श्रृंखला होगी, और आप इसमें एक संकेत चिपका सकते हैं और कह सकते हैं, "अरे, आशावादी, वहां एक अदृश्य सूचकांक है जो मैं चाहता हूं कि आप उपयोग करें और दें मुझे पता है कि क्या मैंने चीजों को बेहतर बनाया है। ”और अब मैंने उत्पादन में कुछ परीक्षण किया है, लेकिन मैंने उत्पादन में चल रहे अनुप्रयोगों को नहीं तोड़ा है। यह एक अदृश्य सूचकांक के लिए उपयोग है। जब आप पहली बार इसके बारे में सुनते हैं तो यह गूंगा लगता है, लेकिन इसका एक उपयोग है।

हम अनुक्रमित पर भी, परिभाषित कर सकते हैं कि क्या वे समानांतर हैं, और यह भी कि वे कितने उदाहरण हैं जो समानांतर हैं। अब, एक गैर-संकुल या एक गैर-वास्तविक अनुप्रयोग क्लस्टर वातावरण में, इतना गैर-रैक, समानांतर का मतलब होगा कि कितनी उप-प्रक्रियाएं मेरी क्वेरी को आजमाने के लिए ला सकती हैं, और कार्यकर्ता प्रक्रियाएं, कोशिश करने और तेज या तेज के माध्यम से प्राप्त करने के लिए। । और समानांतर उदाहरण होगा, अगर मैं एक वास्तविक अनुप्रयोग क्लस्टर में हूं, तो कहो कि मुझे दस नोड मिले हैं, मैं कितने नोड्स को काम करने की अनुमति देता हूं? शायद यह दस में से चार है, और उनमें से प्रत्येक पर, चार उप-प्रक्रियाएं हैं। वह एक उदाहरण है। और फिर हमारे पास महत्वपूर्ण संपीड़न है। आप वास्तव में अनुक्रमित को संपीड़ित कर सकते हैं? हाँ या ना। और फिर निश्चित रूप से आपके पास अपने भंडारण पैरामीटर हैं जिन्हें आप अनुक्रमित पर निर्दिष्ट कर सकते हैं। अब, मैंने इन्हें कवर नहीं किया क्योंकि वे वास्तव में एक इंडेक्स इश्यू से अधिक स्टोरेज पैरामीटर हैं। और फिर अंत में, हमारे पास इन विभाजन या गैर-विभाजित करने के लिए है या नहीं। मुझे एक पल के लिए यहाँ छोड़ दो। मैं एक अलग स्कीमा में जाने वाला हूं। यह एक स्टार स्कीमा है और, उदाहरण के लिए, यह अवधि तालिका एक आयाम तालिका है। यदि आपने कभी स्टार स्कीमा डिज़ाइन किया है तो आपके पास आमतौर पर इस डेटाबेस और इस स्टार स्कीमा में समय के लिए एक आयाम है, अवधि एक समय आयाम है। अब, मुझे पता है कि यह अजीब लगेगा, आप कहेंगे, "जी, उन सभी स्तंभों को देखो - क्या उस आदमी ने कभी सामान्य होने के बारे में सुना है?" ठीक है, जब आप डेटा वेयरहाउस या स्टार स्कीमा डिज़ाइन में होते हैं, तो आप आम तौर पर आपके पास गैर-टेबल होती है जो एक विशिष्ट व्यक्ति को देखेगा और कहेगा, "जी, ये बहुत अच्छी तरह से डिज़ाइन नहीं किए गए हैं।" लेकिन यही तरीका है कि आप इसे डेटा वेयरहाउसिंग वातावरण में करते हैं।

अब, देखो कि क्या होने जा रहा है क्योंकि, ठीक है, ये सभी कॉलम हैं, इसे देखो, मुझे हर एक कॉलम पर एक इंडेक्स मिला है। अब, एक OLTP वातावरण में, जो कि नहीं-नहीं होगा। यह मेरे सभी कार्यों को धीमा कर देगा। डेटा वेयरहाउसिंग वातावरण में, मैं अपने बैच लोड चक्रों के दौरान उन्हें छोड़ देता हूँ। ओवरहेड या इंडेक्स के बिना लोड करें, और मैं इंडेक्स को फिर से बनाऊंगा। और अगर मैंने अपनी तालिका को विभाजित किया है, तो तालिका में प्रत्येक बाल्टी के लिए सूचकांक को छोड़ने के बजाय, मैं सिर्फ सूचकांक को बाल्टी या बाल्टी पर गिरा सकता हूं जहां उस बैच लोड चक्र के दौरान डेटा होने जा रहा था। और फिर उन बाल्टियों के लिए सिर्फ सूचकांक भाग को फिर से बनाएं। और इसलिए यह बहुत प्रबंधनीय बनाता है। और अगर मैं देखता हूं - तो यहां "हॉलिडे फ्लैग" नामक एक कॉलम है और मूल रूप से यह हां या नहीं है। ध्यान दें कि यह एक बिटमैप इंडेक्स है, और आप में से अधिकांश के लिए आप कहेंगे, "ठीक है, यह समझ में आता है।" हाँ या नहीं, वाई या एन, केवल दो मूल्य हैं जो समझ में आता है। और क्योंकि जब आप बिटमैप इंडेक्स के लिए प्रलेखन पढ़ते हैं, तो वे हमेशा आपको कम कार्डिनैलिटी के साथ कुछ लेने के बारे में बताते हैं।

अब मैं अपने एक तथ्य तालिका में जाता हूं, इसलिए यहां हमारे आदेश हैं। और यह मेरा आदेश है प्रति दिन। और आप अब देखने जा रहे हैं, कि फिर से मेरे पास कुछ कॉलम हैं, और फिर, मैं कुछ इंडेक्स से अधिक होने जा रहा हूं। और यहीं, हमारे पास सार्वभौमिक मूल्य कोड नामक कुछ है। यह एक खुदरा स्टोर के लिए था, इसलिए जब आप स्टोर पर कुछ खरीदते हैं तो आप उन छोटे बार कोड को जानते हैं, यह सार्वभौमिक मूल्य कोड है। अब, लाखों सार्वभौमिक मूल्य कोड हैं। अब, इस विशेष कंपनी के लिए जो सामान बेच रही थी, उनके पास संभवतः 1.7 से 2 मिलियन सार्वभौमिक मूल्य कोड थे, इसलिए आप यह उम्मीद करने जा रहे हैं कि यह बिटमैप इंडेक्स नहीं होने वाला है क्योंकि 1.7 मिलियन अलग-अलग मूल्य उच्च कार्डिनलिटी जैसे लगते हैं। लेकिन वास्तव में, डेटा वेयरहाउसिंग के माहौल में, आप चाहते हैं कि यह एक बिटमैप हो। अब, मैं क्यों समझाता हूं। वैसे, इस सार्वभौमिक मूल्य कोड के लिए 1.7 मिलियन अलग-अलग मूल्य हो सकते हैं, इस क्रम तालिका में पंक्तियों की संख्या लाखों-करोड़ों-अरबों पंक्तियों में है। तालिका के आकार या कार्डिनैलिटी की तुलना में मेरा सूचकांक कम कार्डिनैलिटी है। यह कम कार्डिनैलिटी बनाता है। यह बिटमैप इंडेक्स को उपयोगी बनाता है, भले ही यह 1.7 मिलियन अलग-अलग मानों के साथ प्रतिरूप है, जो आप यहां बिटमैप का चयन करेंगे। अब, अगर मुझे पता था कि मैं एक बिटमैप इंडेक्स में शामिल होना चाहता हूं, तो वर्तमान में उत्पाद का समर्थन नहीं करता है, मैं इसे अगले रिलीज के लिए जोड़ रहा हूं, लेकिन यहां एक और विकल्प होगा। और एक स्टार स्कीमा में, याद रखें, बिटमैप इंडेक्स तथ्य तालिका पर होगा और बी-ट्री में एक इंडेक्स तथ्य तालिका में पंक्ति को इंगित करेगा और फिर प्रत्येक पंक्ति को उस तथ्य के लिए आयाम तालिका में स्पष्ट था । और इसलिए, आपके पास एक और विकल्प है। और इसलिए, आइए देखें, मैं अब टेबल से बाहर आना चाहता हूं और मैं आपको जल्दी से दिखाना चाहता हूं कि मेरे पास एक ही जानकारी है, इंडेक्स के तहत, और मैं एक ही मूल काम करने जा रहा हूं।

अब, इसका कारण जो मैंने लाया है, वह यह है कि आप देख सकते हैं, यहाँ कोई प्राथमिक कुंजी नहीं है। प्राथमिक कुंजी एक मुख्य बाधा के साथ की जाती है, इसलिए वे वास्तव में बाधा परिभाषाओं से आच्छादित हैं। ये ऐसे सूचकांक होंगे जो बाधा का हिस्सा नहीं हैं। अब आप कह सकते हैं, "ठीक है, एक मिनट रुको, जो एक विदेशी कुंजी की तरह लग सकता है, और एक विदेशी कुंजी एक बाधा है, " लेकिन विदेशी कुंजी और अधिकांश डेटाबेस स्वचालित रूप से विदेशी कुंजी कॉलम पर एक इंडेक्स नहीं बनाते हैं, भले ही यह हो सलाह दी जाती है, और आप वहां जाते हैं - मुझे फिर से वही विकल्प मिल गए हैं। और अगर मैं सिर्फ संकुचित होने के लिए बदलना चाहता हूं, तो मैं ऐसा कर सकता हूं।

अब संपीड़न केवल बी-ट्री इंडेक्स पर काम करता है। वह क्या अनुमति देता है, जब आप बी-ट्री में विभिन्न नोड्स को देखते हैं, तो यह कुछ मूल्यों के संपीड़न की अनुमति देता है। यह वास्तव में टेबल संपीड़न की तरह संपीड़न नहीं है, यह गैर-पत्ती नोड्स में बी-ट्री में संग्रहीत क्या है का एक संपीड़न है। यह अंतरिक्ष के एक टन को नहीं बचाता है, लेकिन यह एक फर्क कर सकता है। और इसके साथ ही मैंने देखा कि, मैं समय के बहुत करीब पहुंच रहा हूं, इसलिए मैं जो करना चाहता हूं, मैं वापस जाना चाहता हूं, और अपना साझाकरण रोकना चाहता हूं। और, हम idera.com पर चौदह-दिवसीय परीक्षण के लिए अपना उत्पाद तैयार कर रहे हैं। यह एक बहुत अच्छा उत्पाद है, खासकर यदि आप कई डेटाबेस प्लेटफार्मों के साथ काम करते हैं। यदि आप दो या तीन अलग-अलग डेटाबेस के साथ काम करते हैं, तो यह उपकरण आपके जीवन को बहुत आसान बना देगा। हमारे पास अनुक्रमणिका डिज़ाइन और चयन में आपकी सहायता करने के लिए उपकरण हैं, हमारे पास एक उपकरण है जिसे DB अनुकूलक कहा जाता है। मैं बस आज कवर नहीं कर सकता, यह बहुत अधिक होगा। और अगर आप मुझसे संपर्क करना चाहते हैं, तो मेरा ईमेल पता है, यह है, या आप मुझे मेरे निजी ईमेल पर पकड़ सकते हैं, और मुझे ब्लॉग मिल गए हैं, मुझे एक वेबसाइट और ब्लॉग मिल गए हैं, और एक लिंक्डइन प्रोफ़ाइल। तो बेझिझक मेरे पास किसी भी चीज़ पर पहुँच सकते हैं, भले ही वह उत्पाद से संबंधित क्यों न हो, अगर आप सिर्फ डेटाबेस की बात करना चाहते हैं, तो मैं दिल का गीक हूँ और मुझे टेक्नोबैब्ल के बारे में प्यार है।

एरिक Kavanagh: ठीक है, अच्छी तरह से Dez, रॉबिन, मुझे यकीन है कि आप प्रत्येक को कम से कम कुछ सवाल मिल गया है, हम यहाँ कुछ मिनट मिल गया है। Dez, आपको क्या लगता है?

Dez Blanchfield: मुझे एक बहुत अच्छा सवाल मिला है जो मुझे आपसे पूछना है, यह मेरे दिमाग के पीछे बैठा है। आपके द्वारा देखा गया craziest परिदृश्य क्या है? मैंने आपका ब्लॉग पढ़ा है, मैं आपको निकटता से अनुसरण करता हूं, - आप, आप शायद उन कुछ लोगों में से एक हैं जो लगभग हर संभावना में रहते हैं, और मुझे लगता है कि डॉ। रॉबिन ब्लोर वह दूसरा है जो मुझे मिला है मेरा जीवनकाल। लेकिन, आप जानते हैं, आपने शायद हर पागल परिदृश्य देखा है, आपके द्वारा देखे गए कुछ क्रेज़िएस्ट परिदृश्य क्या हैं, जो आपके सामने आए हैं, और उन मनुष्यों की तरह जो बस सामना नहीं कर पाए, आप चलने में कामयाब रहे और इस पूरे DBArtisan के साथ जेडी मन चालें प्रदर्शन?

बर्ट स्कल्जो: हमारे पास एक ग्राहक था जो अपने डेटाबेस डिजाइन में, उन्होंने बहुत सोचा था कि जिस तरह से वे एक फ़ाइल लेआउट डिजाइन में सोचेंगे, और इसलिए, यह - जब आप एक डेटाबेस को सामान्य करते हैं, तो पहली चीज जो आप करने की कोशिश करते हैं वह छुटकारा पा जाता है दोहराए जाने वाले समूहों की। खैर, उनके पास एक कॉलम था और उन्होंने इसे एक लंबा, या एक BLOB या CLOB बनाया, और इसमें वे मूल्य, संख्या एक, अर्धविराम, मान संख्या दो, अर्धविराम, मान संख्या, अर्धविराम, और वे हजारों मान डालेंगे वहाँ पर, लेकिन उन्हें उस स्तंभ पर खोज करने की आवश्यकता थी और वे कहते हैं, "यह बात इतनी धीमी गति से क्यों चलती है?" और मुझे पसंद है, "ठीक है, आपने जो किया उस पर एक सूचकांक नहीं बना सकते, यह बस है अनुमति नहीं है। ”इसलिए हमने वास्तव में उन्हें दिखाया, योजनाओं का उपयोग करते हुए, कि उन्हें उस तालिका को सामान्य करने के लिए क्या करना चाहिए था। इसलिए नहीं कि सामान्यीकरण कुछ अकादमिक अभ्यास है जो चीजों को बेहतर बनाता है, बल्कि इसलिए कि वे उस क्षेत्र पर एक क्वेरी चाहते थे, जिसका मतलब था कि वे इसे अनुक्रमणित करने में सक्षम होना चाहते थे, और आप इसे दोहराए जाने वाले समूह पर, या कम से कम आसानी से नहीं कर सकते। । और इसलिए मैंने शायद सबसे बुरी चीज देखी है।

Dez Blanchfield: हाँ, यह दिलचस्प है कि आप कितनी बार आते हैं, मुझे लगता है कि डेटाबेस के साथ चुनौती है, लोग भूल जाते हैं कि यह एक विज्ञान है। और ऐसे लोग हैं जो इस पूरी जगह में डिग्री और पीएचडी करते हैं, उस पर कागजात लिखते हैं, और आपने अपनी TOAD हैंडबुक और मेमोरी से अन्य चीजों सहित एक पूरा स्वैग लिखा है। जैसे-जैसे "बड़े डेटा" को कोट-ऑन-कोट करने की प्रवृत्ति होती है - मुझे लगता है कि अगर आप चाहें तो बहुत सारे लोग डेटाबेस आर्किटेक्चर और डेटाबेस टेक्नोलॉजी, डेटाबेस साइंस की बुनियादी बातों को भूल जाते हैं। आप पारंपरिक डेटाबेस प्लेटफ़ॉर्म और पारंपरिक डेटाबेस से दूर जाने के क्षेत्र में क्या देख रहे हैं, यह सोचकर कि हमने जमीन पर प्रभावी रूप से कील लगाई है, और यह केवल प्रदर्शन ट्यूनिंग और स्केलिंग का मामला था। क्या आप बहुत से लोगों को मुक्त देख रहे हैं और उनके पास एक अनुभव है जहां वे बस बैठते हैं और एक "हा-हा" क्षण होता है, जैसे कि यूरेका पल, जहां उन्हें एहसास होता है कि यह बड़ा डेटा सामान वास्तव में वास्तव में बड़े डेटाबेसों की तरह है? क्या यह कोई बात है और लोग आपको जवाब दे रहे हैं और "हम भूल गए, जो हम जानते थे और क्या आप हमें अंधेरे की ओर से वापस ला सकते हैं?"

बर्ट स्कल्ज़ो: ठीक है, नहीं, और यह स्वीकार करना भयानक है, लेकिन रिलेशनल डेटाबेस विक्रेताओं ने उस कूल-एड को भी पिया है। अगर आपको याद है, तो मुझे नहीं पता, लगभग एक दशक पहले, हमने अनैतिक डेटा को रिलेशनल डेटाबेस में डालना शुरू किया था, जो कि करने के लिए एक अजीब बात थी, और फिर डेटा, रिलेशनल डेटाबेस, अब NoSQL-type को जोड़ रहे हैं सामान। वास्तव में, ओरेकल 12, सीआर 2 में - मुझे पता है कि यह अभी तक बाहर नहीं है - लेकिन यदि आप बीटा को देखते हैं, यदि आप बीटा प्रोग्राम में हैं, तो यह तेज करने का समर्थन करता है। और इसलिए, अब आपको एक रिलेशनल डेटाबेस मिल गया है जो NoSQL शार्किंग से अवधारणा को नहीं जोड़ा गया है। और इसलिए, "ए-हा" पल उन लोगों के लिए अधिक होता है जो संबंधपरक पक्ष के लोगों के लिए हैं, जो "ए-हा" जा रहे हैं। कोई भी इसे फिर से करने के लिए नहीं जा रहा है, डेटाबेस प्रबंधक भी नहीं, इसलिए हम। ऊपर जाने और अंधेरे पक्ष में शामिल होने के लिए मिला।

Dez Blanchfield: ठीक है, इसलिए आप बहुत सारे गंदे डेटा को स्थानांतरित करने के लिए कह रहे हैं, अगर मुझे सही समझ में आ रहा है, तो हम अब बड़े डेटा प्लेटफ़ॉर्म को कॉल कर रहे हैं, जो मज़ेदार है, क्योंकि वे यह पुराना नहीं है, लेकिन इसका मतलब यह नहीं है कि वे अपने हिरन के लिए और अधिक धमाका करने के लिए अपने संबंधपरक डेटाबेस के साथ क्या कर रहे हैं, इस पर विचार कर रहे हैं?

बर्ट स्कल्ज़ो: नहीं, आमतौर पर, अगर उनकी आवश्यकता होती है - जिसमें "बड़े डेटा-प्रकार की आवश्यकता" का उद्धरण होता है, तो वे यह पाते हैं कि दूसरे डेटाबेस प्लेटफ़ॉर्म पर जाने और गैर में कुछ करने के बजाय -वैचारिक तरीके से, डेटाबेस विक्रेता अब उन्हीं गैर-रिलेशनल तकनीकों को अपने रिलेशनल डेटाबेस के अंदर दे रहे हैं, उन चीजों को करने के लिए। मेरा मतलब है, एक अच्छा उदाहरण होगा, यदि आपके पास डेटा असंरचित है, जैसे JSON डेटा प्रकार या कुछ अन्य जटिल डेटा प्रकार जिसका अर्थ डेटा में ही अंतर्निहित है, तो डेटाबेस विक्रेता न केवल उसका समर्थन करते हैं, बल्कि वे आपको ACID देंगे असंरचित डेटा पर अनुपालन। संबंधपरक डेटाबेस ने नई तकनीकों और तकनीकों को अपनाया है और इसलिए, फिर से "ए-हा" अधिक प्रतीत नहीं होता है कि, "अरे हम, एप्लिकेशन डेवलपर्स, ने कुछ अनजान कर दिया है और हमें इसे फिर से सीखने की जरूरत है, " यह "अरे", हम इसे इस तरह से करते हैं, मैं इसे इस तरह से अपने पारंपरिक रूप से संबंधपरक डेटाबेस में कैसे कर सकता हूं और इसे ऐसे कर सकता हूं जैसे मैं इस डेटाबेस में यहां करता हूं? ”और यह अधिक प्रचलित हो रहा है, और जैसा मैंने कहा, डेटाबेस विक्रेता खुद को सक्षम कर रहे हैं। उस।

डीज़ ब्लांचफ़ील्ड : ठीक है, उपकरण DBArtisan और उस के लिए इस स्थान में पारंपरिक संदिग्ध कौन हैं? मैंने हाल ही में जो कुछ लिखा है, उस पर मैंने कुछ होमवर्क किया था और स्मृति से आपने कुछ लिखा होगा, मुझे लगता है कि यह ओरेकल दुनिया में चरम डेटाबेस प्रदर्शन पर आपके ब्लॉग में से एक था। मुझे याद नहीं है कि यह कब था, मुझे लगता है कि यह इस साल स्मृति से था, या पिछले साल के अंत से, आपने यह बात लिखी थी। और यह मुझे लग रहा था कि हम जिस प्रकार के विषय पर आज बात कर रहे हैं, उस प्रकार के लिए यह पारंपरिक, सामान्य रूप से संदिग्ध है, जहां लोग बहुत बड़े पैमाने पर डेटाबेस वातावरण में जाएंगे और इस बात की तलाश करेंगे कि आप इसमें अत्यधिक लाभ प्राप्त कर रहे हैं। वे कौन से सामान्य संदिग्ध हैं जो आप वहां देख रहे हैं जो DBArtisan को उठा रहे हैं और इसे अच्छे उपयोग के लिए डाल रहे हैं?

बर्ट स्कल्ज़ो: ठीक है, हमारे पास बहुत सारे ग्राहक हैं, वास्तव में, आज मैं एक बहुत बड़ी सरकारी एजेंसी के साथ था - और उनके पास शाब्दिक रूप से हमारे सॉफ़्टवेयर की 1, 000 से अधिक प्रतियां हैं, क्योंकि यह लोगों को उनके ध्यान केंद्रित करने की अनुमति देता है ' कर रहे हैं, और यह कैसे करना है नहीं। और यह ठीक है, मेरा मतलब है, हर किसी को पता होना चाहिए कि कुछ कैसे करना है, लेकिन उत्पादकता "क्या" हो रही है। यदि व्यवसाय मुझे एक कार्य करने के लिए कहता है, तो वे सभी में रुचि रखते हैं। मुझे यह कहने के लिए चेकमार्क कब मिला कि कार्य कब किया गया था? नहीं क्या तकनीक या क्या तकनीक मैं वहाँ पाने के लिए इस्तेमाल किया। और इसलिए, हमारा उपकरण उन्हें किस पर ध्यान केंद्रित करने देता है, और उन्हें कहीं अधिक उत्पादक होने देता है, और यह वास्तव में बहुत बड़ा लाभ है, और जैसा मैंने कहा, कुछ डेटाबेस केवल अपने डेटाबेस प्लेटफॉर्म के लिए एक उपकरण प्रदान करते हैं। हम इसे बारह डेटाबेस प्लेटफ़ॉर्म के लिए प्रदान करते हैं। मेरे पास समान वर्कफ़्लो, समान ग्राफ़िकल यूज़र इंटरफ़ेस, समान नेवीगेशन हैं। यदि आप जानते हैं कि किसी उपयोगकर्ता को विशेषाधिकार कैसे प्रदान करना है या किसी तालिका को कैसे बनाना है या किसी डेटाबेस में एक इंडेक्स बनाना है, तो आप इसे सभी बारह में कर सकते हैं क्योंकि यह एक ही रूप और लग रहा है और एक ही वर्कफ़्लो है। हमारे ग्राहकों के लिए इसका बहुत बड़ा मूल्य है।

डीज़ ब्लांचफील्ड: हाँ, मुझे लगता है, लोग अपने मानव संसाधनों से अपने हिरन के लिए बहुत अधिक धमाके करना चाहते हैं। और ओरेकल, इंगर्स और डीबी 2 में एक व्यक्तिगत विशेषज्ञ होने के दिन चले गए हैं। लोगों से सभी ट्रेडों के जैक होने की उम्मीद की जाती है, इसलिए मुझे लगता है कि इस चीज ने उनके जीवन को बिल्कुल बचा लिया है।

इससे पहले कि मैं डॉक्टर रॉबिन ब्लोर को सौंपूं, बस एक आखिरी त्वरित चीज। आपने उल्लेख किया कि चौदह दिनों के लिए एक मुफ्त डाउनलोड है, क्या करता है - अगर मैं आगे बढ़ने जा रहा हूं और मैं ऐसा करने जा रहा हूं, तो मैं इसे ब्लोर टेक लैब में डालूंगा और इस चीज को स्पिन करूंगा ऊपर उठो और खुद इस पर हाथ उठाओ - मुझे आज से पहले ऐसा करने का मौका नहीं मिला था। आपने चौदह-दिवसीय परीक्षण का उल्लेख किया, आपने कहा कि आप इसे अपने कंप्यूटर पर वीएम पर चला रहे हैं, मैं इसे लैपटॉप मान रहा हूं। क्या हैं, किसी के लिए हाथ में ले जाने और चौदह-दिवसीय परीक्षण की तरह उपयोग करने के लिए प्रवेश-स्तर सेटअप क्या है, जैसे मैं रोबिन को उसके सवालों के जवाब देने से ठीक पहले?

बर्ट स्कल्ज़ो: कोई भी विंडोज वातावरण, इसलिए विंडोज 7, एक सीपीयू के साथ वर्चुअल मशीन और मेमोरी के चार गिग्स। हम वास्तव में वसा या महंगे उपकरण नहीं हैं। अब अगर आप उसी Windows के तहत उसी VM पर अपना डेटाबेस सर्वर चलाना चाहते हैं, तो हाँ, आपको और अधिक जोड़ने की आवश्यकता होगी, लेकिन यदि आप डेटाबेस डेटाबेस पर या किसी अलग VM, VM को लोड करने के लिए अपना डेटाबेस चला रहे हैं और हमारे उत्पाद को बहुत हल्के ढंग से चलाएं: एक सीपीयू, चार गिग्स ऑफ़ मेमोरी, विंडोज का कोई भी संस्करण - और हम बत्तीस और चौंसठ-बिट इंस्टाल दोनों का समर्थन करते हैं। लेकिन आपको अपने डेटाबेस विक्रेता के ग्राहक को स्थापित करना होगा। इसलिए यदि आप ओरेकल से कनेक्ट करना चाहते हैं, तो आपको एसक्यूएल नेट क्लाइंट स्थापित करना होगा, क्योंकि डेटाबेस से बात करने के लिए ओरेकल की आवश्यकता होती है।

Dez Blanchfield: यह बहुत सीधा लगता है। मुझे लगता है कि इससे एक बात जो मुझे उम्मीद है कि लोग इस उपकरण को अपने जीवन को बचाने के लिए जा रहे हैं, के अलावा और कुछ नहीं ले जा रहे हैं, यह है कि वे इसे डाउनलोड करें और इसके साथ खेलें। यह देखते हुए कि आप चौदह-दिवसीय निःशुल्क परीक्षण की पेशकश कर रहे हैं। और यह कुछ भी अतिरिक्त स्थापित किए बिना उनके वर्तमान लैपटॉप पर चल सकता है, क्योंकि अगर वे पहले से ही डेटाबेस प्रशासन कर रहे हैं, तो वे पहले से ही डेटाबेस के साथ काम कर रहे हैं, उन्हें वे सभी उपकरण मिल गए हैं और चाहे वह स्थानीय वीएम पर चल रहा हो या उनके स्थानीय डेस्कटॉप, ऐसा लगता है कि इसे स्थापित करने और खेलने के लिए दर्द रहित है। इसलिए मैं अत्यधिक लोगों को ऐसा करने की सलाह देता हूं।

रॉबिन, मुझे यकीन है कि आपको सवाल और एरिक मिले हैं, शायद आपको दर्शकों में से कुछ मिल गया है, इसलिए रॉबिन, मैं कैसे आपके पास जाता हूं, और फिर एरिक वापस?

रॉबिन ब्लोर: हाँ, ठीक है, अच्छी तरह से मुझे कहने के लिए चीजें मिल गई हैं, मेरा मतलब है, मैंने हमेशा इस क्षेत्र को आकर्षक पाया है क्योंकि यह था - मैंने इस पर अपने दांत काट दिए। लेकिन सच्चाई यह है कि, शायद 1998, 1999 के बाद से, मैं इस बात से अवगत था कि ओरेकल वास्तव में क्या सक्षम है। और, मुझे पता था कि Sybase और Microsoft SQL Server, उन दोनों की तुलना में काफी सरल हैं, जो Oracle कर सकते हैं। आपने मुझे हंस दिया जब आप - मेरा मतलब है, मैंने अपना मुंह ढक लिया, जब आपने शार्किंग के बारे में बात करना शुरू किया। ओरेकल ने इससे पहले किया था। कुछ समय में ओरेकल को पेश किया गया, वे ऑब्जेक्ट-रिलेशनल आइडिया से घबरा गए, इसलिए उन्होंने ओरेकल में एक प्रकार की ऑब्जेक्ट नोटेशन और ऑब्जेक्ट स्टोरेज बनाने की क्षमता का परिचय दिया, और मैंने उनके एक इंजीनियर से बात की, कुछ की तरह सालों बाद उन्होंने इसे पेश किया और मैंने पूछा कि कितने लोग इसका इस्तेमाल करते हैं, और उन्होंने कहा कि मुझे लगता है कि दो ग्राहकों ने इसे आजमाया था और वह यह था। और मुझे लगता है कि वही होने जा रहा है अगर वे NoSQL चीजों को ट्रेंड करने और करने लगते हैं। तुम्हें पता है, मुझे लगता है कि यह एक गलती है, मेरा मतलब है, मुझे आपके विचारों में दिलचस्पी है। निश्चित रूप से, - वे कूल-एड पीते हैं। उन्हें लगता है कि जैसे वे कैसंड्रा जैसे बड़े NoSQL डेटाबेस के समान दावे करने में सक्षम हो गए हैं, लेकिन आप जानते हैं, क्या इससे आपको कोई मतलब है?

बर्ट स्कल्ज़ो: नहीं, आपने नाखून को सिर पर मारा है। मेरे लिए, मैं करूंगा, अगर मैं रिलेशनल करने जा रहा हूं, तो मैं ओरेकल या एसक्यूएल सर्वर या डीबी 2 या पोस्टग्रेज जैसे रिलेशनल वेंडर चुनूंगा, लेकिन अगर मैं ऐसा कुछ करने जा रहा हूं जो नॉन-रिलेशनल हो, बड़े डेटा स्पेस, या NoSQL स्पेस में, मैं सही काम के लिए सही टूल चुनने जा रहा हूं। और मुझे नहीं लगता कि यह स्वाभाविक रूप से पहले मेरे रिलेशनल डेटाबेस विक्रेता के पास जाएगा। और फिर, आप इसे दूसरी शिकन जोड़ते हैं, जो कि, क्लाउड में क्या उपलब्ध है? इतने सारे लोग अपने डेटाबेस को आधार से हटाना चाहते हैं। फिर आपको अपने क्लाउड प्रदाता को देखना होगा और कहना होगा, "ठीक है, आप क्या प्रदाता हैं, आपके पास मेरे लिए कौन-कौन से डेटाबेस उपलब्ध हैं जो मेरी आवश्यकताओं के अनुकूल हैं और वे कितने योग्य हैं, और स्पष्ट रूप से उस डेटाबेस का उपयोग करने के लिए दर या शुल्क क्या है प्रति घंटे बादल में, या प्रति दिन। और प्रति गीगाबाइट या टेराबाइट? ”और जो आप पाएंगे, वह शायद कुछ नए नए डेटाबेस जैसे मानगो या कैसंड्रा, शायद उनकी दरें सस्ती हैं, इसलिए यदि आप मल्टी-पेटाबाइट-प्रकार के बड़े डेटा करने जा रहे हैं, तो आप कर सकते हैं है - बस लागत दृष्टिकोण से - क्लाउड में NoSQL डेटाबेस पर विचार करना होगा क्योंकि वे इसे करने के लिए सबसे अधिक लागत प्रभावी तरीका हो सकते हैं।

रॉबिन ब्लर: हाँ, सही है। मेरा मतलब है, मेरे तरह के - मेरे अनुभव में संबंधपरक डेटाबेस के बारे में बात - जो लंबे समय से निशान है, यह सुनिश्चित करने के लिए पर्याप्त है - बहुत सामान्य ज्ञान है कि यदि आप इसे लागू करना शुरू करते हैं और - आप समझ रहे हैं कि वास्तव में क्या संबंध है।, मेरा मतलब है, मुझे याद है कि मैं एक बार एक ग्राहक के साथ कुछ परामर्श करने जा रहा था, और उन्होंने मुझे एक कमरे में ले जाया और उन्होंने एक प्रकार का इकाई आरेख बनाया और तीसरा सामान्य रूप बनाया, जो कंपनी की प्राथमिक प्रणालियों की तरह था। इसके बारे में दो सौ चालीस टेबल थे और उन्होंने कहा, “ठीक है, तुम क्या सोचते हो? हम इसके लिए एक डेटाबेस बनाने जा रहे हैं, "और कहा कि" आप क्या सोचते हैं? "मैंने कहा, " मुझे नहीं लगता कि यह काम करने जा रहा है। "और यह बिल्कुल सही है, आप जानते हैं, क्योंकि वे समाप्त हो रहे थे। ग्यारह-तरफ़ा जोड़ के भीतर विशेष संरचना बनाने के लिए। और रिलेशनल के बारे में समझने की बात है। इसलिए मैं इस बात में दिलचस्पी रखता हूं कि आपका कितना बुरा डिजाइन है। मेरा मतलब है, मुझे DBArtisan के साथ कोई समस्या नहीं है - यह बहुत ही समझदार चीजें कर रहा है और यह तथ्य कि आप वास्तव में कई प्लेटफार्मों पर प्रदर्शित कर सकते हैं, मुझे लगता है, अद्भुत है - लेकिन आप वहां कैसे सामना करते हैं जहां डिजाइन मुद्दा है जहां लोग अपने आप को हर तरह के दिल के दर्द को हल कर सकते थे यदि वे इसके बारे में स्नोफ्लेक-वाई प्राप्त करने के बजाय एक स्टार स्कीमा में आते हैं, तो आप जानते हैं?

बर्ट स्कल्ज़ो: ठीक है, मैं अभिमानी या अभिमानी की तरह आवाज़ नहीं करना चाहता, लेकिन मैं अधिक बार नहीं कहूंगा। स्पष्ट रूप से, अधिकांश डेटाबेस जो मैं वहां से जुड़ जाता हूं, उनके पास समस्याएं या समस्याएं हैं। जो अच्छा है, क्योंकि हमारे उपकरण, हमारे डेटाबेस ऑप्टिमाइज़र टूल की तरह, उन समस्याओं को हल करने में उनकी मदद कर सकते हैं, और, लेकिन जो मेरे लिए वास्तव में मज़ेदार है, वह यह है कि बहुत सारी समस्याएं एक ही सरल समस्याएँ बार-बार आती हैं। मैं सिर्फ दूसरे दिन एक ग्राहक के साथ काम कर रहा था, जिसके पास ग्यारह-रास्ता जुड़ने की क्वेरी थी, और मुझे पसंद है, "ठीक है, आपने क्लॉज़ के साथ उपयोग क्यों नहीं किया?" और वे पसंद करते हैं, "ठीक है, मैंने नहीं किया? '' पता है कि क्या है। '' और फिर मैंने कहा, '' और अपने सह-चयनितों को अपने सहसंबद्ध और अपने गैर-सहसंबद्ध पर यहाँ देखें, '' मैंने कहा, '' कुछ मामलों में आप अपने स्तर पर हैं, जहां गहनतम स्तर पर खंड, एक तालिका संदर्भ बाहरी रूप देता है। "मैंने कहा, " वह इसे सही स्तर पर ले जाएं, इसे गहराई से एम्बेड न करें, इससे आपको आशावादी को भ्रमित करना होगा। "और कुछ दोहों के साथ। कुछ ऐसा लिया जो लगभग दो घंटे चल रहा था और इसे दस मिनट तक कम कर दिया गया और यह बस था - उस मामले में हमने SQL में सुधार के अलावा कुछ भी नहीं किया जो उन्होंने लिखा था। मुझे लगता है कि समस्या यह है कि बहुत सारे विश्वविद्यालय और बहुत सारे लोग जो गैर-शैक्षणिक वातावरण में प्रोग्रामिंग सीखते हैं, वे इसे रिकॉर्ड किए गए समय प्रक्रियाओं या पंक्ति-उन्मुख प्रक्रिया के रूप में सीखते हैं और संबंधपरक प्रकृति द्वारा निर्धारित एक सेट है, और इसलिए आप अच्छा एसक्यूएल लिखने के लिए सेट में सोचना पड़ता है।

रॉबिन ब्लोर: हां, मुझे लगता है कि यह बिल्कुल सही है। और आपको समझना होगा, यह ऐसी चीजें हैं, जैसे लोगों को एबीसी को सामान की तरह जानना चाहिए। इससे कोई फर्क नहीं पड़ता। आप तर्कसंगत चीजें करने में सक्षम नहीं हैं यदि आपको एहसास नहीं है कि एक अच्छी तरह से डिज़ाइन किया गया, अच्छी तरह से तैयार किया गया डेटाबेस, जुड़ने में समय लगेगा, तो समय लगेगा। वे ऐसा इसलिए करते हैं क्योंकि दुनिया ने कभी भी उन लोगों को उपवास करने का तरीका नहीं दिया। उन्हें डेटा को व्यवस्थित करने के तरीके मिल गए हैं ताकि वे अन्यथा की तुलना में तेजी से आगे बढ़ें, और नो एसक्यूएल डेटाबेस के लिए मुझे बहुत उत्साह से कहना होगा कि वे जॉइन करने से बच रहे हैं। वे डेटाबेस को केवल उसी डेटा के प्रसार के साथ बनाना शुरू करते हैं, क्योंकि यदि आप NoSQL डेटाबेस में शामिल होते हैं, तो वे जोर से चूसते हैं। क्या आपको नहीं लगता?

बर्ट स्केलोज़: ओह बिल्कुल। और मुझे हँसना होगा क्योंकि, मैंने रिलेशनल डेटाबेस से पहले वापस जाना शुरू किया था और जब इंगर्स आरटीआई, रिलेशनल टेक्नोलॉजी इंस्टीट्यूट था, और हमारे पास एसक्यूएल नहीं था, तो हमारे पास प्री-एसक्यूएल रिलेशनल लैंग्वेज थीं। मुझे लगता है कि इंग्रिड्स में, फिर, इसे क्वेल कहा जाता था। तो आप नेटवर्क और एक उच्च चित्रमय, या पदानुक्रमित जैसे इन पुराने डेटाबेस प्रतिमानों से मिले, और आप कुछ दशकों के बाद संबंधपरक प्रतिमानों से गुजरते हैं और अब मुझे ऐसा लगता है कि हम फिर से लगभग पदानुक्रम में वापस जा रहे हैं। यह लगभग वैसा ही है जैसा हमने पलट दिया है।

रॉबिन ब्लर: हाँ, सही है। Better hand you on to Eric, I'm consuming too much time, but have we got any questions from the audience, Eric?

Eric Kavanagh: We do, we've got a few. We're going a bit long here but I'll throw a couple over at you. We had a couple of questions around the invisible indexes. One question was, “Does someone need to use your tool in order to see those?” Another question was, “Well, what if you're blind?”

Bert Scalzo: That's a good one.

Eric Kavanagh: Curious question too, so just FYI.

Bert Scalzo: No, you don't have to have our tools. That's an Oracle feature, the invisibles index. Basically in the data dictionary, Oracle just keeps a piece of metadata that says, “Optimizer, ignore this index. It's here, but unless you're physically instructed via a hint in the, an optimizer hint in the SQL command, do not use this.” And so, no, you don't have to have our tools, and in every respect it is a plain old index, you can see it in any tool, it's just the optimizer will say, “We'll ignore it in normal query processing.” You have to direct it if you want it to get used. It's really handy for the scenario I described which is, if you wanted to build an index in production but not risk breaking the reports, or the things that are already running, but you wanted to test them, you could do it. That's what it's most useful for.

Eric Kavanagh: That's good stuff and then there was another good question here. “What about some of these new in-memory databases? How do in-memory database technology change the game in respect to indexing?”

Bert Scalzo: Boy, well we – now that's a good, I'm glad someone asked that question, we're going to have to go another half hour. No, the in-memory, it depends on the database vendor. Now, normally, I am, I speak nothing but praise of anything that Oracle does because it's amazing the technology they've built, but when you tear back under the covers and you look at what in-memory is in Oracle, in the Oracle database, what it is in reality is it still kept row store on disk, and it will get loaded column-store in-memory, and if there's insufficient memory to hold the whole table, it will revert back to for the portions; it won't fit in memory, to doing it row store, and so you could actually do a select against the table and for half the table, you 're using an indexing hitting traditional rows at the table, and for the other half of the select it's actually going out and just grabbing everything from an in-memory search, and so, it's different in the way that SQL Server, for example, implemented it with their Hekaton technology, you know, and SQL 2014, and it's been improved in SQL 2016, but in some respects, theirs is a more true version of in-memory, and, but each implementation has a pros and cons, but you have to kind of look under the covers and realize. Because, I had a customer who said, “Oh this table's in-memory – I'm just going to draw up all the indexes, ” and I'm like, “The table's bigger than the memory that you have on the server, so at some point some of the query's got to hit disk.”

Eric Kavanagh: That's a good description; that's good stuff. Well, folks, we're going to have a few more webcasts with these guys over the rest of this year, come back anytime you hear of Bert being on a presentation because we know he knows his stuff. It's always fun to talk to the experts. We do archive all these webcasts for later viewing. Here's Bert's contact information once again, and we'll try to dig up that link for the download and send it out as well by email, but you can always email yours truly:, we've got a bunch more webcasts lined up for this year and we're doing the ed cal right now, so, folks, if there's any topics you really want to hear about next year, don't be shy: Take care, folks, we'll talk to you next time. अलविदा।

Techopedia सामग्री साथी

Techopedia Staff Bloor Group से संबद्ध है और इसे दाईं ओर दिए गए विकल्पों का उपयोग करके संपर्क किया जा सकता है। हम उद्योग भागीदारों के साथ कैसे काम करते हैं, इसकी जानकारी के लिए यहां क्लिक करें।
  • प्रोफ़ाइल
  • वेबसाइट
सूचकांक पागलपन: कैसे डेटाबेस अराजकता से बचने के लिए