Results 1 to 5 of 5
  1. #1
    Join Date
    Jul 2009
    Posts
    2

    databse design question

    I would appreciate any thoughts on the question below. Thanks.

    I need to create a database for a document/note/message management system, in which there are upto 10 million users, and each generates upto 50 docs/notes/messages per day. ( similar to an email management system).

    - On one end, a simple way is to have one table for user, and another huge table for docs. I am afraid that this may be slow as the table gets bigger.

    - The other end, is to have one table per each user, resulting in many many tables, but the operations (select/update/insert) may be much faster.

    Which would be more appropriate choice? In my system, users don't share documents (just as email users don't share their emails). Any thoughts/opinions would be of great help. Thanks

  2. #2
    Join Date
    Apr 2002
    Location
    Toronto, Canada
    Posts
    20,002
    Quote Originally Posted by ywlee522
    Which would be more appropriate choice?
    single table for users, single table for documents

    your statement "I am afraid that this may be slow as the table gets bigger" suggests that you don't know about indexing

    rest assured, performance will not be a problem if your tables are properly optimized (indexes created on appropriate columns)
    rudy.ca | @rudydotca
    Buy my SitePoint book: Simply SQL

  3. #3
    Join Date
    Jul 2009
    Posts
    2
    Thanks for the input.

    Do you mean that even with the growth rate of 50mil record per day, the performance would not suffer with indexing?

  4. #4
    Join Date
    Apr 2002
    Location
    Toronto, Canada
    Posts
    20,002
    50 million rows per day?

    you'll need to hire a database administrator to help you with splitting the database across several servers
    rudy.ca | @rudydotca
    Buy my SitePoint book: Simply SQL

  5. #5
    Join Date
    Jan 2007
    Location
    UK
    Posts
    11,434
    Moving to Database Concepts & Design topic

    Table and index partitioning should definately be considered when working with that volume of data.
    George
    Home | Blog

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •