What's the maximum number of categories we can have?

I’m considering using Discourse as the backend for my website and app, but I haven’t seen any documentation on its scaling limits.

What’s the maximum number of categories we can have? Is it 1000? 10,000? 100,000?

I plan to heavily use the API and create a custom frontend for both web and mobile. Part of this is programmatically creating a new Category whenever a user wants to. So it’s more of a backend systems question than the UI.

For example, will the /categories.json endpoint scale? It doesn’t seem paginated.

Thanks!

500 to 1000 is safe

If you need more consider tags

Additionally you can have a very large number of groups

Thanks @sam! Follow up question – what would the approximate limits be for:

  • the number of tags
  • the number of topics in a category

For example, can I have a few million unique tags, as well as a few million topics within a single category?

The tags, topic_tags, and topics tables don’t appear to be sharded, which should work for a few million rows, but I haven’t looked into the queries themselves, nor any UI that could potentially break.

Is there a table somewhere showing this kind of information?

The default post size is 32000 characters, for example, but what is the absolute max, what is the practical max?

Hi! Just wondering if you found the answer to this? Specifically I’m also wondering about the max number of tags.

Determining a “maximum” depends on what you consider to be the limiting factor.

I don’t see a problem with PostgreSQL
PostgreSQL: About

Maximum Table Size 32 TB

Even with optimal indexing, query speeds will at some point take “too long”. What that is will vary from person to person.

Then there’s Ruby, Ember, bandwidth and browser limits. Feel free to research, but I wouldn’t worry about those.

I think that long before any software limits are reached “sane” limits will have already been passed. And what that would be will vary from person to person and how they interact with the information.

tl;dr You will break your users long before you break any code.

I have 2500 categorys and my demand up to 3000 category, can i continue?

Personally I never subscribe to a site that has 2500 categories.
Virtually you can create all the categories you want but your site will only be confusing and not navigable.

Note that an official answer has already been given to your question and also an alternative to using categories.

The problem of categories in the first place is the problem of transparency and navigation for users. Working previously on the catalogue dmoz.org and making categories for Russian directories, we are faced with the fact that with a large number of categories, problems arise in users. A large number of categories, it’s like there are no more categories. They become unnecessary, impossible to use. Nobody understands the structure of the site, including those who did it. I think that’s the problem.

Navigation should be navigation, and if it loses its functions, it is sad.

بغض النظر عن اعتبارات واجهة المستخدم، أنا فضولي لمعرفة ما يحدث عندما تصل إلى نطاق 1000+ فئة. هل ستستغرق الاستجابات وقتًا أطول قليلاً في المتوسط، أم أن هناك عواقب كارثية؟ هل يمكن حل هذه المشكلة باستخدام أجهزة أفضل؟

مثل صاحب المنشور الأصلي، أعمل على مشروع قد يحتوي بسهولة على آلاف الفئات. يعتمد المشروع بشكل كبير على الصلاحيات القائمة على المجموعات، وقد يتمكن المستخدم الفردي من رؤية حفنة فقط منها (ولهذا السبب لا يمكنني استخدام الوسوم). لذا، لست قلقًا بشأن إرباك واجهة المستخدم بقدر ما أود معرفة ما هو الاختناق في هذا النطاق الأعلى.

بصراحة، ربما لا يحدث شيء فظيع، إلا إذا كنت مسؤولًا ولديك وصول إلى 1000+ تصنيف. في هذه الحالة، سنرسل لك ملف JSON الخاص بكل تصنيف في صفحتك الأولى، وستصبح صفحة التصنيفات بطيئة من جانب الخادم ومن جانب العميل على حد سواء.

بشأن هذا:
إذا كان لدي مئات إلى آلاف الفئات، هل هناك خيار للحد من عدد نتائج البحث؟
مشكلتي: بسبب العدد الكبير من الفئات، يؤدي النقر على القائمة المنسدلة عند إنشاء موضوع جديد، أو البحث عن الفئات عند الاشتراك فيها، إلى تأخير طويل (عشرات الثواني).

أعلم أن لدينا خيارًا للحد من عدد النتائج في مثل هذه الحالات عند استخدام الوسوم. هل لدينا/هل يمكننا الحصول على نفس الخيار للفئات؟

