একটি SSTable কি?


111

বিগ টেবিল / জিএফএস এবং ক্যাসান্দ্রার পরিভাষায় এসএসটিবেলের সংজ্ঞা কী?


3
এটি এসএসটিবেলে একটি দুর্দান্ত পরিচয় পোস্ট: igvita.com/2012/02/06/…
তাহা জাহাঙ্গীর

উত্তর:


105

সাজানো স্ট্রিংস টেবিল (গুগল থেকে ধার করা) কী / মান স্ট্রিং জোড়াগুলির একটি ফাইল যা কী অনুসারে বাছাই করে


4
আর একটি দুর্দান্ত এসও ক্যাসান্দ্রার উত্তরের জন্য ধন্যবাদ! : BTW, আপনি যদি এই প্রশ্নের দেখেছি stackoverflow.com/questions/2573106/...
knorv

এটি কি সাধারণত অপরিবর্তনীয়?
ডিন জে

1
হ্যাঁ, স্টেস্টেবলগুলি ডিজাইনের মাধ্যমে অপরিবর্তনীয় - যা একটি দুর্দান্ত বৈশিষ্ট্য
শিল্ডমাইজার

কীভাবে এটি উভয়কে বাছাই করা যায় এবং অপরিবর্তনীয় হয়?
xjcl

56

"একটি এসএসটিবল কী থেকে মানগুলিতে স্থায়ী, আদেশযুক্ত অবিচ্ছেদ্য মানচিত্র সরবরাহ করে, যেখানে কী এবং মান উভয়ই নির্বিচারে বাইট স্ট্রিং থাকে Ope অপারেশনগুলি একটি নির্দিষ্ট কীটির সাথে সম্পর্কিত মানটি অনুসন্ধান করার জন্য এবং একটিতে সমস্ত কী / মান জোড়গুলির পুনরাবৃত্তি করতে সরবরাহ করা হয় a নির্দিষ্ট কী পরিসীমা নির্দিষ্ট করে দেওয়া হয়েছে অভ্যন্তরীণভাবে, প্রতিটি এসএসটিবেলে ব্লকের অনুক্রম থাকে (সাধারণত প্রতিটি ব্লক আকারে 64KB হয় তবে এটি কনফিগারযোগ্য) একটি ব্লক সূচক (এসএসটিবলের শেষে সঞ্চিত) ব্লকগুলি সনাক্ত করতে ব্যবহৃত হয়; সূচকটি লোড হয় এসএসটিবেলটি খোলার পরে স্মৃতিতে। একক ডিস্ক সন্ধানের সাথে একটি অনুসন্ধান করা যেতে পারে: আমরা প্রথমে ইন-মেমরি সূচীতে বাইনারি অনুসন্ধান করে উপযুক্ত ব্লকটি খুঁজে পাই এবং তারপরে ডিস্ক থেকে উপযুক্ত ব্লকটি পড়ে readingচ্ছিকভাবে, একটি এসএসটিবল স্মৃতিতে পুরোপুরি ম্যাপ করা যায়, যা আমাদের ডিস্ক স্পর্শ না করেই লকআপ এবং স্ক্যান করতে দেয়।"


4
"ডিস্ক স্পর্শ না করে" -> "ডিস্কটি স্পর্শ করা হচ্ছে তা অবগত না হয়ে"। মেমোরি ম্যাপ করা আইও হ'ল একটি খুব সহজ কৌশল কারণ এটি প্রকৃত আইও-কে ওএসের কাছে প্রেরণ করে, ধরে নিয়ে এটি ক্যাশে করাতে ভাল কাজ করতে পারে (বিশেষত যখন বেশ কয়েকটি প্রক্রিয়া একই ফাইল ভাগ করে নেয়)। তবে এর অসুবিধাটিও রয়েছে যে এটির আপনার নিয়ন্ত্রণ নেই। পৃষ্ঠাটি মেমরির বাসিন্দা না হলে থ্রেডটি ব্লক হয়ে যাবে এবং অন্যান্য ক্রিয়াকলাপ সম্পাদন করতে পারে না; এটি "async IO" এর সাথে বিপরীতে করুন, যেখানে আপনি কলব্যাকটি নিবন্ধভুক্ত করতে পারেন এবং একই থ্রেডে অন্য জিনিসগুলি করতে পারেন, যখন আইও মুলতুবি রয়েছে।
ithkuil

