não vá a rota chave/valor. O SQL não foi projetado para lidar com isso e fará com que obter dados reais do seu banco de dados seja um exercício de auto-tortura. (Exemplos:os índices não funcionam bem. As associações são muito divertidas quando você precisa ingressar apenas para obter os dados nos quais está participando. Isso continua.)
Contanto que os dados sejam normalizados para um nível decente, você não terá muitas colunas.
EDIT:Para ficar claro, existem alguns problemas que só podem ser resolvidos com a rota chave/valor. "Muitas colunas" não é uma delas.