مرحبًا @Tayyab_Anwar

لقد قمت للتو بالتحقق من قاعدة البيانات نيابةً عنك، ولا توجد إعدادات تتعلق بتقييد الفئات (للبحث) في قاعدة البيانات.

هناك بعض القيود المتاحة في واجهة المستخدم (كما تعلم):

لذلك، يبدو أنك ستحتاج إلى إنشاء إضافة (plugin) لإضافة ميزات إضافية لتقييد نتائج البحث بناءً على الفئات والمعايير ذات الصلة.

أتمنى أن يكون هذا مفيدًا.

هل يمكنك مشاركة بعض الأرقام حول الموارد التي تحتاجها للاستضافة؟
كم من ذاكرة الوصول العشوائي (RAM) ومعالج (CPU) تستخدم عادةً؟

أيضًا، كيف هي تجربة المستخدم، وما سرعة التحميل؟ هل توجد اختناقات في بعض المناطق؟

أسأل لأنني أرغب في تأمين المحادثات بين المرضى والأطباء:

لدي موقع يحتوي على أكثر من 500 فئة (إذا كانت ذاكرتي لا تخونني). أعتقد أنه كان يعمل بشكل جيد على خادم Droplet محسّن للوحدة المركزية بسعر 80 دولارًا شهريًا، مع حوالي 250 ألف مشاهدة للصفحة شهريًا.

هل يمكنك مشاركة آخر انطباعاتك حول استخدام عدد كبير من الفئات؟

  • كم عدد الفئات التي تمتلكها حاليًا؟
  • هل جميع المستخدمين لديهم هذا العدد الكبير من الفئات، أم أن الوصول مقصور على المشرفين فقط؟
  • هل قمت بتعديل كود Discourse أو إضافة تعديلات أخرى؟

شكرًا مقدّمًا.

هل ترغب في معرفة كيفية نشر مواضيع جديدة مع وجود عدد كبير من الفئات؟

يتطلب زر “موضوع جديد” في الصفحات الرئيسية (الفئات، الأحدث، الجديد) منك تحديد فئة، ما لم تكن تسمح بالنشر بدون تصنيف. يبدو اختيار فئة من القائمة المنسدلة غير عملي مع وجود عدد كبير من الفئات في القائمة. كيف تتعامل مع هذا الجانب؟

لدي أكثر من 300 فئة (مع العديد من الفئات الفرعية)، لكن المشرف هو الوحيد الذي يرى هذا العدد الكبير.
يمكنك البحث داخل القائمة المنسدلة، لكن يجب أن تعرف مسبقًا اسم الفئة التي تريد النشر فيها.
المشكلة الرئيسية بالنسبة لي هي التمرير للوصول إلى فئة بعيدة في الصفحة الرئيسية (يمكن حلها بسهولة باستخدام ميزة البحث).

أنا مهتم بهذا أيضًا. مجتمعي هو مشغلو الراديو الهواة، وهناك الآلاف من الأندية المحلية الصغيرة. أود أن أقدم لكل نادٍ محلي مجموعته الخاصة لمناقشة شؤون النادي المحتملة.

من المحتمل أن يستغرق الأمر وقتًا طويلاً قبل أن أصل إلى أي حدود. أتخيل أنني سأصل على الأرجح إلى 500 مجموعة كحد أقصى بكامل طاقتها، ولكل منها فئتها الخاصة.

سيتم عرض هذه المجموعات فقط للمستخدمين الذين تمت إضافتهم إلى النادي عبر واجهة برمجة التطبيقات (API).

إذًا (في الغالب) جميع الفئات خاصة ومتاحة فقط لأعضاء المجموعة؟ لست متأكدًا، لكن أعتقد أن هذا يحل الكثير من مشاكل الأداء وإذا كنت تعتقد أنك ستبقى عند حوالي 500 فقد تكون على صواب حتى لو كنت مخطئًا. أعتقد أن حوالي 200 هو الحد الأقصى الموصى به، لكن لدي موقع به 200 أو 300. وسيكون لديك تحذير حتى تتمكن من فصلها إلى مثيلات متعددة إذا زادت أرقامك كثيرًا.