arrow_back Learning representations of text for NLP
ML For Personalization At Scale @ Nearbuy arrow_forward
Big Data Computations: Comparing Apache HAWQ, Druid, Google Spanner and GPU Databases
Submitted by Vijay Srinivas Agneeswaran, Ph.D (@vijayagneeswaran) on Tuesday, 18 April 2017
Full talk for data engineering track
A class of big data computations known as the distributed merge tree was required to be built to aggregate user information across multiple data sources in media domain. This class is characterized by non-scalar aggregates all the way to the root of the merge tree – equivalent of a Set union operation in SQL at every level of the tree. Typical big data technologies were mostly supporting only scalar aggregates. The Set union operation must be implemented outside of the data store, resulting in non-standard implementation and consequent inefficiencies.
To illustrate the problem, we built a prototype on top of Druid, one of the claimants to the throne of analytical data processing. Druid supports only scalar aggregates and as a result, the Set union operation had to be implemented at the application level. Data transfer into and out of Druid as well as the complexity of thread processing at the Java layer led to inefficiencies – resulting in 200+ seconds for the computation in this case.
Apache HAWQ with its ability to perform multi-dimensional partitioning of the data, support for full SQL queries (consequently, it supports Set union operations) and its efficient distributed query optimization techniques looked like the ideal candidate for this use case. However, HAWQ’s dependence on Hadoop as the underlying file system plus the inherent complexity of the computation led to poorer than expected results – HAWQ took about 100 seconds to process the same query, but the SLA was less than 10 seconds.
However, it turned out that the multi-dimensional partitioning was inefficient – we overcame the problem by having multiple HAWQ clusters and an intelligent client that stores meta-data to route queries to appropriate clusters. By ensuring each HAWQ cluster is independent, we were able to bring down the time to execute the query to 20 seconds.
Finally, we have implemented the same query with a GPU database (Kinetica in particular) to benchmark its performance on an Amazon g2.8x instance. Finally, the response time for the same query was around 12 seconds – a bit more optimization would help meet the SLA.
We shall also be evaluating Google Spanner and comparing with all the datastores above to illustrate how efficiently Spanner supports SQL and how easy/difficult it was to solve complex big data computations.
Key audience takeaways include:
Overview of media campaign management tool in the business context and problem being solved. Introduction to Druid, Apache HAWQ and Kinetica. Introduction to Google Spanner and the ACID transactions it supports through TrueTime API. Performance benchmark comparing all the four data stores on AWS cloud infrastructure.
Dr. Vijay Srinivas Agneeswaran has a Bachelor’s degree in Computer Science & Engineering from SVCE, Madras University (1998), an MS (By Research) from IIT Madras in 2001, a PhD from IIT Madras (2008) and a post-doctoral research fellowship in the LSIR Labs, Swiss Federal Institute of Technology, Lausanne (EPFL). He has joined as Director of Technology in the data sciences team of SapientNitro. He has spent the last ten years creating intellectual property and building products in the big data area in Oracle, Cognizant and Impetus. He has built PMML support into Spark/Storm and realized several machine learning algorithms such as LDA, Random Forests over Spark. He led a team that designed and implemented a big data governance product for a role-based fine-grained access control inside of Hadoop YARN. He and his team have also built the first distributed deep learning framework on Spark. He is a professional member of the ACM and the IEEE (Senior) for the last 10+ years. He has four full US patents and has published in leading journals and conferences, including IEEE transactions. His research interests include distributed systems, data sciences as well as Big-Data and other emerging technologies. He has been an invited speaker in several national and International conferences such as O’Reilly’s Strata Big-data conference series. He will also be speaking at the Strata Big-data conference in London in May 2017. He has given the keynote speech in the fifth elephant conference in 2014. He lives in Bangalore with his wife, son and daughter and enjoys researching history and philosophy of Egypt, Babylonia, Greece and India.