উত্তর:
একটি কলাম-ওরিয়েন্টেড ডাটাবেস (= কলামার ডেটা-স্টোর) ডিস্কের কলাম অনুসারে একটি সারণী কলামের ডেটা সংরক্ষণ করে, যখন একটি সারি-ভিত্তিক ডাটাবেস সারি দ্বারা সারণি সারিটির ডেটা সঞ্চয় করে।
সারি-ভিত্তিক ডাটাবেসের তুলনায় কলাম-ওরিয়েন্টেড ডাটাবেস ব্যবহারের দুটি প্রধান সুবিধা রয়েছে। প্রথম সুবিধাটি হ'ল যে আমরা কয়েকটি বৈশিষ্ট্যের উপর কোনও অপারেশন সম্পাদন করতে পারলে তার যে পরিমাণ তথ্য পড়তে হবে তার পরিমাণের সাথে সম্পর্কিত। একটি সাধারণ ক্যোয়ারী বিবেচনা করুন:
SELECT correlation(feature2, feature5)
FROM records
একটি traditionalতিহ্যবাহী নির্বাহক পুরো টেবিলটি পড়তেন (অর্থাত্ সমস্ত বৈশিষ্ট্য):
পরিবর্তে, আমাদের কলাম-ভিত্তিক পদ্ধতির ব্যবহার করে আমাদের কেবল আগ্রহী কলামগুলি পড়তে হবে:
দ্বিতীয় সুবিধা, যা বৃহত ডাটাবেসের জন্যও খুব গুরুত্বপূর্ণ, তা হ'ল কলাম-ভিত্তিক স্টোরেজ আরও ভাল সংক্ষেপণের অনুমতি দেয়, কারণ একটি নির্দিষ্ট কলামের ডেটা সমস্ত কলামের চেয়ে সত্যই একজাতীয়।
কলাম-ওরিয়েন্টেড পদ্ধতির প্রধান অপূর্ণতা হ'ল একটি সম্পূর্ণ প্রদত্ত সারিটি ম্যানিপুলেটিং (লুকআপ, আপডেট বা মুছুন) অযোগ্য। তবে পরিস্থিতি বিশ্লেষণের ("গুদামজাতকরণ") এর ডাটাবেসে খুব কমই ঘটেছিল, যার অর্থ বেশিরভাগ অপারেশন কেবল পঠনযোগ্য, খুব কমই একই সারণীতে অনেকগুলি বৈশিষ্ট্য পড়ে এবং লেখাগুলি কেবল পরিশিষ্ট হয়।
কিছু আরডিএমএস কলাম-ওরিয়েন্টেড স্টোরেজ ইঞ্জিন বিকল্প সরবরাহ করে। উদাহরণস্বরূপ, পোস্টগ্র্রেএসকিউএল এর কাছে কলাম ভিত্তিক ফ্যাশনে টেবিলগুলি সংরক্ষণের স্থানীয় কোনও বিকল্প নেই, তবে গ্রিনপ্লাম একটি বদ্ধ-উত্স তৈরি করেছে (ডিবিএমএস 2, ২০০৯)। মজার বিষয় হল, গ্রেনপ্লাম ওপেন-সোর্স লাইব্রেরির পিছনেও রয়েছে স্কেলযোগ্য ইন-ডাটাবেস অ্যানালিটিকাদের জন্য, এমএডিলিব (হেলারস্টেইন এট আল।, ২০১২), এটি কোনও কাকতালীয় ঘটনা নয়। অতি সম্প্রতি, সিটিসডিবি, উচ্চ গতির, অ্যানালিটিক ডেটাবেজে কাজ করা একটি স্টার্টআপ, পোস্টগ্রিসএসকিউএল, সিএসটিএর (মিলার, 2014) এর জন্য তাদের নিজস্ব ওপেন সোর্স কলামার স্টোর এক্সটেনশন প্রকাশ করেছে। বড় আকারের মেশিন লার্নিংয়ের জন্য গুগলের সিস্টেম সিবিল কলাম-ওরিয়েন্টেড ডেটা ফর্ম্যাটও ব্যবহার করে (চন্দ্র এট আল।, ২০১০)। এই প্রবণতাটি বৃহত্তর বিশ্লেষণ বিশ্লেষণের জন্য কলাম-ওরিয়েন্টেড স্টোরেজগুলির চারপাশে ক্রমবর্ধমান আগ্রহকে প্রতিফলিত করে। স্টোনব্রেকার এবং অন্যান্য। (2005) কলাম-ওরিয়েন্টেড ডিবিএমএসের সুবিধা সম্পর্কে আরও আলোচনা করুন।
দুটি কংক্রিট ব্যবহারের ক্ষেত্রে: বড় আকারের মেশিন লার্নিংয়ের জন্য বেশিরভাগ ডেটাসেট কীভাবে সংরক্ষণ করা হয়?
(বেশিরভাগ উত্তর আসে এর পরিশিষ্ট সি থেকে: বিটডিবি: বিশাল সংকেত ডেটা সেট থেকে স্যালিয়েন্সি উন্মোচন করার একটি শেষ থেকে শেষের পদ্ধতি E EECS এর এমআইটি বিভাগ ফ্রাঙ্ক ডার্নোনকোর্ট, এসএম, থিসিস )
এটি আপনি যা করেন তার উপর নির্ভর করে ।
কলাম স্টোরগুলির দুটি মূল সুবিধা রয়েছে:
তবে তাদেরও ত্রুটি রয়েছে:
কলামার স্টোরেজ ওএলএপি ওরফে "বোকা বিশ্লেষণ" (মাইকেল স্টোনব্রেকার) এবং অবশ্যই প্রাক-প্রসেসিংয়ের জন্য সত্যই জনপ্রিয় যেখানে আপনি অবশ্যই পুরো কলামগুলি ছিন্ন করতে আগ্রহী হতে পারেন (তবে আপনার প্রথমে কাঠামোগত ডেটা থাকা দরকার - আপনি কলামারে জেএসএনএস সংরক্ষণ করবেন না বিন্যাস)। কারণ কলামার লেআউটটি উদাহরণস্বরূপ সত্যিই দুর্দান্ত কারণ আপনি গত সপ্তাহে কতগুলি আপেল বিক্রি করেছেন তা গণনা করা।
বেশিরভাগ বৈজ্ঞানিক / ডেটা বিজ্ঞান ব্যবহারের ক্ষেত্রে অ্যারে ডাটাবেসগুলি যাওয়ার উপায় হিসাবে উপস্থিত হয় (প্লাস, অবশ্যই, কাঠামোগত ইনপুট ডেটা)। যেমন SciDB এবং RasDaMan।
অনেক ক্ষেত্রে (যেমন গভীর শিক্ষা), ম্যাট্রিক্স এবং অ্যারেগুলি আপনার প্রয়োজনীয় ডেটা ধরণের, কলামগুলি নয়। ম্যাপ্রেডস ইত্যাদি অবশ্যই প্রিপ্রোসেসিংয়ে কার্যকর হতে পারে। এমনকি কলামের ডেটাও (তবে অ্যারে ডাটাবেস সাধারণত কলামের মতো সংকোচনের পক্ষেও সমর্থন করে)।
আমি একটি কলামার ডাটাবেস ব্যবহার করি নি, তবে আমি একটি ওপেন সোর্স কলামার ফাইল ফর্ম্যাটটি পরকুইট নামে ব্যবহার করেছি এবং আমি মনে করি সুবিধাগুলি সম্ভবত একই - ডেটা দ্রুত প্রসেসিং যখন আপনার কেবলমাত্র একটি বৃহত একটি ছোট উপসেট অনুসন্ধান করতে হবে কলামের সংখ্যা. আমার কাছে প্রায় 50 টি টেরাবাইট অভ্র ফাইলগুলিতে (একটি সারি ওরিয়েন্টেড ফাইল ফর্ম্যাট) চলমান রয়েছে যা 147 নোড হাদুপ ক্লাস্টারে প্রায় দেড় ঘন্টা সময় নিয়েছিল with পরকুইটের সাথে, একই ক্যোয়ারীটি প্রায় 22 মিনিট সময় নেয় কারণ আমার কেবল 5 টি কলাম প্রয়োজন needed
আপনার যদি সংখ্যক কলাম রয়েছে বা আপনার কলামগুলির একটি বৃহত অনুপাত ব্যবহার করছেন, আমি মনে করি না যে একটি কলাম ভিত্তিক ডাটাবেস একটি সারি ভিত্তিক একটি বনাম তুলনায় অনেক পার্থক্য তৈরি করবে কারণ আপনাকে এখনও মূলত আপনার সমস্ত ডেটা স্ক্যান করতে হবে। আমি বিশ্বাস করি কলামার ডাটাবেসগুলি কলামগুলি আলাদাভাবে সংরক্ষণ করে যেখানে সারি ভিত্তিক ডাটাবেসগুলি পৃথকভাবে সারিগুলি সঞ্চিত করে। আপনি যখনই ডিস্ক থেকে কম ডেটা পড়তে সক্ষম হবেন তখন আপনার ক্যোয়ারী দ্রুততর হবে।
এই লিঙ্কটি আরও বিশদ ব্যাখ্যা করে।
দ্রষ্টব্য: এটি আমার প্রশ্ন এবং আমি এখানে দুর্দান্ত উত্তরগুলির জন্য সত্যই কৃতজ্ঞ, যা আমাকে ধারণাটি উপলব্ধি করতে সহায়তা করেছিল।
সুতরাং, আমি ধারণাটি যেভাবে বুঝেছি তা ব্যাখ্যা করব:
সাধারণত, ডাটাবেসে থাকা ডেটাগুলি নিম্নোক্ত ফর্ম্যাটে মেমরিতে সংরক্ষণ করা হয়:
এই তথ্যসূত্র বিবেচনা করুন:
X1 X2
1 0.7091409 -1.4061361
2 -1.1334614 -0.1973846
3 2.3343391 -0.4385071
আপেক্ষিক সারি-ভিত্তিক স্টোরে, এটি এইভাবে সঞ্চিত হয়:
1, 0.7091409, -1.4061361, 2, -1.1334614, -0.1973846, 3, 2.3343391, -0.4385071
সারি আকারে।
কলামার দোকানে, এটি এইভাবে সংরক্ষণ করা হবে:
1, 2, 3, 0.7091409 ,-1.1334614, 2.3343391, -1.4061361, -0.1973846, -0.4385071
কলাম আকারে।
তাহলে এর অর্থ কি?
এর অর্থ সন্নিবেশ (এবং আপডেট করা) এবং মুছে ফেলা সারি-ভিত্তিক কলাম স্টোরটিতে দ্রুত কারণ এটি কেবলমাত্র কয়েকটি শেষ মান বা প্রথম কয়েকটি মান মুছে ফেলা হয়। তবে কলামার স্টোরগুলিতে এটি হয় না কারণ প্রতিটি ব্লক স্টোরের মূল্য অপসারণ করা দরকার।
যাইহোক, যখন কলামারিক সমষ্টি এবং ক্রিয়াকলাপগুলির প্রয়োজন হয়, কলামার স্টোরগুলি তাদের সারি-ভিত্তিক অংশগুলির উপরে একটি প্রান্ত থাকে, কারণ তারা কলাম অনুসারে সঞ্চিত থাকে এবং ফলস্বরূপ, পৃথক কলামগুলি অ্যাক্সেস করা খুব সহজ।