I’m a raving fan of SQL Server and have been looking forward to loading up SQL Server 2014 CTP1 and playing with the new In-Memory OLTP component formerly known as “Hekaton”.
Specifically, I want to test how it interacts with Tableau and see if leveraging In-Memory OLTP might be a way to move some workloads back out of cubes and keep them in a relational store. Using Tableau against an RDBMS is such a pleasure, I hoped I could begin jettisoning some of my cubes.
No such luck thus far.
I spent the morning converting a small-ish database of about 4M rows to a “MEMORY_OPTIMIZED” version in SQL Server. The process was nice and straight-forward, even for a guy who doesn’t consider himself a DBA type anymore.
Unfortunately, CTP 1 doesn’t support FK constraints between tables yet. I quickly found that without the ability to create RI constraints, my little thought experiment was dead in the water.
Vizzes in Tableau against the disk-based tables in my original database will normally take < 1 second to return. Against the memory_optimized tables, they take about 40 seconds – 2 minutes. Bummer. I’m seeing that Tableau is unable to perform join culling because of a lack of RI constraints, and SQL Server just churns when asked to join a fact table to 6-7 dimension tables.
So, save your Saturday – In-Memory OLTP is not quite far enough along in CTP1 to do meaningful testing with against Tableau. I look forward to future tech previews, though!