দেখে মনে হচ্ছে আপনি আপনার আবেদনের জন্য একটি মূলত বৈধ, স্বল্পমেয়াদী ডেটা-স্টোর প্রযুক্তিগত সিদ্ধান্ত নিয়েছেন - আপনি একটি কাস্টম ডেটা ম্যানেজমেন্ট সরঞ্জাম লিখতে পছন্দ করেছেন।
আপনি একটি ধারাবাহিক উপর বসে আছেন, উভয় দিকের দিকে এগিয়ে যাওয়ার বিকল্পগুলি সহ।
দীর্ঘমেয়াদে, আপনি সম্ভবত (প্রায়, তবে অবশ্যই 100% নয়) নিজেকে সমস্যার মধ্যে ফেলে যাচ্ছেন এবং বিদ্যমান ডেটা স্টোর সমাধানগুলি ব্যবহার করে পরিবর্তন করা ভাল। নির্দিষ্ট, খুব সাধারণ, পূর্বাভাসযোগ্য, পারফরম্যান্স সমস্যা রয়েছে যার সাথে আপনি মোকাবেলা করতে বাধ্য হবেন এবং আপনি নিজের ঘূর্ণায়মান পরিবর্তে বিদ্যমান সরঞ্জামগুলি ব্যবহার করা ভাল।
দেখে মনে হচ্ছে আপনি একটি (ছোট) কাস্টম-উদ্দেশ্য ডাটাবেস লিখেছেন, যা আপনার অ্যাপ্লিকেশনটিতে অন্তর্নির্মিত এবং সরাসরি ব্যবহৃত হয়েছে। আমি ধরে নিয়েছি আপনি আসল ডিস্ক রাইটিং এবং রিডিং পরিচালনা করার জন্য এবং একটি সমন্বয়টিকে ডেটা স্টোর হিসাবে চিকিত্সা করার জন্য কোনও ওএস এবং ফাইল সিস্টেমের উপর নির্ভর করছেন।
আপনি কি করেছেন কখন করবেন
আপনি ডেটা সঞ্চয় করার জন্য একটি মিষ্টি স্পটে বসে আছেন। একটি ওএস এবং ফাইল সিস্টেমের ডেটা স্টোর অবিশ্বাস্যভাবে সুবিধাজনক, অ্যাক্সেসযোগ্য এবং ক্রস প্ল্যাটফর্ম পোর্টেবল is সংমিশ্রণটি এত দিন ধরে রয়েছে যে আপনি কোনও সমর্থনযোগ্য তা নিশ্চিত হন এবং প্রায় কোনও স্ট্যান্ডার্ড মোতায়েন কনফিগারেশনে আপনার অ্যাপ্লিকেশনটি চালিত হন।
এটির জন্য কোড লিখতেও একটি সহজ সংমিশ্রণ - এপিআই মোটামুটি সোজা-সামনের এবং মৌলিক, এবং এটি কাজ করতে কোডের তুলনামূলকভাবে কয়েকটি লাইন লাগে।
সাধারণত, আপনি যা করেছেন তা করা আদর্শ:
- নতুন ধারণার প্রোটোটাইপিং
- বিল্ডিং অ্যাপ্লিকেশনগুলি যা স্কেল করার পক্ষে অত্যন্ত সম্ভাবনা নেই, পারফরম্যান্সের ভিত্তিতে
- অস্বাভাবিক পরিস্থিতি দ্বারা সীমাবদ্ধ যেমন ডেটাবেস ইনস্টল করার জন্য সংস্থার অভাব
বিকল্প
আপনি বিকল্পগুলির ধারাবাহিকতায় রয়েছেন এবং এখানে দুটি 'দিকনির্দেশ' রয়েছে যা আপনি এখান থেকে যেতে পারেন, যা আমি 'ডাউন' এবং 'আপ' হিসাবে মনে করি:
নিচে
এটি প্রয়োগের জন্য সর্বনিম্ন সম্ভাব্য বিকল্প, তবে সম্পূর্ণতার জন্য এটি এখানে:
আপনি চাইলে নীচে যেতে পারেন অর্থাৎ ওএস এবং ফাইল সিস্টেমকে পুরোপুরি বাইপাস করতে পারবেন এবং সরাসরি ডিস্ক থেকে সরাসরি লিখতে এবং পড়তে পারবেন। এই পছন্দটি কেবলমাত্র সেই ক্ষেত্রে প্রাসঙ্গিক যেখানে চূড়ান্ত দক্ষতার প্রয়োজন হয় - উদাহরণস্বরূপ, সম্পূর্ণরূপে কার্যক্ষম ওএসের জন্য পর্যাপ্ত র্যাম ছাড়াই, একটি ন্যূনতম / ক্ষুদ্র এমপি 3 প্লেয়ার ডিভাইসের কথা ভাবেন , বা ওয়েব্যাক মেশিনের মতো এমন কিছু , যার জন্য অবিশ্বাস্যভাবে দক্ষ ভর প্রয়োজন ডেটা রাইটিং ক্রিয়াকলাপ (বেশিরভাগ ডেটা স্টোরগুলি ধীরে ধীরে পড়ার জন্য ধীর রচনায় বাণিজ্য করে, কারণ এটি প্রায় সমস্ত অ্যাপ্লিকেশনের ক্ষেত্রে অপ্রতিরোধ্যভাবে বেশি সাধারণ ব্যবহারের ক্ষেত্রে) case
আপ
এখানে বেশ কয়েকটি উপ-বিভাগ রয়েছে - যদিও এগুলি একচেটিয়া নয়। কিছু সরঞ্জাম উভয়ই বিস্তৃত হয়, প্রতিটিটিতে কিছু কার্যকারিতা সরবরাহ করে, কিছু সম্পূর্ণরূপে এক মোডে কাজ করা থেকে অন্যটিতে কাজ করতে পরিবর্তিত হতে পারে এবং কিছুগুলিকে একে অপরের শীর্ষে স্তরযুক্ত করা যায়, আপনার অ্যাপ্লিকেশনের বিভিন্ন অংশে বিভিন্ন কার্যকারিতা সরবরাহ করে।
আরও শক্তিশালী ডেটা স্টোর
ডেটা ম্যানিপুলেশন জটিলতা পরিচালনার জন্য আপনার নিজের প্রয়োগের উপর নির্ভর করার সময় আপনি নিজেকে উচ্চতর এবং উচ্চতর ডেটা সঞ্চয় করার প্রয়োজন মনে করতে পারেন। কী-ভ্যালু স্টোরগুলির একটি সম্পূর্ণ পরিসর আপনার কাছে উপলভ্য, সম্পর্কিত ফাংশনগুলির জন্য বিভিন্ন প্রকারের সমর্থন সহ। নোএসকিউএল সরঞ্জামগুলি অন্যদের পাশাপাশি এই বিভাগে আসে।
নিম্নলিখিতগুলি যখন আপনার অ্যাপ্লিকেশনটি বর্ণনা করে তখন এটি পরিমাপের সুস্পষ্ট পথ:
- এটি অস্বাভাবিকভাবে ভারী পঠন নির্ভর
- নিম্ন (স্বল্প মেয়াদী) ধারাবাহিকতা গ্যারান্টি (অনেকগুলি অফার "চূড়ান্ত ধারাবাহিকতা") এর জন্য উচ্চ কার্যকারিতা বন্ধ রেখে আপনি ঠিক আছেন।
- বেশিরভাগ ডেটা ম্যানিপুলেশন এবং ধারাবাহিকতার অভাবকে "সরাসরি" পরিচালনা করছে (বাস্তবে, আপনি সম্ভবত প্রথমে তৃতীয় পক্ষের সরঞ্জামটি ব্যবহার করে শেষ করবেন, যদিও শেষ পর্যন্ত আপনি এটিকে আপনার প্রয়োগ বা কাস্টম লিখিত অন্তর্বর্তী স্তরতে নিয়ে আসবেন) ।
- আপনি "তুলনামূলকভাবে সহজ" ডেটা ম্যানিপুলেশন প্রয়োজনীয়তার সাথে আপনি যে পরিমাণ ডেটা সঞ্চয় করছেন এবং / বা এটির মাধ্যমে অনুসন্ধান করার ক্ষমতা আপনার পক্ষে তা ব্যাপকভাবে স্কেল করতে খুঁজছেন।
এখানে কিছু উইগল রুম রয়েছে - আপনি ধীরে ধীরে পড়ার জন্য আরও ভাল ধারাবাহিকতা পড়তে বাধ্য করতে পারেন। বিভিন্ন সরঞ্জাম এবং বিকল্পগুলি ডেটা ম্যানিপুলেশন অ্যাপিস, ইনডেক্সিং এবং অন্যান্য বিকল্প সরবরাহ করে যা আপনার নির্দিষ্ট অ্যাপ্লিকেশন সহজেই লেখার জন্য কমবেশি উপযুক্ত হতে পারে। সুতরাং উপরের পয়েন্টগুলি যদি আপনার অ্যাপ্লিকেশনটিকে প্রায় সম্পূর্ণভাবে বর্ণনা করে তবে আপনি আরও শক্তিশালী ডেটা স্টোর সমাধানের সাথে কাজ করতে "যথেষ্ট কাছাকাছি" থাকতে পারেন।
সুপরিচিত উদাহরণ: কাউচডিবি , মঙ্গোডিবি , রেডিস , মাইক্রোসফ্টের অ্যাজুরি , গুগল অ্যাপ ডেটা স্টোর এবং অ্যামাজনের ইসিইর মতো ক্লাউড স্টোরেজ সমাধান ।
আরও জটিল ডেটা ম্যানিপুলেশন ইঞ্জিন
বিশুদ্ধ স্টোরেজ ইঞ্জিনের চেয়ে ডেটা স্টোরেজ অ্যাপ্লিকেশনটির "এসকিউএল" পরিবার, পাশাপাশি আরও অনেকের পরিসংখ্যানকে ডেটা ম্যানিপুলেশন সরঞ্জাম হিসাবে আরও ভালভাবে বর্ণনা করা হয়েছে। এগুলি ডেটা সংরক্ষণের বাইরে এবং প্রায়শই মূল্যের মূল্যের স্টোর অংশে যা পাওয়া যায় তার বাইরেও অনেকগুলি অতিরিক্ত কার্যকারিতা সরবরাহ করে। আপনি এই পথটি নিতে চাইবেন যখন:
- আপনার অবশ্যই একটি ধারাবাহিকতা পড়তে হবে, এর অর্থ এমনকি যদি আপনি কোনও পারফরম্যান্স হিট নেন।
- আপনি অত্যন্ত জটিল ডেটা ম্যানিপুলেশন দক্ষতার সাথে সম্পাদন করতে চাইছেন - খুব জটিল জোইন এবং আপডেটের অপারেশন, ডেটা কিউব এবং স্লাইসিং ইত্যাদির কথা ভাবেন ...
- পারফরম্যান্সের জন্য কঠোরতার সাথে ব্যবসায়ের বিষয়ে আপনি ঠিক আছেন (মনে করুন বাধ্য, স্থির ডেটা স্টোরেজ ফর্ম্যাটগুলি যেমন টেবিলগুলি, যা সহজে এবং / অথবা দক্ষতার সাথে পরিবর্তন করা যায় না)।
- আপনার কাছে সরঞ্জাম এবং ইন্টারফেসের প্রায়শ গুণ জটিল সেট মোকাবেলা করার জন্য সংস্থান রয়েছে।
এটি একটি ডেটাবেস বা ডেটা স্টোর সম্পর্কে চিন্তা করার আরও "traditionalতিহ্যবাহী" উপায় এবং এটি দীর্ঘকাল ধরে রয়েছে - সুতরাং এখানে প্রচুর পরিমাণে পাওয়া যায়, এবং এর সাথে মোকাবিলা করার জন্য প্রায়শই অনেক জটিলতা রয়েছে। এটি সম্ভব, যদিও এটি কিছু দক্ষতা এবং জ্ঞান নেয়, এবং সহজ সমাধানগুলি তৈরি করে / জটিলতা অনেকটা এড়ায় - আপনি সম্ভবত তৃতীয় পক্ষের সরঞ্জাম এবং লাইব্রেরিগুলি আপনার বেশিরভাগটির পরিচালনার জন্য শেষ করবেন though
সুপরিচিত উদাহরণগুলি হ'ল মাইএসকিউএল , এসকিউএল সার্ভার , ওরাকেলের ডেটাবেস এবং ডিবি 2 ।
কাজ আউটসোর্স
জটিলতা পরিচালনায় আপনাকে সহায়তা করার জন্য বেশ কয়েকটি, আধুনিক, তৃতীয় পক্ষের সরঞ্জাম এবং লাইব্রেরি রয়েছে যা আপনার ডেটা স্টোরেজ সরঞ্জাম এবং আপনার অ্যাপ্লিকেশনটির মধ্যে অন্তর্ভুক্ত করে।
তারা প্রাথমিকভাবে সর্বাধিক বা সমস্ত কাজ কেড়ে নেওয়ার চেষ্টা করে যা ডেটা স্টোর পরিচালনা ও পরিচালনার কাজে চলে যায় এবং আদর্শভাবে, আপনাকে কেবল যখন প্রয়োজন হয় তখন জটিলতায় মসৃণ রূপান্তর করতে দেয়। এটি উদ্যোক্তা এবং গবেষণার একটি সক্রিয় ক্ষেত্র, কয়েকটি সাম্প্রতিক ফলাফল যা অবিলম্বে অ্যাক্সেসযোগ্য এবং ব্যবহারযোগ্য।
সুপরিচিত উদাহরণ MVC সরঞ্জাম ( জ্যাঙ্গো , Yii ), পাগল নেভিগেশন রুবি , এবং Datomic । আক্ষরিক অর্থে কয়েক ডজন সরঞ্জাম এবং লাইব্রেরি রয়েছে যা বিভিন্ন ডেটা স্টোরের এপিআইয়ের চারপাশে মোড়কের কাজ করে বলে এখানে ন্যায়বিচার করা কঠিন।
PS: আপনি যদি ভিডিওগুলিকে পাঠ্যের চেয়ে বেশি পছন্দ করেন তবে আপনি রিচ হিকির ডেটাবেস সম্পর্কিত কিছু ভিডিও দেখতে চাইতে পারেন; তিনি একটি ডেটা স্টোর বাছাই, ডিজাইন এবং ব্যবহারের ক্ষেত্রে যে বেশিরভাগ চিন্তাভাবনাটি বর্ণনা করেছেন তার বেশিরভাগ ক্ষেত্রেই তিনি ভাল কাজ করেন।