Architecture Decision Record

Active theme: Light

← निर्णय नोंद उदाहरणे

आर्किटेक्चर निर्णय नोंद: डेटाबेस तंत्रज्ञान निवडणे

स्थिती

स्वीकारले

संदर्भ

आम्ही नवीन अनुप्रयोग डिझाइन करत आहोत ज्याला प्रमाण वाढवता येईल आणि कार्यक्षम पद्धतीने डेटा साठवणे आणि पुन्हा मिळवणे आवश्यक आहे. आम्ही सामान्यतः वापरल्या जाणाऱ्या तीन प्रकारच्या डेटाबेस तंत्रज्ञानांची ओळख पटवली आहे: रिलेशनल डेटाबेस, डॉक्युमेंट डेटाबेस आणि इव्हेंट डेटाबेस.

रिलेशनल डेटाबेस निश्चित स्कीमा असलेल्या तक्त्यांमध्ये डेटा साठवतात आणि कठोर डेटा अखंडता मर्यादा लागू करतात. ते गुंतागुंतीचे डेटा संबंध आणि व्यवहारांची गरज असलेल्या अनुप्रयोगांसाठी योग्य आहेत. उदाहरणांमध्ये MySQL, PostgreSQL आणि Oracle यांचा समावेश आहे.

डॉक्युमेंट डेटाबेस JSON-सारख्या दस्तऐवजांमध्ये डेटा साठवतात आणि स्कीमाविरहित असतात. ते लवचिक डेटा मॉडेल आणि क्षैतिज प्रमाण वाढवण्याची गरज असलेल्या अनुप्रयोगांसाठी योग्य आहेत. उदाहरणांमध्ये MongoDB, Couchbase आणि Amazon DynamoDB यांचा समावेश आहे.

इव्हेंट डेटाबेस डेटाच्या प्रत्येक बदलाची नोंद ठेवत, घटनांच्या मालिकेच्या स्वरूपात डेटा साठवतात. ते लेखापरीक्षण, इव्हेंट सोर्सिंग आणि गुंतागुंतीची डेटा प्रक्रिया आवश्यक असलेल्या अनुप्रयोगांसाठी योग्य आहेत. उदाहरणांमध्ये Apache Kafka, Apache Pulsar आणि AWS Kinesis यांचा समावेश आहे. निर्णय

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

तर्क

आम्ही डॉक्युमेंट डेटाबेस निवडला आहे कारण:

१. आमच्या अनुप्रयोगाला कालांतराने विकसित होऊ शकणारे लवचिक डेटा मॉडेल हवे आहे. डॉक्युमेंट डेटाबेस आम्हाला स्कीमाविरहित स्वरूपात डेटा साठवू देतात, म्हणजे डेटाबेस स्कीमा न बदलता आम्ही नवीन फील्ड जोडू शकतो किंवा विद्यमान दस्तऐवजांची रचना बदलू शकतो.

२. मोठ्या प्रमाणातील डेटा आणि रहदारी हाताळण्यासाठी आमच्या अनुप्रयोगाला क्षैतिजरीत्या प्रमाण वाढवण्याची गरज आहे. डॉक्युमेंट डेटाबेस शार्डिंग आणि प्रतिकृतीसाठी अंगभूत समर्थन पुरवतात, ज्यामुळे आम्ही अनेक सर्व्हरवर डेटा वितरित करू शकतो आणि उच्च वाचन-लेखन थ्रूपुट हाताळू शकतो.

३. आमच्या अनुप्रयोगाला जलद आणि कार्यक्षम डेटा पुनर्प्राप्ती हवी आहे. डॉक्युमेंट डेटाबेस शक्तिशाली इंडेक्सिंग आणि क्वेरी क्षमता पुरवतात ज्यामुळे आम्ही डेटा जलद आणि कार्यक्षमतेने पुन्हा मिळवू शकतो.

४. आमच्या अनुप्रयोगाला गुंतागुंतीचे व्यवहार किंवा डेटा संबंधांची गरज नाही. रिलेशनल डेटाबेस डेटा अखंडता मर्यादा लागू करण्यात आणि गुंतागुंतीचे व्यवहार हाताळण्यात उत्कृष्ट असले तरी, आमच्या अनुप्रयोगाच्या अशा आवश्यकता नाहीत. डॉक्युमेंट डेटाबेस आमच्या वापरासाठी पुरेशी सुसंगतता आणि टिकाऊपणाची हमी देऊ शकतात.

परिणाम

डॉक्युमेंट डेटाबेस निवडल्याने, आम्ही वापरण्यासाठी निवडलेल्या विशिष्ट तंत्रज्ञानाचे शिक्षण आणि समज यात आम्हाला गुंतवणूक करावी लागेल. याव्यतिरिक्त, कामगिरी आणि प्रमाण वाढवण्याची क्षमता जास्तीत जास्त करण्यासाठी आमच्या अनुप्रयोगाचे डेटा मॉडेल डॉक्युमेंट डेटाबेसच्या डेटा मॉडेलशी चांगले जुळते याची आम्हाला खात्री करावी लागेल.

तथापि, आमचा विश्वास आहे की डॉक्युमेंट डेटाबेस वापरण्याचे फायदे खर्चापेक्षा जास्त आहेत, आणि तो आमच्या अनुप्रयोगाच्या आवश्यकता आणि मर्यादांना सर्वात योग्य आहे.