Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> डेटाबेस

अपने SQL डेटाबेस में Elasticsearch खोज और विज़ुअलाइज़ेशन को सहजता से जोड़ें

नए NoSQL डेटा स्टोर पर ध्यान केंद्रित करने वाली सभी चर्चाओं के बावजूद, रिलेशनल और SQL-आधारित डेटाबेस अभी भी जीवित और अच्छे हैं। वास्तव में, हमारे साथ काम करने वाला लगभग हर ग्राहक अपने MongoDB, Redis, या Elasticsearch के साथ अपने वातावरण में कुछ MySQL, PostgreSQL या MS SQL Server रखता है। रिलेशनल डेटाबेस से दूसरे डेटास्टोर में डेटा को रेप्लिकेट करने के सबसे आसान तरीके पर अनुरोध प्राप्त करना असामान्य नहीं है, चाहे माइग्रेशन के रूप में हो या बस अपने रिलेशनल डेटा में फुल-टेक्स्ट खोज या विज़ुअलाइज़ेशन जैसी सुविधाएं जोड़ने के लिए। सौभाग्य से, Elasticsearch इसे सुपर आसान बनाता है।

हमने हाल ही में रिलेशनल डेटाबेस को Elasticsearch से जोड़ने पर एक विस्तृत व्हाइट पेपर लिखा है जो प्रक्रिया और किए जाने वाले निर्णयों का वर्णन करता है, लेकिन यदि आप एक त्वरित परिचय और अवलोकन चाहते हैं, तो नीचे पढ़ें।

सही टूलसेट का चयन

वेब पर बहुत सारे माइग्रेशन/रेप्लिकेशन टूल उपलब्ध हैं, और यहां तक कि इस परिदृश्य में अपना खुद का कोड लिखना भी बहुत बड़ा प्रयास नहीं होगा, लेकिन अब तक हमने Logstash और JDBC इनपुट प्लगइन को सबसे अच्छा समाधान पाया है।

Logstash डेटा को इंजेस्ट, ट्रांसफॉर्म और शिप करने के लिए एक स्विस आर्मी नाइफ शैली का टूल है। साथ ही, चूंकि यह Elastic Stack का हिस्सा है, डेटा को Elasticsearch में आसानी से शिप करने की इसकी क्षमता बेजोड़ है। यह Elasticsearch में शिपिंग का ख्याल रखता है, लेकिन आपके रिलेशनल डेटाबेस से डेटा प्राप्त करने के बारे में क्या?

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

कनेक्शन बनाना

जब तक आपके पास JDBC-अनुपालक डेटाबेस और एक संगत ड्राइवर है, कॉन्फ़िगरेशन Logstash को कुछ जानकारी के साथ कॉन्फ़िगर करने जितना आसान है:

  • JDBC कॉन्फ़िगरेशन जानकारी
  • आपके रिलेशनल डेटाबेस के लिए क्रेडेंशियल्स और कनेक्शन जानकारी
  • आपके रिलेशनल डेटाबेस के लिए एक SQL क्वेरी या स्टेटमेंट जो आप चाहते हैं डेटा निकालता है
  • आपके Elasticsearch डेटाबेस के लिए क्रेडेंशियल्स और कनेक्शन जानकारी

यह जानकारी देखते हुए, डेटा को Elasticsearch में फेरबदल करना बेहद आसान है।

महत्वपूर्ण सवाल पूछना

जब आपके रिलेशनल डेटा को Elasticsearch में रेप्लिकेट या माइग्रेट करने की बात आती है, तो डेटा को पॉइंट A से पॉइंट B तक ले जाना केवल आधी लड़ाई है। एक बड़ा और अधिक विचारोत्तेजक सवाल यह है कि आप एक बार Elasticsearch में उस डेटा को कैसे मॉडल करना चाहते हैं। Elasticsearch में रिलेशनल डेटा की समस्या, स्पष्ट रूप से, रिलेशन्स हैं।

हालांकि Elasticsearch पहली और सबसे महत्वपूर्ण एक खोज इंजन है, डेटा मॉडल अनिवार्य रूप से एक डॉक्यूमेंट स्टोर है जिसमें डॉक्यूमेंट्स के बीच रिलेशन्स के लिए केवल न्यूनतम समर्थन है। इस वजह से, आपको इस बारे में कुछ निर्णय लेने होंगे कि आप Elasticsearch में अपने डेटा को कैसे मॉडल करना चाहते हैं।

आम तौर पर प्रस्तुत तीन मानक विकल्प हैं:

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

हालांकि Elasticsearch आपको डेटा से निपटने के लिए कुछ विकल्प देता है, यह वास्तव में आप पर निर्भर करता है कि कौन सी विधि सबसे अच्छा काम करती है और आपकी आवश्यकताओं को पूरा करती है।

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

निर्णय और अधिक विवरण

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

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

हमें उम्मीद है कि आप इसे उपयोगी पाएंगे! हमेशा की तरह, आप sales@objectrocket.com पर संपर्क करके हमसे अधिक जानकारी प्राप्त कर सकते हैं।

  1. क्या आप ब्लैक फ्राइडे और साइबर मंडे के लिए तैयार हैं? आज ही अपने डेटा को सुरक्षित करें क्या आप ब्लैक फ्राइडे और साइबर मंडे के लिए तैयार हैं? आज ही अपने डेटा को सुरक्षित करें

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

  1. Filebeat और Elasticsearch इंजेस्ट पाइपलाइन्स के साथ CSV फाइलों को सहजता से पार्स करें Filebeat और Elasticsearch इंजेस्ट पाइपलाइन्स के साथ CSV फाइलों को सहजता से पार्स करें

    Elasticsearch 5 में सबसे अच्छी नई सुविधाओं में से एक इंजेस्ट नोड है, जो Elasticsearch क्लस्टर में कुछ Logstash-शैली प्रोसेसिंग जोड़ता है, ताकि डेटा को इंडेक्स करने से पहले किसी अन्य सर्विस और/या इंफ्रास्ट्रक्चर की आवश्यकता के बिना ट्रांसफॉर्म किया जा सके। थोड़ी देर पहले, हमने Logstash के साथ CSV फाइ

  1. गूगल सर्च विजिबिलिटी के लिए अपना गूगल पीपल कार्ड कैसे जोड़ें गूगल सर्च विजिबिलिटी के लिए अपना गूगल पीपल कार्ड कैसे जोड़ें

    वर्तमान समय में विज्ञापन और प्रचार अत्यंत आवश्यक हैं। चाहे आपके व्यवसाय के लिए हो या केवल आपके पोर्टफोलियो के लिए, एक मजबूत ऑनलाइन उपस्थिति आपके करियर को बढ़ावा देने में एक लंबा रास्ता तय करती है। गूगल की बदौलत, अब जब कोई गूगल पर आपका नाम खोजता है तो आपको ढूंढना आसान हो गया है। जी हां, आपने सही सुना