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.

Abgesehen von UI-Überlegungen bin ich neugierig, was passiert, wenn man den Bereich von über 1000 Kategorien erreicht. Werden die Antworten im Durchschnitt nur etwas länger dauern, oder gibt es katastrophale Folgen? Lässt sich das Problem durch bessere Hardware lösen?

Wie der OP arbeite ich an einem Projekt, das leicht Tausende von Kategorien haben könnte. Es nutzt stark gruppenbasierte Berechtigungen, und ein einzelner Benutzer kann möglicherweise nur eine Handvoll sehen (deshalb kann ich keine Tags verwenden). Daher mache ich mir weniger Sorgen, dass die UI überwältigend wirkt, aber ich möchte wissen, wo der Flaschenhals in diesem höheren Bereich liegt.

Ehrlich gesagt wahrscheinlich nichts Schlimmes, es sei denn, du bist Administrator und hast Zugriff auf 1000+ Kategorien. In diesem Fall würden wir dir auf deiner ersten Seite alle einzelnen Kategorie-JSONs liefern, und die Kategorien-Seite würde sowohl serverseitig als auch clientseitig langsam werden.

In Bezug darauf:
Wenn ich Hunderte bis Tausende von Kategorien habe, gibt es dann eine Möglichkeit, die Anzahl der Suchergebnisse zu begrenzen?
Mein Problem: Aufgrund der großen Anzahl von Kategorien führt das Klicken auf das Dropdown-Menü beim Erstellen eines neuen Themas oder das Suchen nach Kategorien beim Abonnieren zu einer langen Verzögerung (mehrere Sekunden).

Ich weiß, dass wir in solchen Szenarien die Option haben, die Anzahl der Ergebnisse auf Tags zu beschränken. Gibt es diese Möglichkeit auch für Kategorien, oder können wir sie einrichten?

Hallo @Tayyab_Anwar,

ich habe gerade für dich in der Datenbank nachgeschaut, und es gibt keine Einstellungen zur Einschränkung von Kategorien (für Suchen) in der Datenbank.

Im Benutzerinterface sind jedoch einige Einschränkungen verfügbar (wie du weißt):

Es sieht also so aus, als müsstest du ein Plugin erstellen, um zusätzliche Funktionen hinzuzufügen, mit denen Suchergebnisse basierend auf Kategorien und verwandten Kriterien eingeschränkt werden können.

Ich hoffe, das hilft weiter.

Können Sie einige Zahlen zu den Ressourcen nennen, die Sie für das Hosting benötigen?
Wie viel RAM und CPU nutzen Sie normalerweise?

Außerdem: Wie ist die Benutzererfahrung, wie schnell lädt die Seite – gibt es Engpässe in bestimmten Bereichen?

Ich frage, weil ich Gespräche zwischen Patienten und Ärzten absichern möchte:

Ich habe eine Website mit über 500 Kategorien (wenn ich mich recht erinnere). Ich glaube, sie lief auf einem CPU-optimierten Droplet für 80 $ im Monat ganz gut, bei etwa 250.000 Seitenaufrufen pro Monat.

Kannst du deine neuesten Eindrücke zur Nutzung so vieler Kategorien teilen?

  • Wie viele Kategorien hast du derzeit?
  • Haben alle Benutzer so viele Kategorien, oder ist der Zugriff eingeschränkt, sodass nur Administratoren Zugriff auf alle Kategorien haben?
  • Hast du den Discourse-Code geändert oder andere Anpassungen vorgenommen?

Vielen Dank im Voraus.

Interessiert daran zu erfahren, wie das Erstellen neuer Themen mit so vielen Kategorien funktioniert?

Die Schaltfläche „Neues Thema

Ich habe über 300 (mit vielen Unterkategorien), aber nur der Admin sieht so viele.
Du kannst in der Dropdown-Liste suchen, musst aber vorher den Namen der Kategorie kennen, in der du posten möchtest.
Das eigentliche „Problem

Ich interessiere mich auch dafür. Meine Community besteht aus Amateurfunkern, und es gibt Tausende von kleinen lokalen Vereinen. Ich würde jedem lokalen Verein seine eigene private Gruppe anbieten wollen, um potenziell Vereinsangelegenheiten zu besprechen.

Es würde wahrscheinlich lange dauern, bis ich irgendwelche Limits erreiche. Ich stelle mir vor, dass ich bei voller Kapazität wahrscheinlich ein Maximum von etwa 500 Gruppen erreichen würde, jede mit ihrer eigenen Kategorie.

Diese Gruppen würden nur für Benutzer angezeigt, die über die API zum Verein hinzugefügt wurden.

Sind also (größtenteils) alle Kategorien privat und nur für Gruppenmitglieder verfügbar? Ich bin mir nicht sicher, aber ich glaube, das löst viele der Leistungsprobleme, und wenn Sie denken, dass Sie bei etwa 500 bleiben, sind Sie vielleicht dabei, auch wenn ich falsch liege. Ich denke, etwa 200 ist das empfohlene Maximum, aber ich habe eine Website mit 200 oder 300. Und Sie erhalten eine Warnung, sodass Sie sie in mehrere Instanzen aufteilen könnten, wenn Ihre Zahlen zu groß werden.