Ultipa’s most significant differentiator is its performance, which (the company claims) outstrips or at the very least competes with all of the most popular and relevant graph databases in use today. This includes both open-source databases (which is frankly not very impressive) and proprietary offerings (which is).
There are a number of factors that contribute to the performance Ultipa offers. For example, it leverages high-density parallel computing to maximise the power of every CPU core available. It also utilises multi-level caching. Along with various other optimisations, these result in improved concurrency and significantly reduced latency. Moreover, Ultipa is highly scalable, and in fact boasts linear scalability.
Fig 1 - Ultipa Powerhouse architecture
The new Powerhouse architecture (see Figure 1) is designed to further improve Ultipa’s performance. For instance, it provides greater horizontal scaling via features like automated sharding, has a minimised memory footprint (also minimising any associated costs, especially the cost of running in-memory), and reduces the need for and scope of data migration by placing storage near compute. Elastic graph computing is available through the use of HDC (High Density Computing) nodes that are extremely performant and enable on-the-fly provisioning, including on-demand scaling and synchronisation. More traditional storage-compute coupled sharding setups are also available, and you can use both styles together by utilising data sync and similar features.
For a concrete example of what this performance does for you, consider the concept of a “supernode”. Supernodes are graph nodes that connect to an abnormally large (read: massive) number of other nodes, and therefore have a large number of edges connected to them. Many real-world systems are centralised around supernodes, and due to their nature supernodes tend to have a very substantial presence in whatever system they are found in. This makes them prime targets for analysis. Unfortunately, it is this very thing – their size – that makes them hard to deal with, because you need to have both the capacity to process every edge attached to the supernode as well as the performance to run queries involving them in a reasonable timeframe. Most analytics platforms, and even graph databases, fail at one of these hurdles, diminishing the efficacy of analysing any system which contains one of these supernodes and leading to fundamentally incomplete analyses. Ultipa, by contrast, has both the capacity and the performance to allow you to include supernodes in your analytics.
In addition, Ultipa provides an extensible and hot-pluggable collection of semi-/unsupervised graph algorithms, as well as graph embedding algorithms that convert high-dimensional, sparse graphs into low-dimensional, dense, continuous vector spaces while preserving graph structural properties. Graph embeddings in particular can be very beneficial for performance, especially for machine learning-based applications such as link prediction and node classification. This makes Ultipa well-suited for addressing such use cases.
Fig 2 - Graph visualisation in Ultipa Manager
The other major point about Ultipa is that it is easy to use. Although it provides a bespoke query language (which has the inherent problem of making it harder to onboard), the “Ultipa Query Language” (UQL) is genuinely simpler and easier to use than much of what else is available. The fact that it hews close to Cypher certainly helps matters, and there is even an adaptor for moving code from Cypher to UQL. The product is also a leading supporter of the ISO GQL standard, if UQL is not to your taste. In addition, Ultipa provides easy multi-graph capabilities (which is to say, it supports multiple edges between nodes without intermediaries) and comes with over 120 graph algorithms built-in, roughly half of which are generically useful (the other half are bespoke to specific customers). Ultipa is also “demi-schematic”, meaning that it can be used both with and without schemas (which are equivalent to labels in Ultipa). Last – but certainly not least – it comes with an integrated command line interface as well as Ultipa Manager, a web application you can use to access all of Ultipa’s functionality while also being a way to visualise and interact with your graph (this is shown in Figure 2). All of this contributes to the product’s ease of use.