डेटाबेसचा इतिहास: डेटाबेस आणि DBMS

फार पूर्वी एका अमेरिकन देशात, एका मोठ्या आयटी कंपनीत, एकदा खूप मोठ्या प्रमाणात डेटा साठवण्याचे काम सुरू झाले. त्याबद्दल काय कठीण आहे, तुम्ही विचारता? शेवटी, मोठ्या कंपन्यांकडे पैसे आहेत, याचा अर्थ आपण अधिक हार्ड ड्राइव्ह खरेदी करू शकता - आणि तेच आहे.

छान कल्पना, परंतु ते म्हणतात त्याप्रमाणे, भूत तपशीलात आहे. मोठ्या प्रमाणात डेटा केवळ संग्रहित केला गेला नाही तर बदलला गेला आणि त्यातून विविध नमुने तयार केले गेले. शिवाय, आपल्याला वेगवेगळ्या ठिकाणांहून भिन्न डेटा निवडण्याची आणि ते द्रुत आणि सुंदरपणे करण्याची आवश्यकता आहे.

सर्वसाधारणपणे, सर्वकाही नेहमीप्रमाणे आहे: ग्राहकांना असे काहीतरी हवे होते जे अस्तित्वात नाही आणि हार्ड ड्राइव्ह खरेदी करण्याचा निर्णय यावेळी कार्य करत नाही.

म्हणून, या आयटी कंपनीच्या प्रोग्रामरनी स्वत: साठी एक मोठे बजेट ठोकले, संशोधन कार्य केले आणि जेव्हा बजेट संपले तेव्हा त्यांनी एक सादरीकरण सादर केले जेथे डेटाबेसच्या रूपात डेटा संग्रहित करण्याचा प्रस्ताव होता. डेटाबेसमध्ये, सर्व डेटा टेबलमध्ये संग्रहित केला जातो आणि प्रत्येक टेबल वेगळ्या फाईलमध्ये संग्रहित केला जातो. कल्पक सर्वकाही सोपे आहे आणि सर्वकाही कार्य करते.

परंतु असे सादरीकरण ग्राहकांना शोभले नाही आणि निट-पिकिंग चालूच राहिले:

  • पैसे कुठे आहेत, लेबोव्स्की?
  • फाईल्सच्या संचाच्या स्वरूपात डेटाच्या चांगल्या जुन्या स्टोरेजपेक्षा डेटाबेस चांगला का आहे?
  • आम्हाला खरोखर एक चांगला उपाय हवा आहे, तेच नाही!
  • आणि संपूर्ण बजेट घेतले?

सादरीकरण कक्षात शांतता पसरली होती. तथापि, अनपेक्षितपणे प्रत्येकासाठी, परिस्थिती एका कनिष्ठ विकासकाने जतन केली होती, ज्याने सांगितले की डेटाबेसशी एक विशेष प्रोग्राम जोडला गेला आहे - एक DBMS (डेटाबेस व्यवस्थापन प्रणाली), जे हे करू शकते:

  • डेटाबेस तयार करा, सुधारा आणि हटवा
  • डेटाबेसमध्ये बदल करा, म्हणजे: नवीन रेकॉर्ड जोडा, जुने हटवा आणि बदला
  • आणि कोणत्याही डेटाच्या विविध निवडी करण्यासाठी सुपर फास्ट

आणि प्रोग्रामर डेटा फिल्टर करण्यासाठी एक विशेष सुपर-लँग्वेज डिझाइन करणे पूर्ण करत आहेत - SQL . आणि ते म्हणतात की या जादुई SQL भाषेच्या मदतीने कोणताही व्यवस्थापक डेटाबेसमधून कोणताही डेटा सहजपणे फिल्टर करू शकतो आणि मिळवू शकतो.

प्रोग्रामरनी अद्याप भाषा डिझाइन करणे पूर्ण केले नाही , म्हणून सादरीकरणामध्ये SQL आणि DBMS बद्दल एक शब्दही नाही.

प्रत्येकाच्या आनंदासाठी, ग्राहकांनी ऐकलेल्या स्पष्टीकरणाने प्रभावित झाले, ही नवीन भाषा कशी असावी याबद्दल अनेक विरोधाभासी कल्पना व्यक्त केल्या आणि तिच्या शुद्धीकरणासाठी बजेट देखील वाटप केले.