2
@ithkuil: আপনি নিখুঁতভাবে নিশ্চিত হতে পারেন যে নির্দিষ্ট পৃষ্ঠাগুলি মেমরির মধ্যে রয়েছে বা ডিস্কে প্রতিশ্রুতিবদ্ধ হয়েছে এমন নিশ্চয়তা দিতে পারা মেমরির আইওপি মেমরির নিয়ন্ত্রণ রাখতে পারে (যে পৃষ্ঠাগুলির গ্যারান্টি নেই এমন পৃষ্ঠাগুলির জন্য এখনও উইগল রুম রয়েছে is স্মৃতি কিন্তু খুব ভাল হতে পারে)। মলক (), মাইএনসিএন (), এবং এমএপি_লোকডের মতো বিস্ময়কর জিনিসগুলি এগুলি সম্পর্কে। আপনি বর্তমানে মিনকোর () এর মাধ্যমে কী রয়েছে এবং পৃষ্ঠাটি কী নয় তা একটি বোধগম্যতা পেতে পারেন।
ক্রিস্টোফার স্মিথ

2
@ ক্রিস্টোফারস্মিথ: হ্যাঁ আপনি ঠিক বলেছেন, এটি নিয়ন্ত্রণ করার উপায় রয়েছে। তবে সাধারণত এটি সমালোচনামূলক পারফরম্যান্স বিভাগ (রিয়েলটাইম) বা সুরক্ষা সম্পর্কিত সমস্যাগুলির জন্য ব্যবহৃত হয় (যেমন এড়ানো এড়ানো যে মেমরির একটি পাসওয়ার্ড ডিস্কে সরে যায়)। মেমরি ম্যাপযুক্ত ফাইলগুলি হুবহু দরকারী কারণ এই কারণে যে এগুলির মধ্যে কতটি মেমোরিতে রাখতে হবে আপনাকে তা সিদ্ধান্ত নিতে হবে না; অন্যথায় আপনি কেবল এমএমএপ ছাড়াই মেমরিতে পুরো ফাইলটি পড়তে পারেন এবং একই প্রভাব অর্জন করতে পারেন। আসলে, আমি কেবল ক্যাসান্দ্রা কোডটি দিয়েছিলাম; একমাত্র কলটি mlockall(MCL_CURRENT);শুরুতে হয়। আরও দেখুন: goo.gl/AEgPM
ithkuil


4

একটি ট্যাবলেট এসএসটিবলগুলির আকারে সঞ্চয় করা হয়।

এসএসটেবল (সরাসরি জিএফএসে ম্যাপ করা) হ'ল কী-মান ভিত্তিক অপরিবর্তনীয় স্টোরেজ। এটি তথ্য খণ্ডিত করে, প্রতিটি 64KB এর।

সজ্ঞা:

  • কীগুলির সূচক: কী এবং শুরুর অবস্থান
  • অংশ হ'ল জিএফএসের স্টোরেজ ইউনিট, প্রতিলিপি পরিচালনাগুলি অংশ দ্বারা unk

3
  • এসএসটেবল (ইঞ্জিল। সাজানো স্ট্রিংস টেবিল) কী / মান স্ট্রিং জোড়াগুলির একটি ফাইল যা কী অনুসারে বাছাই করে।

  • একটি এসএসটিবেবল কী থেকে মানগুলিতে একটি অবিচ্ছিন্ন, আদেশযুক্ত অপরিবর্তনীয় মানচিত্র সরবরাহ করে, যেখানে কী এবং মান উভয়ই নির্বিচারে বাইট স্ট্রিং রয়েছে।

  • অভ্যন্তরীণভাবে, প্রতিটি এসএসটিবেলে ব্লকের ক্রম থাকে (সাধারণত
    প্রতিটি ব্লক আকারে 64KB, তবে এটি কনফিগারযোগ্য)।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.