I had a chance to read SQL vs. noSQL article in Linux Journal yesterday on the plane. I found it interesting and despite a bit up-level of a technical terms, beneficial for our PLM discussion. Navigate your browser on the following link and read this paper. The noSQL story is probably one of the most dramatic in the modern history and present of data management. It considered as a heretic in the early beginning. Now noSQL comes to the point when we can talk about real advantages and disadvantages of both usage – traditional SQL and noSQL databases. So, what is the noSQL story is about?
SQL and RDBMS predictability
The story of SQL databases is very tight connected to two definitions: RDBMS and ACID. ACID means Atomicity, Consistency, Isolation, Durability. RDBMS – Relational Database Management Systems. The story about RDBMS, SQL and ACID is a story about development of transactional systems. If you develop a financial system, you want your system be predictable. You cannot take a guess about what is going on in your financial records. The same is when you schedule your manufacturing shopfloor operations. ERP leveraged RDBMS systems heabvily in their history. A vast majority of ERP systems today based on SQL /RDBMS systems.
The noSQL came to us from the internet examples of the past decade such as Google, Amazon S3 and others. The fact, modern internet kids are using it added additional flavor of importance. However, what is the real case behind? Instead of using relational tables and keys, the modern noSQL databases are using simple "key-value" stores. Each piece of data going to the database is given a key and key be easy retrieved back using the same key. This portion of simplicity provides a significant value. The step beyond key-value is to have "document stores" that can access documents according to the specific key values.
PLM Use Case
Product Lifecycle Management has traditional roots in SQL databases. Started as pure data management discipline, PDM and PLM systems came to compete with other enterprise systems. It was an obvious decision back in late 1980s and beginning of 1990s that to establish a full data control you need to manage your data using RDBMS. However, this decision was taken time ago. Since then, PLM developed lots of use cases. These use cases can bring an importance of predictability down and importance of flexibility and simplicity up.
What is my conclusion? Development of PDM and PLM systems is not a simple case. The complexity of systems is high. However, some fundamental decisions and architectures of PDM/PLM were laid about twenty years ago. The urgency of reducing complexity and flexibility in PLM architectures can raise a noSQL case for PLM. Just my opinion…