Slaying relational hydras (or dating them)
Sometimes client confidentiality can be really annoying, because the problem sets & suggested solutions that come up are really interesting. That said, since I am interesting in having future clients, it is pretty much a must have. As such, the current post represent a real world customer problem, but probably in a totally different content. In fact, I would be surprised if the customer was able to recognize the problem as his.
That said, the problem is actually quite simple. Consider a dating site, where you can input your details and what you seek, and the site will match you with the appropriate person. I am going to ignore a lot of things here, so if you actually have built a dating site, try not to cringe.
At the most basic level, we have two screens, the My Details screen, where the users can specifies their stats and their preferences:
And the results screen, which shows the user the candidate matching their preferences.
There is just one interesting tidbit, the list of qualities is pretty big (hundreds or thousands of potential qualities).
Can you design a relational model that would be a good fit for this? And allow efficient searching?
I gave it some thought, and I can’t think of one, but maybe you can.
I’ll follow up on this post in a day or two, showing how to implement the problem using Raven.