प्रकल्प यशस्वीरित्या पूर्ण झाल्याबद्दल व्यवस्थापक आणि तांत्रिक संचालक एकमेकांचे अभिनंदन करू लागले आणि लगेचच हा कार्यक्रम साजरा करण्यासाठी गेले, या संपूर्ण कथेतील कनिष्ठ प्रोग्रामर ही सर्वात महत्वाची व्यक्ती आहे हे पूर्णपणे लक्षात आले नाही ...

लोकप्रिय DBMS आणि MySQL

या क्षणी (उन्हाळा 2022) शेकडो लोकप्रिय DBMS आहेत, त्यामुळे त्यापैकी काहींबद्दल जाणून घेणे तुमच्यासाठी उपयुक्त ठरेल. मी कशापासून सुरुवात करावी...

एकीकडे, एंटरप्राइझ डीबीएमएस मार्केट अनेक दशकांपासून आहे. त्यामुळे त्यात ओळखले जाणारे नेते आणि आश्वासक नवोदित दोघेही आहेत. दुसरीकडे, व्यवसायाच्या गरजा सतत वाढत आहेत, त्यामुळे कंपन्यांच्या आयटी पायाभूत सुविधा निर्माण करण्याच्या दृष्टिकोनात सतत बदल होत आहेत.

आता तुम्ही क्षैतिज आणि उभ्या शार्डिंगसह दोन हजार सर्व्हरच्या क्लस्टरमधील डेटाबेससह कोणालाही आश्चर्यचकित करणार नाही, वितरीत व्यवहार तसेच काही डझन सिस्टम प्रशासकांच्या आयटी विभागाकडे जा आणि त्यानुसार सर्व्हर हार्ड ड्राइव्ह बदलतात. पूर्वनिर्धारित वेळापत्रक.

सर्वसाधारणपणे, जर तुम्ही मोठ्या कंपनीसाठी काम करत असाल तर बहुधा ते त्यांच्या डेटाबेससाठी खूप पैसे देतात आणि असे काहीतरी वापरतात:

ओरॅकल डेटाबेस

ओरॅकलने 1979 मध्ये (43 वर्षांपूर्वी) पहिला डेटाबेस जारी केला. ग्राहकांना हे उत्पादन नवीन नाही, परंतु वेळेनुसार तपासलेले आहे हे पटवून देण्यासाठी तिने लगेचच ओरॅकल 2.0 हे नाव दिले.

डेटाबेसची सध्याची आवृत्ती Oracle 21 c आहे, जिथे c हे अक्षर क्लाउड या शब्दाचे आहे , जे असे सूचित करते की ओरॅकल काळाशी जुळवून घेत आहे आणि त्याचे निराकरण सर्व क्लाउड तंत्रज्ञानाशी पूर्णपणे सुसंगत आहे.

मायक्रोसॉफ्ट एसक्यूएल सर्व्हर

मायक्रोसॉफ्ट विंडोज नव्हे तर मध्यम आणि मोठ्या व्यवसायांसाठी सर्व्हर सोल्यूशन्स विकून भरपूर पैसे कमावते. मायक्रोसॉफ्ट ऑफिस, मायक्रोसॉफ्ट शेअरपॉईंट, मायक्रोसॉफ्ट सर्व्हर इ. आणि अर्थातच, या सर्वांसाठी एक चांगला डेटाबेस आवश्यक आहे. म्हणून, बर्याच कंपन्या, मायक्रोसॉफ्ट उत्पादने आणि उपाय वापरून, त्याचा डेटाबेस वापरण्यास भाग पाडतात.

मायक्रोसॉफ्टच्या डीबीएमएसला फक्त एसक्यूएल सर्व्हर असे म्हणतात , त्यामुळे जर तुम्ही मुलाखतीत “तुम्ही SQL सर्व्हरसोबत काम केले आहे का?” हा प्रश्न ऐकला तर जाणून घ्या की हा अ‍ॅबस्ट्रॅक्ट डीबीएमएस नसून मायक्रोसॉफ्ट एसक्यूएल सर्व्हर आहे.

PostgreSQL

हा एक चांगला विनामूल्य डीबीएमएस आहे, जो केवळ लहान आणि मध्यम आकाराच्या कंपन्यांद्वारेच नव्हे तर मोठ्या कॉर्पोरेशनद्वारे देखील वापरला जातो. अॅमेझॉन AWS DB-म्हणून-सेवा म्हणून ऑफर करत असलेल्या डेटाबेसपैकी हा एक आहे.

MySQL

