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.

UI 관련 사항은 제쳐두고, 범주가 1,000개 이상으로 증가하면 어떤 일이 일어나는지 궁금합니다. 응답 시간이 평균적으로 약간 길어지는 수준인지, 아니면 치명적인 결과가 발생하는 건지 알고 싶습니다. 더 나은 하드웨어를 투입하면 해결할 수 있는 문제일까요?

OP와 마찬가지로, 범주가 수천 개에 달할 수 있는 프로젝트를 진행 중입니다. 이 프로젝트는 그룹 기반 권한을 광범위하게 사용하며, 개별 사용자는 소수의 범주만 볼 수 있습니다(이것이 태그를 사용할 수 없는 이유입니다). 따라서 UI가 지나치게 복잡해지는 것보다는, 범주가 그 정도로 높아졌을 때 병목 현상이 어디에 발생하는지 알고 싶습니다.

솔직히 큰 문제는 없을 것입니다. 단, 관리자로서 1,000개 이상의 카테고리에 접근 권한이 있는 경우를 제외하고는요. 그 경우 첫 페이지에 모든 카테고리 JSON을 전송하게 되며, 카테고리 페이지가 서버 측과 클라이언트 측 모두에서 느려질 것입니다.

이와 관련하여:
카테고리가 수백 개에서 수천 개에 이르는 경우, 검색 결과의 수를 제한할 수 있는 옵션이 있나요?
제 문제는 다음과 같습니다. 카테고리가 너무 많아서 새 토픽을 만들 때 드롭다운을 클릭하거나, 카테고리를 구독할 때 카테고리를 검색하면 긴 지연(수십 초)이 발생합니다.

이러한 시나리오에서 태그의 결과 수를 제한하는 옵션이 있다는 것은 알고 있습니다. 카테고리에도 동일한 기능을 적용할 수 있나요?

@Tayyab_Anwar 안녕하세요.

데이터베이스를 확인해 보았지만, 검색 시 카테고리를 제한하는 설정은 데이터베이스에 존재하지 않습니다.

UI에서는 이미 몇 가지 제한 기능이 제공되고 있습니다(알고 계시겠지만):

따라서 카테고리 및 관련 기준에 따라 검색 결과를 제한하는 추가 기능을 사용하려면 플러그인을 직접 개발해야 할 것으로 보입니다.

도움이 되셨으면 좋겠습니다.

호스팅에 필요한 리소스에 대한 수치를 공유해 주실 수 있을까요?
보통 RAM과 CPU를 얼마나 사용하시나요?

또한, 사용자 경험은 어떤가요? 로딩 속도는 빠르나요? 특정 영역에서 병목 현상이 있나요?

환자와 의료진 간의 대화를 안전하게 보호하고 싶어 이렇게 질문드립니다:

제가 기억하기로는 500개 이상의 카테고리가 있는 사이트입니다. 월 80달러짜리 CPU 최적화 드롭렛에서 월 약 25만 페이지뷰를 처리하면서 괜찮게 돌아가던 것 같습니다.

카테고리를 이렇게 많이 사용하면서 얻은 최신 인상을 공유해 주실 수 있나요?

  • 현재 카테고리가 몇 개인가요?
  • 모든 사용자에게 이 많은 카테고리가 열려 있나요, 아니면 접근이 제한되어 관리자만 모든 카테고리에 접근할 수 있나요?
  • Discourse 코드를 수정했거나 다른 튜닝을 추가했나요?

미리 감사합니다.

카테고리가 이렇게 많은데 새 주제를 게시하는 방식이 궁금합니다.

홈페이지(카테고리, 최신, 새 글)의 새 주제 버튼은 카테고리 미지정 게시를 허용하지 않는 한 카테고리를 선택해야 합니다. 목록에 카테고리가 너무 많아 드롭다운에서 카테고리를 선택하는 것은 실용적이지 않아 보입니다. 이 부분은 어떻게 처리하시나요?

저는 300개 이상의 카테고리를 가지고 있습니다(하위 카테고리가 많긴 하지만), 하지만 그렇게 많은 카테고리를 볼 수 있는 사람은 관리자뿐입니다.
드롭다운 메뉴에서 검색할 수는 있지만, 게시글을 올리고 싶은 카테고리의 이름을 미리 알고 있어야 합니다.
제게 가장 큰 '문제’는 홈페이지에서 아래쪽에 있는 카테고리를 스크롤해야 하는 부분인데(검색 기능을 사용하면 쉽게 해결할 수 있습니다).

저도 이 부분에 관심이 있습니다. 제 커뮤니티는 아마추어 무선 운영자들로 구성되어 있으며, 수천 개의 작은 지역 클럽이 있습니다. 각 지역 클럽에 클럽 관련 사항을 논의할 수 있는 전용 비공개 그룹을 제공하기를 원합니다.

한도에 도달하기까지는 상당한 시간이 걸릴 것으로 보입니다. 전체 용량 기준으로 최대 약 500개의 그룹, 각 그룹마다 고유한 카테고리가 있는 수준이 될 것으로 예상합니다.

이러한 그룹은 API를 통해 해당 클럽에 추가된 사용자에게만 표시될 것입니다.

즉, (거의) 모든 카테고리가 비공개이며 그룹 멤버만 접근할 수 있다는 뜻인가요? 확실하지는 않지만, 이렇게 하면 성능 문제의 상당 부분이 해결될 거라고 생각합니다. 그리고 500개 정도를 유지할 계획이라면, 제 추측이 틀리더라도 괜찮을 수 있습니다. 권장 최대치는 200개 정도라고 생각하지만, 제 사이트는 200~300개를 사용하고 있습니다. 숫자가 너무 커지면 경고 메시지가 표시되므로, 그때 여러 인스턴스로 나누어 관리할 수 있습니다.