Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I am using redmine for project management and issue tracking.

I was looking at the database tables and the underlying structure and was wondering if anyone who is experienced with database architecture can comment on the structure.

I am concerned that once there are many users and hundreds (or thousands) of projects (each project containing many issues, with each issue containing many messages, etc.), the database structure could possibly turn out to be a weak point.

How is the performance impacted by this design? I would like to hear about the Pros/cons of how the tables are laid out and how the data is separated or normalized, and whether or not it might be worth re-structuring. What would be the benefits of separating the data out to more tables (with less columns per table)

share|improve this question
    
Specifically, what parts of the schema are you confused about? And without rearchitecting all of the ActiveRecords - you can't really change the table structure (and if you do, you'll never be able to do an update). There are other issues (ruby, threading, app server, orm) that are likely more performance impacting than the database structure itself. –  MichaelT Apr 7 at 18:47
    
oh. hmm. I was just wondering about the general structure and its state of normalization. With the "issues" table containing all issues and things like "messages" containing all messages for any and all issues, I feel like tables like "messages" will get very big very quickly. Could you point out possible "weak points" in the database structure? I do not mind re-architecting things or never doing an update to Redmine. But regarding those "other issues" can you explain in what manner that they become an issue (i.e. once there are too many concurrent users, too many records of something, etc)? –  agent provocateur Apr 7 at 18:55
    
In a former life, I was a redmine maintainer / internal upgrader / tweaker... lots of bits. Might I suggest dropping into Programmers Chat where I can more easily discuss the issues? –  MichaelT Apr 7 at 18:57
    
I will be there! just on my break for now. Thank you for offering to help!! Can you tell me which room i should join? –  agent provocateur Apr 7 at 19:56
    
There's really only one - the whiteboard. chat.stackexchange.com/rooms/21/the-whiteboard –  MichaelT Apr 7 at 20:06

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.