PostgreSQL
From SusoSight
PostgreSQL is a pretty good open source database system. I used to use MySQL a lot, but now I've switched much of my more intense data to Postgres.
On disk size of column types
From the postgresql manual, the data types chapter [1]
Name | Storage Size | Range | ||
smallint | 2 bytes | -32768 to +32767 | ||
integer | 4 bytes | -2147483648 to +2147483647 | ||
bigint | 8 bytes | -9223372036854775808 to 9223372036854775807 | ||
decimal | variable | no limit | ||
numeric | variable | no limit | ||
real | 4 bytes | 6 decimal digits precision | ||
double precision | 8 bytes | 15 decimal digits precision | ||
serial | 4 bytes | 1 to 2147483647 | ||
bigserial | 8 bytes | 1 to 9223372036854775807 | ||
money | 8 bytes | -92233720368547758.08 to +92233720368547758.07 | ||
"char" | 1 byte | |||
name | 64 bytes | |||
bytea | 1 or 4 bytes plus the actual binary string | |||
timestamp [ ( p ) ] [ without time zone ] | 8 bytes | 4713 BC - 294276 AD | ||
timestamp [ ( p ) ] with time zone | 8 bytes | 4713 BC - 294276 AD | ||
date | 4 bytes | 4713 BC - 5874897 AD | ||
time [ ( p ) ] [ without time zone ] | 8 bytes | 0:00:00 - 0:00:00 | ||
time [ ( p ) ] with time zone | 12 bytes | 00:00:00+1459 - 24:00:00-1459 | ||
interval [ fields ] [ ( p ) ] | 12 bytes | -178000000 years - 178000000 years | ||
point | 16 bytes | |||
line | 32 bytes | |||
lseg | 32 bytes | |||
box | 32 bytes | |||
path | 16+16n bytes | |||
path | 16+16n bytes | |||
polygon | 40+16n bytes | |||
circle | 24 bytes | |||
cidr | 7 or 19 bytes | |||
inet | 7 or 19 bytes | |||
macaddr | 6 bytes |