We are contemplating of three tables to capture Subject Predicate Object. One table will be the main table and one for its attributes (name/values) and thirs to capture any relationships between data.
The question I have is performance and scalability of such design. This is a three way join to figure all attributes and relationships. If I querying for subset of attributes then I have to add a predicate on name and because of low cardinality this query can suffer. Adding bitmaps indexes is not great because of block level locking, we update them constantly.
Does any one have any tips on optimal design for such schema?