size concers
I am building a wep app concerning appointments.The business users will be able to store appointments of their clients in a calendar,much like someone can store an event in gmail or similar calendar.
I have never build anything similar and I really do not know what I must consider regarding the size of the db.Mostly I am concerned about the table which will store appointments and which is this:
CREATE TABLE `appointments` (
`apID` int(11) NOT NULL AUTO_INCREMENT,
`Bookfrom` int(11) DEFAULT NULL COMMENT 'σε αυτή την στήλη είναι όσοι κλεινουν το ραντεβού από το ιντερνετ και μη...όσοι είναι απο το ιντερνετ, registered δηλαδή, θα εμφανίζεται το ραντεβού στο frontend στην οθόνη τους\n',
`bookedfor` int(11) DEFAULT NULL COMMENT 'σε αυτή την στήλη αναγράφονται τα ραντεβού για τον οποίον κλείνονται τα ραντεβού και εμφανίζονται στο backend του bookedfor business_user',
`appont_close_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`name` varchar(45) DEFAULT NULL,
`startDate` int(50) NOT NULL,
`endDate` int(50) DEFAULT NULL,
`apps_origin` enum('frontend','backend') NOT NULL,
`staffID` int(11) DEFAULT NULL,
PRIMARY KEY (`apID`),
KEY `fk_appointments_user1_idx` (`Bookfrom`),
KEY `bokkedfor` (`bookedfor`),
KEY `fk_appointments_staff1_idx` (`staffID`),
CONSTRAINT `appointments_ibfk_1` FOREIGN KEY (`Bookfrom`) REFERENCES `users` (`user_ID`) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT `appointments_ibfk_2` FOREIGN KEY (`bookedfor`) REFERENCES `users` (`user_ID`) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT `fk_appointments_staff1` FOREIGN KEY (`staffID`) REFERENCES `staff` (`staff_ID`) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB AUTO_INCREMENT=36 DEFAULT CHARSET=utf8
Scenario:
1000 business users each closing about 400-500 appointments per month.
What are the demands in size for such a scenario(by modern standards) of course.
Someone could argue that past appointments be deleted so that empty space can be claimed but since I intend to add a "history" feature later deleting appointments is not an option.
I listen to what you have to say.