Design de Banco de Dados: para EAV ou não para EAV?

Diga que eu tenho uma entidade que terá muitos atributos, alguns que eu conheço agora e outros serão definidos pelo usuário. Qual é a melhor maneira de modelar isso?

1) Tenho uma tabela principal e a relaciono a uma tabela secundária de pares nome-valor? Todos os atributos estão na tabela EAV secundári

OR -

2) Coloco os atributos mais comuns (nem todos os usuários precisarão deles, portanto, espero muitas entradas NULL) na tabela principal e tenho a tabela EAV secundária para os atributos definidos pelo usuári

OR -

3) Alguma outra abordagem em que eu ainda não pense

questionAnswers(3)

yourAnswerToTheQuestion