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 | |||