len([]byte("string")) // <-- количество байт
Другое дело что базы данных часто:
- сжимают данные (особенно текстовые), по этому картинки и не рекомендуют складывать в базу данных
- хранят множество различных индексов на каждую запись, что бы было удобно доставать данные
- хранят указатели на данные
- хранят логи (бинарные или текстовые)
- имеют кеш в памяти
- имеют лог транзакций (или не имеют, в зависимости от базы)
- много чего еще
По этому размер "таблицы" или "базы данных" в каждом случае считается по своему.
Из in-memory баз данных с гарантированным сохранением на диск сейчас активно пиарят Tarantool, там как раз все данные в памяти, но при записи они становятся доступными только когда произошла запись в лог на диск. Если есть достаточное количество оперативки то хороший выбор, на нём живёт множество сервисов "большого" русского интернета.
Если оперативки мало (500 мегабайт например), то больше подойдёт классическая база данных с кешированием горячих данных.