DynamoDB পেজিনেশন: ওভারভিউ, কেস ব্যবহার এবং উদাহরণ

Dynamodb Pejinesana Obharabhi U Kesa Byabahara Ebam Udaharana



প্রচুর পরিমাণে ডেটা পরিচালনা করা ডেটা পরিচালকদের জন্য একটি কঠিন কাজ হতে পারে, প্রধানত যদি আপনার ক্যোয়ারী বা স্ক্যান ফলাফল একাধিক পৃষ্ঠায় চলে। DynamoDB-এ পৃষ্ঠা সংখ্যাকরণ ডাটাবেসকে একাধিক পরিচালনাযোগ্য পৃষ্ঠায় ফলাফলগুলিকে ভাঙ্গার মাধ্যমে বৃহৎ ডেটা পরিমাণ পরিচালনা করতে সক্ষম করে। এটি হাইলাইট করে যে কিভাবে DynamoDB-এর পৃষ্ঠা সংখ্যা অন্যান্য ডাটাবেসের পৃষ্ঠা সংখ্যা থেকে আলাদা।

DynamoDB তে পৃষ্ঠা সংখ্যা কি?

সাধারনত, পেজিনেশন, শব্দ পৃষ্ঠাগুলি থেকে উদ্ভূত একটি কৌশল যা ডেটাবেস দ্বারা ডেটা রেকর্ডগুলিকে একাধিক খণ্ড, সেগমেন্ট বা পৃষ্ঠাগুলিতে বিভক্ত করতে ব্যবহৃত হয়। এবং যেহেতু AWS DynamoDB প্রচুর পরিমাণে ডেটা সঞ্চয় করতে সমর্থন করে, তাই এটিতে নির্ভরযোগ্য পেজিনেশন ক্ষমতা রয়েছে।







DynamoDB পেজিনেশন কম্পোনেন্ট নিশ্চিত করে যে আপনি প্রতি স্ক্যান বা ক্যোয়ারীতে শুধুমাত্র 1 GB পর্যন্ত ডেটা পুনরুদ্ধার করতে পারবেন। যদিও এটি একটি ডিফল্ট সেটিং, আপনি একটি সীমা নির্দিষ্ট করতে একটি ক্যোয়ারীতে একটি সীমা প্যারামিটার যোগ করতে পারেন। আপনি প্রতিটি স্ক্যান ক্যোয়ারীতে রেকর্ডের সংখ্যার জন্য আরও একটি সীমা সেট করতে পারেন।



উল্লেখযোগ্যভাবে, DynamoDB তে পৃষ্ঠা সংখ্যা এবং একটি সাধারণ SQL ডাটাবেসে পৃষ্ঠা সংখ্যার মধ্যে কয়েকটি পার্থক্য বিদ্যমান। স্পষ্টতই, DynamoDB-তে পুনরুদ্ধার করা প্রতিটি পেজিনেটেড রেকর্ড সরাসরি খরচের সাথে আসে, যা DynamoDB-তে পৃষ্ঠা সংখ্যা ব্যবহার করার সময় এটি একটি অলিখিত নিয়ম তৈরি করে। এই বৈশিষ্ট্যটি পুনরুদ্ধার করা রেকর্ড এবং সরাসরি খরচ উভয়ই সীমিত করার জন্য পৃষ্ঠা সংখ্যা একটি গুরুত্বপূর্ণ ফ্যাক্টর করে তোলে।



কিভাবে DynamoDB-তে পৃষ্ঠা সংখ্যা ব্যবহার করবেন





1. একটি ক্যোয়ারী অপারেশন চলাকালীন পৃষ্ঠা সংখ্যা

DynamoDB-তে, একটি প্রশ্ন শুধুমাত্র 1 MB পর্যন্ত ফলাফল প্রদান করে। কিন্তু আপনার ফলাফল যাচাই করে আরও ফলাফল আছে কিনা আপনি কার্যকরভাবে নিশ্চিত করতে পারেন। উল্লেখযোগ্যভাবে, একটি নিম্ন-স্তরের ক্যোয়ারী অপারেশন ফলাফলে একটি LastEvaluatedKey উপাদান রয়েছে যা নন-নাল এটি নির্দেশ করে যে আপনার কোয়েরির সাথে সম্পর্কিত আরও আইটেম রয়েছে যা আপনাকে পুনরুদ্ধার করা উচিত।

একটি LastEvaluatedKey উপাদান ছাড়াই ফলাফল যা অ-নাল, বোঝায় যে সমস্ত আইটেম যা ক্যোয়ারির সাথে মেলে তা 1 MB সীমার মধ্যে ফিট করে এবং পুনরুদ্ধারের জন্য আর কোনও আইটেম নেই৷ অবশ্যই, আপনি ফলাফল প্রতি আইটেম সংখ্যা জন্য একটি সীমা সেট করতে পারেন. নিম্নলিখিত নমুনা কমান্ড দেখুন:



aws dynamodb প্রশ্ন \

--টেবিল-নাম MyTableName \

--কী-কন্ডিশন-অভিব্যক্তি 'PartitionKey = :pk \

--এক্সপ্রেশন-অ্যাট্রিবিউট-মান '{'
:pk ':{' এস ':' a1234b '}},

--সীমা 10 \

