Como modelar dados com atributos desconhecidos?

Quais são as boas maneiras de modelar dados que precisarão ser consultados, mas onde é impossível definir completamente com antecedência?

Por exemplo ... digamos que quero modelar informações sobre oPaíses do mundo. Cada país tem umpopulação, umabandeira e uma lista delínguas, isso é fácil o suficiente. Mas digamos que também queremos modelar oregistro de vitórias / derrotas de sua equipe nacional de beisebol e nem todos os países têm um, é claro. Ou, queremos acompanhar olinhagem de seus reis e rainhas (novamente, obviamente, não aplicável à maioria dos países). Ou decidimos que queremos modelar onúmero de yurts que o membro médio do clã irá erguer ao longo da vida.

Enfim, o ponto é que não sabemos (e nunca iremos) o que está por vir até que isso nos atinja. Quais são as abordagens escaláveis e passíveis de consulta?

Talvez isso seja um bom uso para umCentrado em documentos banco de dados (MongoDB?) ou talvez algum padrão de design possa ser aplicado ao clássicoRelacional base de dados?

questionAnswers(4)

yourAnswerToTheQuestion