Editorials

Contri buting Factors to Storage Architecture

One of the conversations I mentioned I would get to while comparing different kinds of data storage was business requirements influencing your decision. It has very little to do with the particular storage structure, and more to do with the company culture.

For example, I have done work for a company that replaced all of their MySql databases with SQL Server. The primary reason was the skills of the staff for maintaining MySql. They were proficient with SQL Server, and had no compelling need to use MySql. Sure, some of the reasoning was based on a lack of knowledge. That doesn’t change the fact that the staff was not prepared to assure the company that they can host MySql with the same security, fault tolerance, and performance. It has nothing to do with the capability of MySQL. It has everything to do with the resources available to assure the necessary availability expectations can be met.

I experienced a similar thing with another company wanting to use MongoDb. An application was completed based on MongoDb. In fact, the app was completed quicker by not using a relational database due to extra layers necessary during a rapidly changing design. However, when the product was nearing release, the data engine was changed to a relational database. Again, the reason was not that MongoDb was a bad choice. The decision was based on staff, servers, resources, knowledge necessary to maintain a MongoDb environment, assuring the necessary up time.

I think this is probably the most difficult hurdle to leap over when we talk about using something other than a relational database. There are lots of horror stories from projects trying to use no-sql, and resulting in differing degrees of failure or issues. The projects, if possible, return to relational databases, and things get back on track (this is a big generalization, but I have read blogs on more than one big project in 2014 that went through this cycle).

I think it would be very interesting to look at project failures, and determine how often it was the architecture that failed, or the ability of the individuals to select and/or implement an architecture.

Thanks everyone for all the great comments on this topic. It makes for a much better conversation. Why not share your comments today as well? Get into the conversation. Share your perceptions; we’ll be polite.

Cheers,

Ben