Skip to Main Content

Breadcrumb

Question and Answer

Connor McDonald

Thanks for the question, Kamran.

Asked: January 21, 2019 - 7:56 pm UTC

Last updated: January 22, 2019 - 12:21 am UTC

Version: Oracle 12c

Viewed 1000+ times

You Asked

Hi there,

I need to come up with right sizing for our database based on the below information.
36 million records for a total of 1000 character per record. I have the following estimations but I need to add Index Size and other calculations as well including the Block Size if you don't mind.

So, 365,000,000 records * 1000 (Characters per row) = 36 Trillion. or 219 Terabit.

Any recommendations are greatly appreciated.

Thanks a lot!

and Connor said...

For block size, I go with the default (8k) unless there is a specific reason not to.

Your numbers don't match the sentence ?

36 million = 36,000,000
1000 chars = 36,000,000,000

= 36 gigabytes

If it is actually 365million, then its 365gigabytes

Whilst it very much depends on application requirements, it is not uncommon for index sizes to roughly match data sizes, so you could roughly assume 70 (or 700) gigabytes from the 2 possible numbers above.

If you have a more accurate idea of what indexes you'll need, a quick size estimate is: ( size of key + 10) * # of keys.

I wouldn't over think sizing too much. Because you could a long time coming up with an accurate estimate of (say) 712 gigabytes. Is that any different to 600 or 800? Not really. As long as your order of magnitude is in the right ballpark, that's good enough

Hope this helps.

Is this answer out of date? If it is, please let us know via a Comment

More to Explore

Design

New to good database design? Check out Chris Saxon's full fundamentals class.