How to separate mongodb data files from the journal?

Is a message board / forum a good use case for MongoDB?

  • I am building message board type system that will have hundreds of topics. I am new to programming/databases and so far the mongo style query language clicks with me better than linking a ton of SQL tables. I'm also concerned with scaling as its become well known that joins are problematic. Some concerns I have with mongo: if each topic will have its own collection that contains posterID, message, vote count, and comments, it would make sense to nest all this information in one file, but eventually that collection will grow enourmous with thousands of posts all with the nested data to sift through. Dumping everything into one file does not seem like a scalable approach. If I do not nest it all and start querying separate files for data, this is just using it as a relational database. Am I losing out on mongodb benefits by doing this? What would I be gaining over MySQL if this is the correct approach? Also, I'm conserved as a beginner with a lack of community and help when needed. Is this issue still relevant now that mongo has been out for awhile and gaining traction? Any known issues with the mongo php driver?

  • Answer:

    MongoDB is well suited to this type of use - it's a Document Store, which is all forum posts are at the end of the day. However, I would organize your collections differently to leverage improved indexing - put each separate *forum* (ie. collection of posts) into separate collections, not *each post*. Then you can shard by forum. As for support, the mailing list is very active and they are fairly responsive to questions.

Jeremy Wilson at Quora Visit the source

Was this solution helpful to you?

Related Q & A:

Just Added Q & A:

Find solution

For every problem there is a solution! Proved by Solucija.

  • Got an issue and looking for advice?

  • Ask Solucija to search every corner of the Web for help.

  • Get workable solutions and helpful tips in a moment.

Just ask Solucija about an issue you face and immediately get a list of ready solutions, answers and tips from other Internet users. We always provide the most suitable and complete answer to your question at the top, along with a few good alternatives below.