PLM-GraphDB-Luc-Boucher-PLM-ExpertIt could be curious to analyse the PLM domain and a technical solution like Graph, but I think that graph databases can be useful not only in terms of technical solution but a way of working or thinking…

When I was student, I was fascinated by graph theory and the number of problems that could be solved with it. I was mainly focused on combinatorial optimization problems. If this words sounds something for you, you should know what I mean 🙂 Seven Bridges of Königsberg, Lisp, Caml, Mathlab, GRAAL… and more recently Gremlin or Cypher.

First of all, I was interested by Graph database in order to find a fast and open solution to display some large and complex BOM. When I’m saying complex it is regarding a lot of different types of parts, links and attributes. Open means a solution enable to integrate these data without defining a strong data model. And fast to be able to display and expand a large BOM with all information needed.

The PLM context

Today in traditional PLM solution we are face different complexities :

  • Performance issues with traditional solutions : needs a lot of indexes and tuning to manage a large BOM and client (GUI) limitations
  • Some complex configuration management rules in order to display the needed context (combinatorial rules with vues, effectivities, baselines, rights etc.)
  • Some domains diversity : structure, system, electrical, fluid, software etc. not well integrated or managing by parts or links types
  • GUI not user friendly for  occasional users for consultation, I don’t speak about DMU viewer but traditional GUI
  • Heavy processes for making calculations, comparisons or analysis on the entire BOM

Most of engineer are working in context in PLM. Those contexts can be really different and sometime really complex in a traditional PLM solution, just some examples of use cases :

  • Working on electrical parts and I want to follow the links between them for a specific product
  • I have to do a maintenance task on a part and I want to see what is around it and what I have to take down
  • identify brackets of hydraulic parts on the structure
  • Center of gravity calculation
  • and so on…

Graph Databases

A graph database is a database that uses graph structures with nodes, edges, and properties to represent and store data. They are based on Graph theory. Also refer to NoSQL database, it provides a mechanism for storage and retrieval of data that is modeled in means other than the tabular relations used in relational databases. Motivations for this approach include simplicity of design, horizontal scaling and finer control over availability. The data structure (eg. tree, graph, key-value) differs from the RDBMS, and therefore some operations are faster in NoSQL and some in RDBMS. There are differences though and the particular suitability of a given NoSQL DB depends on the problem to be solved.

Since the explosion of social networks, Graph databases have a huge development and we also see a lot of new capabilities regarding client GUI. The most important is to analyse if your needs are compliant we this way of managing data, if yes, Graph Database is certainly the most efficient way to follow. In our case, I’m sure that Graph database can resolve some huge issues in PLM.

Simple example

I’ve done a simple test of Graph database in order to analyse if some of the uses cases could be more efficient. I started with a simple Neo4j database and connect Gephi GUI. After doing a Cypher script in order to populate a « BOM » example, I was surprised by natural capabilities to expand, collapse nodes and filters available in order to define the context in real time with a huge amount of data. Languages (Cypher for instance) offers you the possibility to do calculations on the fly (for instance the mass of the product). This quick start on Graph database gave me a lot of ideas an opportunities to solve real industrial issues today in PLM landscape.

 

Conclusion

I don’t think that PLM vendors are going to integrate Graph databases next year because it is a huge architecture redesign, but Graph databases can perform a lot of efficient services in the PLM landscape today. Combined with BigData in order to add more added value information it could be one of the product information backbone. Graph database can be an efficient technical part in PLM solution, and I’m sure we will see some new products based on it in a close future.

I’m just sharing my PLM point of view… what is yours?

Eve - Luc Boucher - PLM Expert

 

 

 

 

 

 

Luc