এই ব্লগ পোস্টটি ম্যাজেন্টোর সাথে বিভিন্ন সেশন স্টোরেজ ইঞ্জিনগুলির পারফরম্যান্স তুলনার ফলাফল দেখায় এবং তারা মনে করেছে যে প্রায় 75 জন সমকালীন ব্যবহারকারীর মধ্যে সত্যিকারের পারফরম্যান্সের পার্থক্য নেই।
আমি মনে করি যে এই স্তরে (তাদের প্রায় এক সেকেন্ডে প্রায় 5 টি লেনদেন হয়েছিল, যা 12 ঘন্টা সময়কালে প্রায় 430k হিট হবে) ফাইল / ডিবি / মেমকেচে / রেডিস সমস্ত কিছুতেই আপনি যে পারফরম্যান্স সংখ্যা দেখেন তার উপর আধিপত্য রয়েছে যদি সঠিকভাবে ব্যবহার করা হয় তবে ঘাম ছাড়াই ট্র্যাফিক।
এটি স্কেলাবিলিটি, নির্ভরযোগ্যতা এবং সুরক্ষার মতো অন্যান্য কারণগুলিকে ছেড়ে দেয়।
আমি প্রথমে বলতে চাই যে আপনার ফাইল স্টোরেজকে আপস করে এমন যে কোনও কিছুই সম্ভবত আপস করবে কারণ আক্রমণকারী তখন কেবল আপনার অ্যাপ্লিকেশন কোডটি সংশোধন করতে পারে বা খুব কমপক্ষে কী এবং স্টোরেজ অ্যাক্সেস প্রোটোকল / শংসাপত্রগুলি আবিষ্কার করতে পারে যদিও তাদের কাছে কেবল পঠনযোগ্য রয়েছে অ্যাক্সেস। ফাইল স্টোরেজটি কম ভলিউমের সাইটের জন্য ভাল কাজ করবে, সেট আপ করা সহজ এবং এর পক্ষে যুক্তিযুক্ত হওয়া সহজ। আপনি যতটা বলছেন যে আপনি ডিস্কটিকে আঘাত করেছেন, একটি ডিবি রিডও ডিস্ককে আঘাত করবে এবং ডিবি যদি এটি ক্যাশে করতে পারে তবে আপনার ওএস সম্ভবত সেশন ফাইলটি ক্যাশে করেছে। এছাড়াও, এটির একটি ফাইল পড়ে এবং যদি আপনি ইতিমধ্যে এর নামটি জানেন তবে আপনার ফাইল সিস্টেমটি এটি পেতে উজ্জ্বল। আপনি যদি পিএইচপি ব্যবহার করছেন, আপনি কি জানেন যে কেবলমাত্র আপনার অ্যাপ্লিকেশনটি পরিবেশন করতে সিস্টেমকে কতগুলি ফাইল পড়তে হয়? খারাপ দিকটি আপনি করতে পারেন '
মেমক্যাচ তুলনামূলক দ্রুত এবং যদি আপনি মেমক্যাসের ক্লাস সমাধানগুলিকে আরও বিস্তৃতভাবে বিবেচনা করেন (রেডিস, ইত্যাদি) এমন কিছু আছে যা মেমরির সাথে অধ্যবসায়ের প্রতিশ্রুতি দেবে যা গতির জন্য পড়ে তাই আপনি উভয় পৃথিবীর বেশিরভাগ অংশ পান। এগুলি যুক্তিযুক্ত তুলনামূলকভাবে সহজ এবং সেশনগুলির মূল-মান প্রকৃতি হ'ল এগুলি করার জন্য ডিজাইন করা হয়েছে। আপনি কি জানেন যে এর মধ্যে একটি পূরণ করার জন্য আপনাকে কতটা সেশনে বসতে হবে? যে কোনও উপায়ে, আপনার সমস্ত বিকল্প আপনাকে যদি তাদের সক্ষমতা অর্জন করে তবে আপস করতে বাধ্য করবে। ডিস্কগুলি ফাইলগুলি পূরণ করে (এখানে সংখ্যা এবং আকার ফ্যাক্টর), ক্যাশে স্টোরগুলি ক্ষমতা পূরণ করে এবং ডাটাবেসগুলিতে সীমিত সংখ্যক সারি থাকে এবং ফাইলের পদ্ধতির মতোই ডিস্কের ক্ষমতা সীমা থাকে। এছাড়াও, এই সিস্টেমগুলি কেবলমাত্র বিতরণ করা হয় যদি আপনি এগুলিকে বিতরণ করা ফ্যাশনে চালান। বেশিরভাগই একক সার্ভার সেটআপ দিয়ে ঠিকঠাক কাজ করে। যদি আপনি সেগুলি বিতরণ করেন তবে সম্ভবত আপনি ইতিমধ্যে বিতরণ করেছেন ওয়েব সার্ভারগুলি / ডাটাবেস সার্ভার ইত্যাদি so সুতরাং আপনার বিতরণ করা সিস্টেমের সমস্যাগুলি অবশ্যই আপনার সেশন স্টোরেজ পছন্দ থেকে প্রদর্শিত হবে না। যাইহোক, আপনি যখন 10x ট্রাফিক / সক্ষমতা ইত্যাদি চান তখন ফাইল স্টোরেজ স্কিমের চেয়ে অনেক বেশি প্রাকৃতিক। কিছু কী / মান স্টোর আপনাকে তুলনামূলকভাবে সহজে সেশন ডেটার সাধারণ বিশ্লেষণ পরিচালনা করার অনুমতি দেয় তবে বেশিরভাগই এসকিউএল কী করতে পারে তার কাছাকাছি আপনাকে পাবেন না।
আমি নিশ্চিত নই যে আপনি কেন প্রস্তাব করেন যে অন্যান্য বিকল্পগুলির তুলনায় ডাটাবেসটি আরও নির্ভরযোগ্য হতে পারে তবে আপনার পিএইচপি অ্যাপ্লিকেশন সম্ভবত এটি ইতিমধ্যে ব্যবহার করেছে বলে আমি ডাটাবেসের আবেদন পেয়েছি। এর অর্থ আপনি অন্য সার্ভার নির্ভরতা যুক্ত করবেন না এবং ব্যবহারকারীর ডেটা পেতে সেশন ডেটা আনার জন্য আপনি একই সংযোগটি পুনরায় ব্যবহার করতে পারেন যাতে আপনাকে ডেটা জন্য একটি স্থাপন করতে হবে না, মেমক্যাশের জন্য একটি ইত্যাদি If টেবিল ভাল, এটি যুক্তিসঙ্গত দ্রুত সম্পাদন করবে এবং পুরানো সেশনগুলি কাটা বা সেশন ডেটা বিশ্লেষণের জন্য আপনি ইতিমধ্যে পরিচিত বেশ সহজ শব্দার্থবিজ্ঞান সরবরাহ করে (আপনি কেন চান তা নিশ্চিত নই এবং আপনি যদি না হন তবে সম্ভবত এটি করা যায় না ' এত ব্যাপার না)। বিশাল আকারের স্কেলে স্কেলিং যেমন রেডিসের মতো কিছু তুচ্ছ নয়,
আমি মনে করি শুরুতে এই পছন্দটি এতটা গুরুত্বপূর্ণ নয়। প্রতিটি পদ্ধতির চ্যালেঞ্জ এবং সুবিধাগুলি এবং আপনাকে ভাবতে হবে এমন জিনিস রয়েছে। সাধারণভাবে বলতে গেলে, আপনি সম্ভবত কেবলমাত্র পিএইচপি / আপনি যে কোনও ফ্রেমওয়ার্ক ব্যবহার করেন বা এমনকি সবচেয়ে সহজ জিনিসটি ব্যবহার করে চলে যেতে পারেন। পরে যদি পছন্দটি খারাপ হয়ে যায় তবে আপনার পারফরম্যান্স অ্যানালিটিকাগুলি আপনাকে বলবে এবং আপনি যে ট্র্যাফিক পাবেন তার নির্দিষ্ট প্রকৃতি অনুসারে উপযুক্ত পছন্দগুলি করার জন্য আপনার প্রয়োজনীয় ডেটা সজ্জিত করবেন। সামনে, আপনি যুক্তিসঙ্গতভাবে থাকতে পারেন সমস্ত হ'ল সাধারণ জল্পনা।