পোস্টগ্র্রেসে হাজার হাজার ব্যবহারকারী থাকতে পারে?


9

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

আমাদের ডাটাবেসে 50.000 ব্যবহারকারী থাকায় আমরা কি কিছু অপ্রত্যাশিত সমস্যার মধ্যে পড়ে যাব? কর্মক্ষমতা-ভিত্তিক বা প্রশাসন-ভিত্তিক। সংযোগ পুলিং আরও কঠিন হতে পারে তবে আমাদের এটি প্রয়োজন কিনা তা আমি সত্যি জানি না।


2
আপনি কোনও ধরণের সংযোগ পুলিং করতে সক্ষম হবেন না যদি আপনি ডিবি অথথ ব্যবহার করেন তবে? পারফরম্যান্সের জন্য গুরুত্বপূর্ণ সমস্যাটি হ'ল ডিবিতে ব্যবহারকারীর সংখ্যার চেয়ে সামনের সংযোগগুলির সংখ্যা এবং তারা কতগুলি সংস্থান ব্যবহার করে।
জ্যাক বলছেন টপান্সওয়ার্স.অ্যাক্সিজ

2
@ জ্যাকডুগলাস হ্যাঁ, আপনি সংযোগ পুলিং ব্যবহার করতে পারেন। তখন "কমন ইউজার" হিসাবে সংযুক্ত হনset role actualUser
নীল ম্যাকগুইগান

2
@ নিল নিশ্চিত, তবে এটি ডিবি লেখক নয়। আপনি যদি ডাটাবেস ব্যবহারকারীর পাসওয়ার্ড ব্যবহার করে প্রমাণীকরণ করেন তবে পোস্টগ্রিতে আপনাকে কিছু ধরণের বাহ্যিক লেখার প্রয়োজন হবে।
জ্যাক বলছেন টপান্সওয়ার্স.অক্সিজ

2
@ জ্যাকডুগলাস আপনি ঠিক বলেছেন, এটি ডিবি লেখকের বিপরীতে প্রক্সি লেখক।
নিল ম্যাকগুইগান

এখনও পর্যন্ত উত্তরগুলি সহসংখ্যক ব্যবহারকারীকে উচ্চ সংখ্যক ধরে নিচ্ছে, এই ক্ষেত্রে কি হবে?
জ্যাক বলছেন topanswers.xyz

উত্তর:


12

হ্যাঁ, এটা ঠিক আছে। আপনার যদিও সংযোগ পুলিং ব্যবহার করা উচিত, কারণ পিজি প্রতি সংযোগের জন্য মোটামুটি পরিমাণ মেমরি ব্যবহার করে (প্রায় 10 এমবি আফাইক)।

প্রতি বাক্সে 500 এরও বেশি একযোগে সংযোগগুলি যদিও সমস্যা হবে (যেমন সক্রিয়ভাবে সঠিক সময়ে ডাটাবেসটি অনুসন্ধান করা)। আরও সিপাস / কোর ভাল। RAID 10 সহ এসএসডি ব্যবহার করুন।

আপনার সাআস অ্যাপ্লিকেশনটি একজন ব্যবহারকারী হিসাবে, তারপরে set roleআসল ব্যবহারকারীর সাথে সংযুক্ত হওয়া উচিত । এটি আপনাকে সংযোগ পুলিং ব্যবহার করতে দেয়, কারণ সংযোগের স্ট্রিং একই হবে, তবে বিভিন্ন ব্যবহারকারী ব্যবহার করুন। reset roleপুলটিতে সংযোগ ফিরিয়ে দেওয়ার সময় আপনার উচিত ।

এটি আসলে ডাটাবেস প্রমাণীকরণ নয়। এটি প্রক্সি প্রমাণীকরণ (ওরফে ছদ্মবেশ)।

আপনি প্রতি সংস্থা বা ভূমিকা হিসাবে পৃথক পুল বিবেচনা করতে পারেন।

প্রশাসককে আরও সহজ করার জন্য, আপনি ব্যবহারকারীদের গোষ্ঠীগুলিতে স্থাপন করতে পারেন এবং গোষ্ঠীগুলির মাধ্যমে অনুমতি সেট করতে পারেন। একে আরবিএসি বলে।

আপডেট: আমি ২.৪ সেকেন্ডের মধ্যে ৫০,০০০ ব্যবহারকারী তৈরি করতে সক্ষম হয়েছি। পিজিএডমিন ব্যবহারকারী সংখ্যা হিসাবে ধীরে ধীরে ধীর। তবে জেডিবিসির মাধ্যমে সংযোগ দেওয়া আগের মত দ্রুত is আমি একবারে ৫০,০০০ ব্যবহারকারীকে ফেলে দিতে পারিনি, তবে একবারে প্রায় 10,000 করে ফেলতে পারি।


আপনার গবেষণার জন্য আপনাকে অনেক ধন্যবাদ। পিজিএডমিনে আদৌ কাজ করা কি সম্ভব ছিল? সেখানকার পারফরম্যান্স নিয়ে কি বড় সমস্যা ছিল?
ডেভিড

@ ডেভিড পিজিএডমিন ঠিকঠাক ছিল, স্লো। পিএসকিএল ঠিক থাকতে হবে। জিনিসগুলি গতি বাড়ানোর জন্য পিজিএডমিনকে টুইট করতে সক্ষম হতে পারে।
নীল ম্যাকগুইগান

2

পারফরম্যান্স: হাজার হাজার একযোগে সংযোগ আপনার স্মৃতিটি গ্রাস করবে, সংযোগ পুলিং ব্যবহার করার পরামর্শ দেওয়া প্রায় এক হাজার সমান্তরাল সংযোগগুলির উপরে, পিজিবাউসার একটি ভাল, স্কাইপ দ্বারা বিকাশ করা।

প্রশাসনিককরণ: 50,000 ব্যবহারকারী প্রশাসক হবেন একটি বড় কাজের আইএমও। বিভিন্ন ব্যবহার করে একই ডেটা অ্যাক্সেসের সাথে কীভাবে মূল্যবান পার্থক্য করা যায় application_name, তাই প্রতিটি মূল্যবান ব্যবহারকারীর একই ব্যবহারকারীর নাম ব্যবহার করে ডাটাবেসে সংযুক্ত হবে।

উদাহরণ:

ভিন্ন ব্যবহারকারী নাম ব্যবহার করে, প্রতিটি ক্লায়েন্ট সংযোগ স্ট্রিং হতে হবে: --user user1, --user user2, ইত্যাদি

কিন্তু ভিন্ন ব্যবহার application_name, প্রতিটি ক্লায়েন্ট সংযোগ স্ট্রিং হতে হবে: --user user1 --application_name costumer1, --user user1 --aplication_name costumer2, ইত্যাদি

application_nameলিপিবদ্ধ করা হয় pg_stat_activityএবং লগ যেতে পারে। আমি মনে করি এটি কার্যকর করা সহজ হবে। আর application_nameএছাড়াও নিরীক্ষা ট্রিগার আপনি আবেদন করতে চান লগ করা হয়। আরও বিশদ এখানে

আশা করি এটা সাহায্য করবে.


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