সর্বাধিক দক্ষ ডেটা ইনডেক্সিং কৌশল


10

যেমনটি আমরা সকলেই জানি, এখানে কিছু ডেটা ইনডেক্সিং কৌশল রয়েছে যা সুপরিচিত ইনডেক্সিং অ্যাপ্লিকেশনগুলি ব্যবহার করে যেমন Lucene (জাভা জন্য) বা Lucene.NET (। নেট), মারমুরহ্যাশ, বি + ট্রি ইত্যাদি একটি নো-স্কিল / অবজেক্টের জন্য ওরিয়েন্টেড ডাটাবেস (যা আমি C # দিয়ে একটু লেখার / খেলার চেষ্টা করি), আপনি কোন কৌশলটির পরামর্শ দিচ্ছেন?

আমি মরমুরহশ -২ সম্পর্কে পড়েছি এবং বিশেষভাবে ভি 3 মন্তব্যগুলি বলে যে মুরমুর খুব দ্রুত very এছাড়াও Lucene.Net এর উপর ভাল মন্তব্য আছে। তবে সাধারণভাবে তাদের স্মৃতি পদক্ষেপের কী হবে? লসিন বা মারমুরের তুলনায় এমন কোনও কার্যকর সমাধান রয়েছে যা কম পায়ের ছাপ ব্যবহার করবে (এবং অবশ্যই যদি দ্রুততর অগ্রাধিকারযোগ্য হয়)? বা সেরা ফলাফল পেতে আমার একটি বিশেষ সূচক কাঠামো লিখতে হবে?

আমি যদি নিজের লেখার চেষ্টা করি, তবে কি কোনও ভাল সূচকের জন্য কোনও গ্রহণযোগ্য স্কেল, 1% ডেটা নোডের মতো বা 5% ডেটা নোডের মতো? কোনও দরকারী ইঙ্গিত প্রশংসা করা হবে।

উত্তর:


10

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

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

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

এখন আপনার মূল সমস্যা ফিরে। আপনার কাছে একটি লাইব্রেরি (লুসিন) এবং ডেটা স্ট্রাকচারগুলিতে, উভয় ডেটা স্ট্রাকচার লুসিনে ব্যবহৃত হয়। এখন আপনি দেখতে পাচ্ছেন যে আপনার প্রশ্নের উত্তর তুলনামূলক নয় বলে এই পদগুলিতে উত্তর দেওয়া সম্ভব নয়।

যাইহোক, আপনার পদক্ষেপ এবং প্রশ্নের পারফরম্যান্স অংশ সম্পর্কিত। প্রথমে আপনাকে জানতে হবে আপনার কোন ধরণের অপারেশন বাস্তবায়ন করতে হবে।

আপনার কী কী কেবলই মূল্যের মূল্য পেতে হবে, বা আপনার কোনও পরিসরের সমস্ত উপাদান খুঁজে পাওয়া দরকার? অন্য কথায় আপনার কি অর্ডার দরকার নাকি? আপনি যদি করেন তবে গাছের চেয়েও সাহায্য করতে পারে। আপনি যদি না করেন তবে হ্যাশ টেবিলের চেয়ে দ্রুত যা পরিবর্তে ব্যবহার করা যেতে পারে।

আপনার কাছে এমন অনেক তথ্য রয়েছে যা মেমরিটির সাথে খাপ খায় না? যদি হ্যাঁ একটি ডিস্ক-ভিত্তিক সমাধান সাহায্য করবে (বিটি ট্রি এর মতো)। যদি আপনার ডেটা মেমরির সাথে মাপসই হয় তবে দ্রুততম ইন-মেমরি সলিউশন ব্যবহার না করে এবং কেবলমাত্র স্টোরেজ হিসাবে ডিস্ক ব্যবহার করুন (ভিন্ন কাঠামোর সাথে অনেক সহজ)।


আপনাকে অনেক ধন্যবাদ রাইপাইও :) আপনি যে পয়েন্টগুলি আমাকে দিয়েছেন তা খুব কার্যকর এবং কিছুটা পরিষ্কার হয়ে যায় ince তবে আমি একটি নেট বিকাশকারী এবং উত্সাহী সি এর উপর কৌতূহলী (আমি শিখতে শুরু করি) এবং নতুন, দ্রুত, নির্ভরযোগ্য, স্কেলযোগ্য এনসিডি অবশ্যই একটি স্বল্প মেয়াদে সম্পূর্ণরূপে নিয়ন্ত্রণযোগ্য: খুব উত্সাহিত-কৌশল..সেই আমাকে খুব শিখতে হবে..আপনি শিখতে, আমি অনেকগুলি নথি পড়ার চেষ্টা করি তবে আপনি অনুমান করতে পারেন যে আমি স্টার্ট-লাইনে আছি .. আমি জানতাম না যে বিটিরির ডিস্কে সুবিধাগুলি রয়েছে (নেট ওয়ার্ল্ডে, তাই অনেক লেখকই এটিকে ব্যাখ্যা করেন: লিঙ্কড-লিস্টের মতো একটি শ্রেণিবদ্ধ তথ্য কাঠামো..এছাড়া আরও কিছু নয়!) আপনাকে আবারও অনেক ধন্যবাদ
সিহিরবাজ

এবং আপনি যদি আমাকে অনুমতি দেন, যতক্ষণ না আপনার চেয়ে উচ্চ মানের কোনও ব্যাখ্যা / উত্তর না পাওয়া যায়, আমি এটিকে উত্তর হিসাবে গ্রহণ করতে চাই .. এবং বিটিডাব্লু, লুসিন ডট নেট জাভা এর লুসিনের একটি নেট নেট রূপায়ণ
সিহিরবাজ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.