I got briefed on TigerGraph (which was known as GraphSQL while the product was still in stealth mode - for five years!) the day before my recent vacation. So, I didn't get to write about it before I went off to Crete. I didn't even get the chance to provide the company with a quote for its press release. Anyway, this is making amends.
There are a couple of important commercial points to make. The first is that the company has announced $31m in funding. Secondly, and probably more importantly, the company already has a number of significant users including Visa, Alipay and others.
TigerGraph is a native graph database that is available both in on-premises and cloud (Amazon EC2) versions. While being a native implementation does not necessarily mean that it will outperform a graph database that uses Hadoop (say) as its storage engine, what it does mean is that on an a priori basis it should do so. However, more than that the big differentiator that TigerGraph claims, is support for real-time analytics. Of course, "real-time" is in the eye of the beholder but the company (which treats "real-time" as between one millisecond and one second) has clearly built the product with this capability specifically in mind, whereas other graph databases, like Neo4j and others, were originally designed a long time ago, so they cannot take advantage of advances in architecture design such as bulk synchronous parallel (BSP), which TigerGraph uses.
Further, in TigerGraph graph edges and vertices are not just units of storage but also computational units; and the BSP engine supports each of these being processed in parallel. Moreover, the data itself is compressed (10x or more according to the company), which will also help with performance.
Of course, real-time is not just about the parallel processing of queries. It is also about being able to load the data in real-time. For this purpose, the company has built its own parallel loader, which includes transformation capabilities. It will also compress the data, where it can do so, as a part of the load process to, again, speed up loading.
TigerGraph has produced some impressive benchmarks, comparing its performance with both Neo4j and Titan. I have to say that I don't know why it bothered with Titan, bearing in mind that that is now dead in the water and replaced by JanusGraph. The company's argument is that JanusGraph is a fork of Titan (true) and is being heavily promoted by IBM. This last point may be (partly) true but is really irrelevant, as neither of these comparisons is really comparing apples with apples. Neo4j has never targeted real-time analytics in the way that TigerGraph is, and IBM isn't either. The products TigerGraph should really be benchmarking against are the likes of BlazeGraph (GPU-based) and MemGraph (currently in stealth mode).
From a language perspective, you can access the database via GSQL. As its name suggests, this is "SQL like". In the next release, the company told me that it would be supporting Gremlin. There are no current plans to work with ANSI on graph extensions to the SQL standard.
From a user perspective, there are two points to note. Firstly, TigerGraph provides its own graph visualisation capabilities and it provides a browser-based capability called GraphStudio that can be used to create graph models, queries and so forth. This has been built on top of GSQL to make the environment more user friendly. There is also a GSQL software developer's kit (SDK) that third party graph specialists such as Linkurious or Tom Sawyer could use to integrate with TigerGraph. In addition, there is a RESTful API capability, which means that it should be relatively easy to integrate with third party tools such as Tableau. I would like to see the company partnering with specialised providers such as those mentioned
All in all, I'm quite impressed from a technical perspective. The key question is whether the technology can be extended by sales and marketing skills: can TigerGraph gain market momentum? That is the key question to ponder over the coming months.
If you want to find out more, call +44 (0)207 043 9750 or email us.