MySQL हा एक अतिशय लोकप्रिय मोफत आणि मुक्त स्रोत डेटाबेस आहे. हे चांगले दस्तऐवजीकरण केलेले आहे, जलद कार्य करते आणि वैशिष्ट्यांच्या विस्तृत श्रेणीस समर्थन देते. आजपर्यंत, या DBMS ची 8वी आवृत्ती उपलब्ध आहे.

2008 मध्ये ते सनने विकत घेतले होते, जे 2009 मध्ये ओरॅकलने विकत घेतले होते. आणि याचा तिला फक्त फायदा झाला - उत्पादन सतत विकसित आणि सुधारत आहे.

उदाहरण म्हणून MySQL Community Server 8.0 चा वापर करून डेटाबेससह कसे कार्य करायचे ते आपण शिकू .

डेटाबेसमधील सारण्या: स्तंभ आणि स्तंभ

भिन्न डीबीएमएस वेगवेगळ्या फॉरमॅटमध्ये डेटा संचयित करू शकतात, म्हणून आम्ही सर्वात सोपा आणि सर्वात क्लासिक पर्याय घेऊ - MySQL DBMS.

आणि ताबडतोब प्रश्न आहे: कसे संग्रहित करावे, उदाहरणार्थ, कोणतेही लेखा दस्तऐवज? प्रत्येक दस्तऐवज एक्सेल फाइल म्हणून संग्रहित करणे हा सर्वात सोपा पर्याय आहे. त्यानंतर सर्व संबंधित कागदपत्रे एका फोल्डरमध्ये संग्रहित केली जाऊ शकतात. अशा प्रकारे MySQL कार्य करते.

आणखी एक साधर्म्य: Java भाषेत, तुमच्याकडे तुमच्या प्रोजेक्टमध्ये वर्ग आणि पॅकेजेस आहेत , परंतु त्याच वेळी, वर्ग आणि पॅकेजेस डिस्कवर फाइल्स आणि फोल्डर्स म्हणून दर्शविले जातात . असेच काहीतरी MySQL मध्ये अस्तित्वात आहे.

MySQL डेटा टेबलच्या स्वरूपात संग्रहित केला जातो , जो डेटाबेसमध्ये एकत्रित केला जातो , परंतु त्याच वेळी, टेबल आणि डेटाबेस डिस्कवर फाइल्स आणि फोल्डर्स म्हणून सादर केले जातात . डेटाबेस एक फोल्डर आहे आणि त्यातील फाईल्स टेबल्स आहेत.

प्रत्येक सारणीमध्ये स्तंभ आणि पंक्ती असतात . उदाहरण:

महत्वाचे! प्रत्येक स्तंभाला एक नाव आणि डेटा प्रकार असतो , त्यामुळे एकाच स्तंभातील सर्व सेलने समान प्रकारची मूल्ये संग्रहित केली पाहिजेत .

MySQL मधील सारणी आणि Java मधील वर्ग यांच्यात एक समानता काढता येते. टेबल एक वर्ग आहे, टेबल, वर्गाप्रमाणे, एक अद्वितीय नाव आहे. टेबल कॉलम हे क्लास फील्ड आहेत; फील्ड प्रमाणे कॉलम्सना एक अनन्य नाव आणि प्रकार असतो. टेबल पंक्ती जावा मध्ये वर्ग उदाहरणे आहेत.

वस्तूंशिवाय वर्ग अस्तित्वात असू शकतो आणि पंक्तीशिवाय सारणी अस्तित्वात असू शकते. Java मध्ये, तुम्ही एक नवीन ऑब्जेक्ट तयार करू शकता आणि MySQL मध्ये, तुम्ही टेबलमध्ये नवीन पंक्ती जोडू शकता. तुम्ही ऑब्जेक्टची फील्ड व्हॅल्यू बदलू शकता आणि MySQL मध्ये तुम्ही ओळीत व्हॅल्यू बदलू शकता.

टेबल हा वर्ग नसून विशिष्ट वर्गाच्या वस्तूंचा संग्रह आहे असे म्हणणे अधिक योग्य आहे. जर MySQL मध्ये आमच्याकडे कर्मचार्‍यांच्या डेटासह कर्मचारी टेबल असेल, तर Java मध्ये आम्ही ArrayList संग्रह वापरू..

आणि, अर्थातच, प्रश्न लगेच उद्भवतो: या संग्रहातून विशिष्ट डेटा कसा मिळवायचा?