سؤال

أنا على وشك إنشاء موقع ويب قائم على المستخدم وسيتعين عليه تخزين الصور والمستندات والبيانات الأخرى لكل مستخدم.

إذا أخذت رقمًا سخيفًا مثل 1000 000 000 مستخدم ، فأنا أعتقد أن من مجلد واحد مع 1000 000 000 لن يكون أسرع شيء في العالم! لذلك كنت أفكر في خلق شيء مثل

المستوى الأول: [AZ] المستوى الثاني: [AZ] المستوى الثالث: [AZ

لذلك سيكون بوبي في/ب/س/ب/بواسطة

ولكن هذا يعني أيضًا أنه لن يتم نشره على equaly ، لأنه سيكون هناك عدد قليل جدًا من المستخدمين بدءًا من AZ وغيرها الكثير مع AM و S و L ...

لذلك كنت أفكر في استخدام معرف المستخدم مثل "000000000001" ، "000000000001" إلخ ...

المستوى الأول: [000-999] المستوى الثاني: [000-999] المستوى الثالث: [000-999

لذلك ، سيتم تخزين بيانات المستخدم 000000000001 في/000/000/000/001 ، ثم سأكون متأكدًا من حصوله على مجلد 1000 في كل مستوى كحد أقصى.

ماذا تفكر يا رفاق في الأمر ، ماذا يجب أن أفعل أو لا أفعل؟

سيقوم الخادم بتشغيل CentOS 5.4 مع ext3 على RAID 1 ، إذا كان I/O سيئًا جدًا ، فمن المحتمل أن أذهب إلى RAID 10.

هل كانت مفيدة؟

المحلول

توفر وظيفة التجزئة وسيلة لتوزيع كميات كبيرة من البيانات عبر بنية يمكن البحث بها بسهولة.

انظر هذا السؤال ذي الصلة: لماذا تستخدم التجزئة لإنشاء أسماء مسارات لمجموعات كبيرة من الملفات؟

وأيضًا محاولة النظر من خلال نتائج Google دليل التجزئة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top