A look at the top reasons why teams decide to leave DynamoDB: throttling, latency, item size limits, and limited flexibility…not to mention costs पूर्ण अस्वीकरण: मैं DynamoDB से प्यार करता हूं. यह बड़े पैमाने पर साबित किया गया है और यह बैक-एंड है जो कई उद्योग नेताओं ने कई वर्षों से व्यवसाय के लिए महत्वपूर्ण कार्य भारों को चलाने के लिए उपयोग किया है. यह भी AWS पारिस्थितिकी तंत्र के भीतर अच्छी तरह से फिट है, जिससे इसे शुरू करना, अन्य AWS उत्पादों के साथ एकीकृत करना और आपकी कंपनी के विकास के रूप में इसे पकड़ना बहुत आसान है. पूर्ण अस्वीकरण: मैं DynamoDB से प्यार करता हूं. यह बड़े पैमाने पर साबित किया गया है और यह बैक-एंड है जो कई उद्योग नेताओं ने कई वर्षों से व्यवसाय के लिए महत्वपूर्ण कार्य भारों को चलाने के लिए उपयोग किया है. यह भी AWS पारिस्थितिकी तंत्र के भीतर अच्छी तरह से फिट है, जिससे इसे शुरू करना, अन्य AWS उत्पादों के साथ एकीकृत करना और आपकी कंपनी के विकास के रूप में इसे पकड़ना बहुत आसान है. लेकिन (हम आशा करते हैं!), एक समय आता है जब आपका संगठन काफी महत्वपूर्ण रूप से स्केल करता है. बड़े पैमाने पर विकास के साथ, लागत वहां के अधिकांश कंपनियों के लिए एक प्राकृतिक चिंता बन जाती है, और डायनामोडीबी को अक्सर इसकी वजह से भुगतान के लिए मुख्य कारणों में से एक के रूप में उल्लेख किया जाता है। सेवा मॉडल ऑपरेशन के लिए भुगतान आप शायद सोच रहे हैं: ओह, यह एक और पोस्ट है जो मुझे आश्वस्त करने की कोशिश कर रही है कि डायनामोडीबी लागत बहुत अधिक है, और मुझे आपकी डेटाबेस पर स्विच करना चाहिए, जो आप दावा करेंगे कि यह कम महंगा है। हालांकि लागत निश्चित रूप से एक डेटाबेस समाधान चुनते समय एक महत्वपूर्ण विचार है (और ScyllaDB DynamoDB के मुकाबले काफी प्रभावशाली मूल्य प्रदर्शन प्रदान करता है), यह हमेशा सबसे महत्वपूर्ण विचार नहीं है। यदि लागत आपके लिए एक महत्वपूर्ण विचार है, तो कई अन्य संसाधन हैं जिन्हें आप समीक्षा कर सकते हैं। ScyllaDB vs. DynamoDB Benchmark: Workloads पर मूल्य प्रदर्शन की तुलना एलेक्स डेबरी का लेख DynamoDB लागत के बारे में आपको कैसे सोचना चाहिए Tobias Schmidt के बहुत व्यापक अमेज़ॅन DynamoDB मूल्य समझाया लेकिन चलो कहानी को बदलते हैं, और अन्य पहलुओं पर चर्चा करते हैं जिन्हें आपको DynamoDB से दूर जाने का निर्णय लेने पर विचार करना चाहिए। HTTPS://WW.SCYLLADB.COMDynamoDB लागत अनुकूलन मास्टरक्लासयह मास्टरक्लास आपको DynamoDB लागत अनुकूलन और अन्य AWS विकल्पों पर रणनीतियां सिखाएगा जो आपकी तकनीकी जरूरतों के अनुरूप हैं। HTTPS://WW.SCYLLADB.COMDynamoDB लागत अनुकूलन मास्टरक्लासयह मास्टरक्लास आपको DynamoDB लागत अनुकूलन और अन्य AWS विकल्पों पर रणनीतियां सिखाएगा जो आपकी तकनीकी जरूरतों के अनुरूप हैं। HTTPS://WW.SCYLLADB.COMDynamoDB लागत अनुकूलन मास्टरक्लासयह मास्टरक्लास आपको DynamoDB लागत अनुकूलन और अन्य AWS विकल्पों पर रणनीतियां सिखाएगा जो आपकी तकनीकी जरूरतों के अनुरूप हैं। HTTPS://WWW.एससीएलएडीबी.COM DynamoDB लागत अनुकूलन मास्टरक्लास यह मास्टरक्लास आपको DynamoDB लागत अनुकूलन और अन्य AWS विकल्पों पर रणनीतियों सिखाएगा जो आपकी तकनीकी जरूरतों के अनुरूप हैं। HTTPS://WWW.एससीएलएडीबी.COM DynamoDB लागत अनुकूलन मास्टरक्लास यह मास्टरक्लास आपको DynamoDB लागत अनुकूलन और अन्य AWS विकल्पों पर रणनीतियों सिखाएगा जो आपकी तकनीकी जरूरतों के अनुरूप हैं। DynamoDB थ्रोटलिंग किसी भी परिप्रेक्ष्य में गड़बड़ करना मजेदार नहीं है। अगर आपने इसे देखा है, तो आपने शायद इसे नफरत किया है और इसके साथ जीना सीखा है. कुछ लोग यह भी दावा कर सकते हैं कि वे इसे अच्छी तरह से समझने के बाद प्यार करते हैं. ProvisionedThroughputExceededException विभिन्न तरीकों से आप DynamoDB throttling के शिकार बन सकते हैं. वास्तव में, यह अक्सर होता है कि AWS को भी एक यहां की सिफारिशों में से एक "आउट-डिमांड मोड पर स्विच" है, इससे पहले कि वास्तव में समान रूप से वितरित एक्सेस पैटर्न पर चर्चा की जाए। समर्पित समस्या निवारण पृष्ठ DynamoDB के ग्रोटलिंग के साथ मुख्य समस्या यह है कि यह काफी देरी को नुकसान पहुंचाती है. Zipfian वितरण के साथ कार्य भार इसके लिए संवेदनशील हैं ... और हाल के संदर्भ में प्राप्त परिणाम सुंदर नहीं हैं: उस बेंचमार्क के दौरान, यह स्पष्ट हो गया कि ड्रॉटलिंग प्रभावित विभाजन को अवरुद्ध करने का कारण बन सकता है यह आपके P99 शेफ लाटेक्शन को बहुत बढ़ाता है। 2.5 seconds हालांकि यह सच है कि अधिकांश डेटाबेस में कुछ अंतर्निहित ग्रोटलिंग तंत्र है, DynamoDB ग्रोटलिंग बस बहुत आक्रामक है. यह संभावना नहीं है कि आपकी एप्लिकेशन अधिक स्केल करने में सक्षम होगी यदि यह अक्सर DynamoDB विभाजन या तालिका सीमाओं को पार करने वाले आइटमों के एक विशिष्ट सेट तक पहुंचने के लिए होता है. अंतर्दृष्टि कह सकती है, "ठीक है, अगर हम DynamoDB सीमाओं को हिट कर रहे हैं, तो चलो इसके सामने एक कैश डालते हैं! यह - वास्तव में - DynamoDB Accelerator के ग्रोथलिंग के लिए सटीक मानदंडों पर कठिन संख्याओं को खोजने के लिए विशेष रूप से कठिन है, जो मुख्य रूप से सीपीयू उपयोग (जो नहीं है) को लक्षित करता है। ) आपको नीचे गिराएं लोड shedding के लिए सर्वश्रेष्ठ मानदंड DynamoDB लाटेंसी आप तर्क दे सकते हैं कि ऊपर दिखाया गया Zipfian वितरण DynamoDB के Achilles पैर को लक्षित करता है, और AWS समाधान कार्य भारों के लिए बेहतर फिट है जो एक समान प्रकार के वितरण का पालन करते हैं. हम सहमत हैं. हमने इस धारणा के तहत DynamoDB का भी परीक्षण किया है: DynamoDB के मीठे बिंदु के भीतर भी, P99 लाटेन्स विभिन्न परिदृश्यों में ScyllaDB की तुलना में काफी अधिक हैं। बेशक, आप यहां प्रस्तुत किए गए लोगों की तुलना में कम DynamoDB latencies प्राप्त करने में सक्षम हो सकते हैं. Yet, DynamoDB falls short when required to deliver higher throughputs, causing latencies to eventually start to degrade. ऐसे पिक से बचने का एक तरीका यह है कि DynamoDB Accelerator (या किसी अन्य कैशिंग समाधान, वास्तव में) का उपयोग करने के लिए एक महान प्रदर्शन बढ़ाने के लिए। अपने डेटाबेस के सामने कैश रखना अक्सर एक बुरा विचार क्यों है के बारे में अधिक जानने के लिए, आप इस वीडियो को देखना चाहते हैं . ScyllaDB के साथ अपने कैश को बदलना DynamoDB आइटम आकार सीमा प्रत्येक डेटाबेस में एक आइटम आकार सीमा होती है, जिसमें DynamoDB शामिल है. हालांकि, 400KB सीमा अंततः आपके लिए बहुत प्रतिबंधित हो सकती है. Alex DeBrie इस पर थोड़ा प्रकाश डालता है और अपने में इसके पीछे के कुछ कारणों को पूरी तरह से समझाता है : DynamoDB सीमाओं पर ब्लॉग "तो इस प्रतिबंध का क्या कारण है? DynamoDB आपको बता रहा है कि आपको एक OLTP डेटाबेस में अपने डेटा को कैसे मॉडलिंग करना चाहिए. ऑनलाइन लेन-देन प्रोसेसिंग (या OLTP) सिस्टम को एक डेटाबेस के खिलाफ बड़ी मात्रा में छोटे ऑपरेशनों की विशेषता है. (...) इन ऑपरेशनों के लिए, आप तेजी से और कुशलता से विशिष्ट क्षेत्रों पर फ़िल्टर करना चाहते हैं ताकि आप जो जानकारी चाहते हैं, जैसे कि एक उपयोगकर्ता नाम या एक ट्विटर आईडी खोजें. OLTP डेटाबेस अक्सर कुछ क्षेत्रों पर इंडेक्स का उपयोग करते हैं ताकि खोजों को तेजी से किया जा सके और हाल ही में एक्सेस किए गए डेटा को रैम में रखें। "तो इस प्रतिबंध का क्या कारण है? DynamoDB आपको बता रहा है कि आपको एक OLTP डेटाबेस में अपने डेटा को कैसे मॉडलिंग करना चाहिए. ऑनलाइन लेन-देन प्रोसेसिंग (या OLTP) सिस्टम को एक डेटाबेस के खिलाफ बड़ी मात्रा में छोटे ऑपरेशनों की विशेषता है. (...) इन ऑपरेशनों के लिए, आप तेजी से और कुशलता से विशिष्ट क्षेत्रों पर फ़िल्टर करना चाहते हैं ताकि आप जो जानकारी चाहते हैं, जैसे कि एक उपयोगकर्ता नाम या एक ट्विटर आईडी खोजें. OLTP डेटाबेस अक्सर कुछ क्षेत्रों पर इंडेक्स का उपयोग करते हैं ताकि खोजों को तेजी से किया जा सके और हाल ही में एक्सेस किए गए डेटा को रैम में रखें। हालांकि यह सच है कि छोटे फील्ड लोड (या आइटम) आमतौर पर बेहतर लाटेंस प्रदान करेंगे, एक हार्ड सीमा को लागू करना सबसे अच्छा विचार नहीं हो सकता है. ScyllaDB उपयोगकर्ता जो DynamoDB पारिस्थितिकी तंत्र को छोड़ने का फैसला करते हैं, अक्सर इस सीमा को उल्लेख करते हैं, इसे अपने अनुप्रयोग कार्यक्षमता के लिए एक प्रमुख अवरोधक के रूप में रखा जाता है। यदि आप इस तरह के आइटम को DynamoDB में संग्रहीत नहीं कर सकते हैं, तो आप क्या करते हैं? आप शायद अपने उपयोगिता भार के प्रासंगिक भागों को दबाने या उन्हें अन्य मीडिया में संग्रहीत करने जैसे रणनीतियों के साथ आते हैं, जैसे कि AWS S3। ScyllaDB में, हम एक अलग दृष्टिकोण लेते हैं: एक डिफ़ॉल्ट रूप से 16 एमबी तक का आकार हो सकता है (यह कॉन्फ़िगर किया जा सकता है)। हम मानते हैं कि आपको यह तय करने में सक्षम होना चाहिए कि आपके और आपके आवेदन के लिए सबसे अच्छा क्या काम करता है. हम आपको किसी भी तरह से सीमित नहीं करेंगे. mutation स्वतंत्रता के बारे में बात करते हुए: चलो ... DynamoDB की सीमित F पढ़ाई रिलीज रिलीज यह एक काफी आसान है। DynamoDB पूरी तरह से एडब्ल्यूएस पारिस्थितिकी तंत्र के भीतर एकीकृत होता है. लेकिन यह वही है जहां लाभ समाप्त होता है. जैसे ही आप एक मल्टी-क्लाउड रणनीति में शामिल हो जाते हैं या किसी अन्य क्लाउड प्रदाता के लिए स्विच करने का निर्णय लेते हैं, या शायद अप्रत्यक्ष (एडब्ल्यूएस आउटपोस्ट्स पर मुझे शुरू न करें!), आपको अनिवार्य रूप से अपने कार्य भार के लिए एक और जगह ढूंढने की आवश्यकता होगी। बेशक, आप भविष्य की भविष्यवाणी नहीं कर सकते हैं, लेकिन आप भविष्य की समस्याओं से बच सकते हैं. यही अच्छे इंजीनियरों को शानदार से अलग करता है: क्या आपका समाधान आपके संगठन की बढ़ती मांगों को संबोधित करने के लिए तैयार है. आखिरकार, आप ऐसी स्थिति में नहीं रहना चाहते हैं जहां आपको एक नई तकनीक सीखने, अपने आवेदन को बदलने, नए डीबीएमएस में लोड परीक्षण करने, डेटा को स्थानांतरित करने, संभावित रूप से कई आपूर्तिकर्ताओं का मूल्यांकन करने की आवश्यकता होती है ... अक्सर, यह आपके संगठन के आकार और शामिल कार्य भार की संख्या के आधार पर एक बहुवर्षीय परियोजना बन सकती है। DynamoDB कार्य भार स्वाभाविक रूप से ScyllaDB के लिए एक अच्छा फिट है. अक्सर नहीं, आप बस एक ही डेटा मॉडलिंग का पालन कर सकते हैं जो आपके पास पहले से ही DynamoDB में है और इसे ScyllaDB पर उपयोग कर सकते हैं। – यदि आप अपने डेटाबेस के साथ संचार करने के लिए एक ही एपीआई का उपयोग करना जारी रखना चाहते हैं तो आपको आसानी से स्थानांतरण करने की अनुमति दें, इस प्रकार कोड में कम परिवर्तन की आवश्यकता होती है। ScyllaDB Alternator – एक खुला स्रोत DynamoDB संगत एपीआई अंतिम टिप्पणी यह कई दिलचस्प वास्तविक जीवन कहानियों को कवर करता है, जिनमें से कुछ हमने यहां कवर किए गए बिंदुओं को छूते हैं। प्रसिद्ध समुदाय प्रतिक्रिया के बावजूद, इसमें अन्य विचारों की एक उचित सूची शामिल है जिन्हें आप DynamoDB के साथ पकड़ने से पहले जानना चाहते हैं। लोगों, मुझे DynamoDB पर शुरू मत करो ... फिर भी, इस लेख का पहला वाक्य सच रहता है: मैं डायनामोडीबी से प्यार करता हूं. यह एक शानदार फिट और एक आर्थिक समाधान है जब आपकी कंपनी या उपयोग के मामले में कम प्रवाह आवश्यकताएं हैं या कुछ अप्रत्याशित देरी पिक्स से परेशान नहीं होते हैं। जैसा कि आप बढ़ते हैं, डेटा मॉडलिंग और सुनिश्चित करें कि आप DynamoDB की कठोर सीमाओं को पार नहीं करते हैं, यह विशेष रूप से चुनौतीपूर्ण हो सकता है। एक डेटाबेस का चयन करते समय, यह अंतिम रूप से काम के लिए सही उपकरण चुनने के बारे में है. ScyllaDB निश्चित रूप से वहां हर DynamoDB उपयोग के मामले के लिए एक प्रतिस्थापन नहीं है. लेकिन जब एक टीम को उच्च पारगमन और कम लाटेन्स, ScyllaDB हमेशा सही विकल्प है। predictable