I am trying to develop an time card application. So for Every month there will be 30 or 31 days. (with the fields AM-IN, AM-OUT, PM-IN, PM-OUT, Etc) which is a VARCHAR(4500) in mysql
What is my idea is to store this one month data (30 days) in to one row in the database. I am storing 30 days data in XML format. so while fetching only one row is selected.
Everything is perfect. It is working great.
The client is expecting 1 million users to use this time card. Now the issue comes when i created stress data. I created stress data for 1 million users for 3 years. Exactly ( 1 million * 12 months *3) number rows created. The application is working fine. But when i see the disk usage this table consumes 50 GB. I am sure this 50 GB consumption is because of VARCHAR(4500). If i break it up in to seperate columns this issue wont be there.
Here is my question. If i break the time card VARCHAR(4500) in to seperate fields i will be storing rows for each day. So the number of rows stored will be ( 1 million * 12 months * 30 days *3)
In the case of real time (10,000 users accessing parallely this time card page) Will tomcat + mysql can handle 10,000 parallel requests ( i mean fetching 30 records per hit) ?
Which DATA MODAL to use
1) Storing 1 month data in a single row
or
2) Storing 1 month data in 30 rows?