Я в Firebird держу 3 домена (статичных типа)
D_CODE (varchar 64)
D_STRING (varchar 512)
D_TEXT (blob sub_type text)
других длин строк просто нет.
При хранении на диске они сжимаются хитрыми алгоритмами самого Firebird (RLE compression)
В памяти на клиенте находится только содержимое строки.
Валидаторы все типовые
win-win