Like so many technology debates before it, the SQL/NoSQL debate may soon enter the realm of great technology disagreements as Mac versus PC, fieldbus versus Ethernet, and PC versus PLC-based control. The SQL/NoSQL debate is principally focused on whether it is better to continue adherence to the SQL database structure, with which manufacturers are most familiar, or hitch our wagons to the NoSQL database, which is purported to be better suited to cloud-based computing — a direction many experts contend we are all headed toward sooner or later.
While developing a feature for the October 2012 issue of Automation World focused on familiarizing engineers with how to get the most out of their databases to improve production, I asked a few automation experts what they thought of the whole SQL or NoSQL debate that is just now beginning to brew among end users.
“SQL and MySQL are traditional relational database management systems” for manufacturers, says Roger Herrscher, P.E., senior electrical engineer at Opto 22, Temecula, CA. “NoSQL and NewSQL databases do not use traditional SQL syntax, but use syntax like more modern computer languages.”
Herrscher says that fact that SQL has been the ubiquitous standard for so long should help ensure its continued use for some time to come, though with computer hardware and software constantly evolving, he says only time will tell if NoSQL and NewSQL gain mainstream acceptance.
Robert Leonard, IT manager at Opto 22, says he’s “a big fan of using industry standard options like SQL when it comes to many applications. He cautions that the “support time and skill set needed to implement and maintain an open source-based project,” like NoSQL, “can be daunting” for most manufacturers.
“There is a lot of promise for NoSQL databases and they are being used by large companies, though they are not widely adopted, so support and training are minimal,” adds Travis Cox, director of training and support services at Inductive Automation, Sacramento, CA. “NoSQL requires a lot of skill to install and a lot of effort to maintain. Relational databases are just simpler right now for the average user. I am open to new ways of thinking. However, right now I would choose relational databases.”
Explaining the difference in application between the two database structures, David McCarthy, president and chief executive officer at TriCore Inc. (Racine, WI), says that the SQL and MySQL relational database management systems (RDMS) use SQL as their query language, which means they can easily be used for Web-based applications and have very low overhead.
NoSQL, on the other hand, is an RDMS used in data warehousing. “Data is stored (in NoSQL) in a format similar to a flat table and generally not as highly normalized as SQL. This (NoSQL structure) is optimized for fast retrieval at the expense of efficient storage. Google, Amazon and Facebook use this technology,” says McCarthy.
“From a relational database perspective, typical manufacturing facilities and vendors are currently far too conservative to consider anything but traditional SQL vendors such as Microsoft and Oracle,” notes Chirayu Shah, product manager, FactoryTalk Historian, Rockwell Automation, Milwaukee, WI.
Echoing the support issue comments made by Leonard and Cox, Shah adds that “Most of the time engineers understand that, while it may be easy to prototype systems (using NoSQL), these open source products don’t contain the support an engineer needs when building a real data collection/reporting system. The data they are storing contains the keys of their production/process data and they need to be protected by vendors that will stand behind their products and protect against issues that may arise.”
One area of potential Shah does see for NoSQL in the near-term for manufacturers is for storage of time-based data. This type of data, typically housed in historians, lends itself well to the NoSQL realm in Shah’s view. “Relational data stores are not optimized to store large sets of time-series data,” he says. That’s why “typical historian solutions are built on proprietary formats (rather than SQL) to optimize data storage and data retrieval.”