Hybrid Database Environments: How do you choose?
As we look into different pieces that we want to deploy on sswug (more on this at a later date when we have stuff to show), we’re faced with the opportunity to consider and re-consider the base technologies that drive the site.
I’m curious how you choose. What is your process for making the selection of database tools and other applications on your own systems? I have to admit, the easy answer which I thought we’d be using as our approach, hasn’t worked out so well. The "easy" answer is to pick the best platform for the specific job, then weave these "best-of" approaches together.
That whole "weaving" bit hasn’t worked out as cleanly as I anticipated. So now we’re re-evaluating tools and options for getting the things done that we need. It’s leading to quite a mixed bag of features, functions, requirements and interfaces. From the publishing component to making more member features available to reporting and user-by-user customization, it all gets quite interesting.
How do you approach this? It seems like you should determine the requirements, then see what technologies fit the best, but that seems to over-simplify if you’ll be having multiple technologies in play that may have to talk to each other. Then things get complicate and the decision matrix gets bloody.
My own approach seems to be homing in on:
– Identify the functional requirements, and prioritize them.
– Determine possible tech pieces that address the requirements
– Understand the prerequisites and requirements of the tech options
– Identify the pieces that have to play well together
By prioritizing the initial requirements, we can figure out if the fact that "X" must talk to "Y" is a deal-breaker if it is difficult to do or can’t happen as planned. If it is a deal-breaker, it may be an item that begins to dictate technology platforms.
What is your approach? What’s worked? What hasn’t?