মাইএসকিউএল একা ইনস্টল করার কথা


20

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

কেউ আমাকে ব্যাখ্যা করতে পারেন:

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

উত্তর:


30

যখন আপনার অ্যাপ্লিকেশন প্ল্যাটফর্ম এবং আপনার ডাটাবেসগুলি সংস্থানগুলির জন্য প্রতিযোগিতা করছে, সাধারণত এটিই প্রথম ইঙ্গিত যে আপনি কোনও ডেডিকেটেড ডাটাবেস সার্ভারের জন্য প্রস্তুত।

দ্বিতীয়ত, উচ্চ-প্রাপ্যতা: একটি ডাটাবেস ক্লাস্টার স্থাপন করা (এবং সাধারণত পরিবর্তে, একটি লোড-ভারসাম্য ওয়েব / অ্যাপ্লিকেশন সার্ভার ক্লাস্টার)।

আমি আরও বলব যে সুরক্ষা পৃথক সার্ভারগুলিতে সরানোর ক্ষেত্রে বড় ভূমিকা পালন করে কারণ প্রতিটি সার্ভারের জন্য নেটওয়ার্ক অ্যাক্সেসের জন্য আপনার বিভিন্ন নীতি থাকতে পারে (উদাহরণস্বরূপ, ল্যানে একটি ডাটাবেস সার্ভার সহ একটি ডিএমজেড ওয়েব সার্ভার)।

নেটওয়ার্কের মধ্যে ডাটাবেস সার্ভারে অ্যাক্সেস শেষ। অর্থাত্ যখন আপনি সাধারণত আপনার ডাটাবেস হোস্টের জন্য "লোকালহোস্ট" নির্দিষ্ট করে থাকেন, আপনি আপনার ডাটাবেস সার্ভারের হোস্ট / আইপি ঠিকানা নির্দিষ্ট করে দিবেন। দ্রষ্টব্য: লুপব্যাক ইন্টারফেস ব্যতীত অন্য কোনও ইন্টারফেসে শোনার সক্ষম করার জন্য আপনাকে সাধারণত আপনার ডাটাবেস সার্ভারের কনফিগারেশনটি পরিবর্তন করতে হবে।


এছাড়াও, একটি উত্সর্গীকৃত মেশিন ডিস্ক কনফিগারেশন যথাযথভাবে টুইঙ্কিং করতে দেয়। ডেটা একটি RAID 6 এ বাস করে যখন ওয়েব সার্ভারগুলি বেশ খুশি হয়; ডাটাবেস সার্ভারগুলি RAID 1 পছন্দ করে
সাইমন রিখটার

12

একটি পৃথক ডাটাবেস সার্ভার ভাল, স্কেলযোগ্য ডিজাইনের একটি অংশ। আপনার ট্র্যাফিক খুব বেশি না হয় এবং একক সার্ভার সত্যই যথেষ্ট কিনা তা বিবেচ্য নয়।

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

এছাড়াও সিসাদমিন দৃষ্টিকোণ থেকে এটি আরও স্পষ্ট হয় যে যদি "mysql-01.yourcompany.com" এবং "webserver-01.yourcompany.com" এর মতো সংবেদনশীলতার সাথে ডেডিকেটেড সার্ভার থাকে। যখন তারা সতর্কতা পান, তারা তত্ক্ষণাত্ কী ঘটছে তা দেখতে পান, অন্তত "ঠিক আছে, ডাটাবেসটিতে কিছু ভুল আছে" অর্থে। আমি জানি যে এটি একটি দুর্বল যুক্তি যেহেতু বেশ কয়েকটি ডিএনএস নামগুলি একটি একক সার্ভারে নির্দেশিত করতে পারে তবে এখনও।

আপনার অ্যাপ্লিকেশনগুলি নেটওয়ার্কটিতে কোনও সমস্যা ছাড়াই দূরবর্তী ডেটাবেস সার্ভারে সংযুক্ত হবে। Aieeeeeee! আপনার ওয়েব ব্রাউজারটি কীভাবে একটি দূরবর্তী সার্ভারের সাথে সংযুক্ত হয়? এটা যাদু! এরম .... আরও গুরুতরভাবে, 'লোকালহোস্ট'-এর পরিবর্তে আপনি কেবল $ প্রোগ্রামিং_আঙ্গি_স_আপনার_চয়েসে সার্ভারের ঠিকানা সরবরাহ করুন এবং আপনি প্রস্তুত।


2
জ্যানের মন্তব্যে পুনরায়: সিসাদমিন দৃষ্টিকোণ ... আপনার যখন পারফরম্যান্স সমস্যা হয় বা অন্যথায় অ্যাপ্লিকেশনটি ডিবাগ করা দরকার তখন ওয়েবসার্ভার এবং ডাটাবেস সার্ভার পৃথক মেশিনে থাকা অবস্থায় এটি করা খুব সহজ।
HTTP500

5
  • কিছু ওয়েবসাইট / অ্যাপ্লিকেশনগুলি এত বেশি ডেটাবেস ব্যবহার করে যে তাদের ডাটাবেসে নিজেই ডেডিকেটেড এক বা একাধিক সার্ভারের প্রয়োজন।
  • নেটওয়ার্কের ওপরে।

3

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

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

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


2

মাইএসকিউএল কোয়েরিতে খুব সংস্থানযুক্ত সংস্থান হওয়ার সম্ভাবনা রয়েছে যা আপনার এলএএমপি সার্ভারকে ধীর করে দিতে পারে।

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

ওয়েব সার্ভারটিকে localhostডাটাবেস অনুসন্ধান করার পরিবর্তে কেবল ডাটাবেস সার্ভারের ঠিকানায় সংযোগ করতে হবে।

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