আপনি একই কী শর্ত অভিব্যক্তি মান সহ আইটেমগুলির জন্য আপনার টেবিলটি জিজ্ঞাসা করতে পূর্ববর্তী কমান্ডটি ব্যবহার করতে পারেন। ড্যারি টেক থেকে অর্ডার_আইডির জন্য আমাদের 'অর্ডার' টেবিল অনুসন্ধান করুন। আমরা প্রতি পৃষ্ঠায় 10টি আইটেমের একটি সীমাও সেট করেছি। -সীমা প্যারামিটারের জন্য আরেকটি বিকল্প হল একই উদ্দেশ্যে -পৃষ্ঠা-আকারের প্যারামিটার ব্যবহার করা।

পেজিনেশন হল AWS CLI-তে 1MB ডেটার নিচের আইটেমের জন্য একটি স্বয়ংক্রিয় অপারেশন। আপনি কমান্ডে একটি এক্সক্লুসিভ স্টার্ট কী যোগ করতে পারেন যদি আপনি চান যে আপনার ক্যোয়ারী একটি নির্দিষ্ট অর্ডার থেকে শুরু হোক।

প্রতিক্রিয়া এই মত দেখায়:

প্রদত্ত ফলাফল প্রথম পৃষ্ঠায় 10টি ড্যারি টেক দেখায়। আপনি LastEvaluatedKey মানগুলি ব্যবহার করে আরও অর্ডার পেতে পারেন যা একটি নতুন ক্যোয়ারী তৈরি করতে আপনার অনুসন্ধানের অভিব্যক্তি কী মানগুলির সাথে মেলে৷ নতুন ক্যোয়ারী অনুরোধে ExclusiveStartKey প্যারামিটারে LastEvaluatedKey মান রয়েছে।

সিনট্যাক্সের একটি উদাহরণ নিম্নলিখিতটিতে দেখানো হয়েছে:

aws dynamodb প্রশ্ন \

--টেবিল-নাম উদাহরণ সারণী \

--কী-কন্ডিশন-অভিব্যক্তি 'PartitionKey = :pk \

--এক্সপ্রেশন-অ্যাট্রিবিউট-মান '{'
:pk ':{' এস ': ড্যারি টেক' \

--সীমা 10 \

--এক্সক্লুসিভ-স্টার্ট-কী '{'
পার্টিশন কী ':{' এস ': ড্যারি টেক' }, 'SortKey' :{ 'এস' : '5356' }} '

পূর্ববর্তী কমান্ড পরবর্তী পৃষ্ঠায় পরবর্তী সেটঅফ অর্ডারগুলি তৈরি করে, অর্ডার আইডি দিয়ে শুরু করে যেখানে নির্দিষ্ট প্রাথমিক কী রয়েছে, যেমন {“PartitionKey”:{“S”: Darry Tech”},”SortKey”:{“S”: ”5356-sy”}}।

2. স্ক্যান অপারেশন চলাকালীন পৃষ্ঠা সংখ্যা

স্ক্যান অপারেশনের জন্য পৃষ্ঠা সংখ্যা ব্যবহার করাও সম্ভব। সবকিছু ক্যোয়ারী কমান্ডের মতো একইভাবে কাজ করে। যাইহোক, আপনাকে ফিল্টার-এক্সপ্রেশন অ্যাট্রিবিউট ব্যবহার করতে হবে। কমান্ডটি আমাদের এখানে যা আছে তার মতো দেখাচ্ছে:

aws dynamodb স্ক্যান \

--টেবিল-নাম MyTable \

--ফিল্টার-অভিব্যক্তি 'AttributeName = :value' \

--প্রকাশ-অ্যাট্রিবিউট-মান '{':value':{'S':'ABC123'}}' \

--সীমা বিশ \

--এক্সক্লুসিভ-স্টার্ট-কী '{'PartitionKey':{'S':'ABC123'},'SortKey':{'S':'XYZ987'}}'

পূর্ববর্তী কমান্ডটি MyTable টেবিল থেকে প্রতি পৃষ্ঠায় 20টি আইটেম অবসর নেয়, যে আইটেমটির প্রাথমিক কী হল {“PartitionKey”: “ABC123”, “SortKey”: “XYZ987”} দিয়ে। এটি শুধুমাত্র সেই আইটেমগুলিকে অন্তর্ভুক্ত করতে ফলাফলগুলিকে ফিল্টার করে যেখানে AttributeName অ্যাট্রিবিউটের 'ABC123' মান রয়েছে৷

প্রতিক্রিয়ায়, দ LastEvaluatedKey ক্ষেত্রের ফলাফল সেটের শেষ আইটেমের প্রাথমিক কী রয়েছে। আপনি হিসাবে এই মান ব্যবহার করতে পারেন ExclusiveStartKey পরবর্তীতে স্ক্যান ফলাফলের পরবর্তী পৃষ্ঠা পুনরুদ্ধার করার জন্য অপারেশন।

উপসংহার

DynamoDB-তে পৃষ্ঠা সংখ্যা ডেটার ব্যবস্থাপনার উন্নতি করে। যাইহোক, আপনার সিস্টেমগুলি পেজিনেশন থেকে উপকৃত হবে কিনা তা জানা অত্যাবশ্যক৷ আপনার যদি একটি অ্যাপ্লিকেশনে আইটেমগুলির একটি দীর্ঘ তালিকা থাকে তবে পৃষ্ঠা সংখ্যা ব্যবহার করা প্রয়োজন। যদিও প্রদত্ত চিত্রটি AWS CLI কলের উপর ফোকাস করে, আপনি AWS SDK যেমন Python's Boto3 বা আপনার পছন্দের যেকোন SDK-এর সাথে পেজিনেশন ব্যবহার করতে পারেন।