armazenar objetos no banco de dados

Eu tenho muitos objetos, cada um pode ter muitos tipos diferentes de atributos. muitos dos atributos se sobrepõem, por exemplo, muitos objetos possuem o atributo "nome". Como há muitos tipos de objetos, se houver uma tabela construída para cada conjunto de objetos com o mesmo conjunto de atributos, isso exigirá muitas tabelas.

Atualmente estou usando um mysql, e ele é armazenado dessa maneira.

object_id|attribute_id|data

Existem algumas tabelas como esta, tabela diferente tem diferentes tipos de dados. Por exemplo, em uma tabela Integer, ele armazena apenas inteiros

Assim, posso armazenar todo o tipo de objeto no sistema e ainda é possível filtrar e ordenar de acordo com os dados dos atributos. Isso torna as consultas um pouco mais complexas e não acho que seja eficiente.

Esta é a única maneira de fazer isso no mysql ou em outros bancos de dados relacionais? Devo tentar encontrar outros modelos de banco de dados para esse problema?

EDITAR Eu fiz alguma pesquisa, parece que eu preciso é um banco de dados orientado a documentos com o poder do SQL.

questionAnswers(5)

yourAnswerToTheQuestion