Currently, in the hive metastore schema, the length of the column SERDE_PARAMS.PARAM_VALUE is set to 4000 bytes. This is not enough for users that have a key with a value larger than 4000 bytes. Say something like hbase.columns.mapping.
I am not a database historian but appears that this limitation may have been put in place because Oracle's varchar2 was restricted to 4k bytes for a long time until recently.
According to the following documentation, even today Oracle DB's varchar2 only supports a max size of 4000 unless a configuration parameter MAX_STRING_SIZE is set to EXTENDED.
Postgres supports a max of 1GB for character datatype according to http://www.postgresql.org/docs/8.3/static/datatype-character.html
MySQL can support upto 65535 bytes for the entire row. So long as the PARAM_KEY value + PARAM_VALUE is less than 65535, we should be good.
SQL Server's varchar max length is 8000 and can go beyond using "varchar(max)".
Derby's varchar can be upto 32672 bytes.