Key Value Pair Data Model


I have just joined an in flight project and find the lead data modeler has created a name value pair data model.

The reason given was flexibility of data model considering some records can have as many as 900 attributes. The .Net application team seem to be loving it, as they can code everything with very few tables in mind.

I feel the model is difficult to query, difficult to load and difficult to syndicate and in all likelyhood will suffer from poor performance. Also the data model can't be considered as a rich metadata repository and difficult to understand.

The project team has made executive decision to go ahead with the data model, as the model seem to be existing for last 6 months and application development team has completed the design o .Net screens and .Net business logic keeping this flexible data modelin mind.

Any comments? Any suggestions what steps can be taken to improve the query ability and performance of this data model?


Maybe reading this link would help to learn about the pitfalls of this model. It's commonly called EAV model in db which is Entity Attribute Value.