There are so many benefits of owning the entire stack. Just ask Apple – the maker of Mac and then iPad and iPhone as an integrated ecosystem from top to bottom: hardware and OS, with external apps being verified for reliability and even adherence to UI/UX rules. Compare that ecosystem to the Windows or Android worlds with their Wild West of inconsistencies and incompatibilities.
However, going vertical is very expensive. There are far more Windows and Android devices and software platforms in the world than their Apple alternatives. SAP HANA – which was literally born out of SAP’s misery when Oracle suddenly decided to compete with its trusted partner – is still nowhere in terms of adoption compared to Oracle.
Which brings us to the topic of Dassault Systemes acquiring NuoDB. To be honest, I had to Google NuoDB to find out who they were – not surprising, as NuoDB’s popularity is rather modest.
Databases are a large part of Senticore’s competence – our team presently works with 20+ flavors of various SQL and NoSQL platforms, but has never crossed paths with NuoDB. I became curious and decided to address that issue immediately: The Senticore team looked at the ease of NuoDB’s deployment, its general SQL features, replication, performance, monitoring tools – and documentation.
Having read the documentation, downloaded NuoDB and installed several nodes on Docker, and run a bunch of tests, here are initial observations:
First conclusion: NuoDB is somehow similar to MariaDB Columnstore in terms of architecture:
What MariaDB calls UM module – they are parsing and rerouting queries, NuoDB calls TE. The actual data storage, which MariaDB calls PM module, NuoDB calls SM.
Unfortunately, there are still a few major issues being on a murky side regarding the way NuoDB operates, for example replication factor and rebalancing. And it is not helped by what another reviewer mentioned back in 2019: a confusing documentation.
From the open-source perspective, NuoDB has never been truly open, with their Community Edition being … well, not practical. Many open-source systems draw their strength from their contributors, who consistently and diligently add more and more features and catch bugs. Commercial systems like Oracle or MS SQL benefit from decades of accumulated competence and huge capital investments.
NuoDB is none the above: it is yet another distributed SQL database system with a pretty standard set of features. Which is not a bad thing at all: from experience, most of these systems can be fine-tuned for performance and stability.
Why, then, did DS buy NuoDB? Until now, DS expanded by going into business verticals: SIMULIA, GEOVIA, BIOVIA etc., but now it is going after the deep technology stack? Throughout its history, 3DExperience (née ENOVIA, née MatrixOne) was “database agnostic”: at various times it supported Oracle, MS SQL Server, MySQL and DB2. With the DS’s push to the cloud, NuoDB makes sense, because it provides DS and its customers and partners an ability to speed up any migration between on-premise install to either DS own 3DX cloud or public cloud deployment by simply adding a node, letting the replication do its work – and pull the on-premise plug any moment after that. Many if not all present pains of migration to the cloud will be eliminated.
However, a database engine is not only about “slow” asynchronous replication, it is also about real-time replication, general performance and fault tolerance. And here are presently more questions than answers about NuoDB’s core capabilities.
On a different note, many companies have demonstrated over the years that it is often not the best and brightest technology that wins the game, but strategic vision and marketing, combined with a reasonably reliable functional stack. I tend to believe that DS will gradually expand NuoDB’s features that relate to the porting of the 3DExperience platform, performance and stability – while also keeping up with general technology trends. Perhaps they will even evolve with this hybrid approach: NuoDB for clouds and migrations, Oracle for the large systems/accounts (synced with NuoDB?) and Exalead graph database for searches.
Interestingly, the DS’s main competitors – Siemens and PTC – are doing nothing like this at present. They seem to be happy leaving what is Caesar’s to Caesar, using most popular and well-proven third-party database platforms and concentrating on their own piece of pie. They, at least for now, have chosen the opposite answer to DS to the big strategic question: how vertical do you want to be?
That’s all, and as my favorite World of Warships commentator Mighty Jingles says: thank you, stay safe and see you next time.