This week's book giveaway is in the OCAJP forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide 1Z0-808 and have Jeanne Boyarsky & Scott Selikoff on-line! See this thread for details.
we are currently doing maintenance of an application. Due to the addition of a certain function, it is expected that the users would increase ...say about 500,000 more. We already made changes in the back end part to be able to handle this. My question is, the client is asking how much more additional space or size would the database need? now I am not an oracle db admin so i really wouldn't know this. I've read some notes online on how to do this but really can't understand miuch.
what i want to know is, lets say X tables will be added and total data to be stored in these tables is Y, how do you obtain additional space or size needed for the database? our database is oracle 11g by the way.
I'd say that this would typically be measured in a test or development environment. You create a representative sample of data for, say, 1000 users, measure the increase in database storage space, multiply it by 500 to obtain figure for 500,000 more users and add some cushion for unexpected variation of your data (at least 20%, but perhaps 50%). The data must be representative - number 1.0 takes less space in the Oracle database than 1.000001, for example, which would be a problem if you used approximate numbers instead of real world ones. You should also let your application run for some time on the environment you're running the tests on, because indexes (and to some extent even tables) typically grow a bit after being created afresh due to updates and deletes, which leave "holes" in them.
If your application keeps historical data, you should similarly measure how much your database grows every year and factor this into the database sizing as well (so you'd say to your customer that your application needs 5GB of storage space every year).