skip to main content
10.1145/2723372.2742789acmconferencesArticle/Chapter ViewAbstractPublication PagesmodConference Proceedingsconference-collections
research-article

Large-scale Predictive Analytics in Vertica: Fast Data Transfer, Distributed Model Creation, and In-database Prediction

Published:27 May 2015Publication History

ABSTRACT

A typical predictive analytics workflow will pre-process data in a database, transfer the resulting data to an external statistical tool such as R, create machine learning models in R, and then apply the model on newly arriving data. Today, this workflow is slow and cumbersome. Extracting data from databases, using ODBC connectors, can take hours on multi-gigabyte datasets. Building models on single-threaded R does not scale. Finally, it is nearly impossible to use R or other common tools, to apply models on terabytes of newly arriving data.

We solve all the above challenges by integrating HP Vertica with Distributed R, a distributed framework for R. This paper presents the design of a high performance data transfer mechanism, new data-structures in Distributed R to maintain data locality with database table segments, and extensions to Vertica for saving and deploying R models. Our experiments show that data transfers from Vertica are 6x faster than using ODBC connections. Even complex predictive analysis on 100s of gigabytes of database tables can complete in minutes, and is as fast as in-memory systems like Spark running directly on a distributed file system.

References

  1. Apache Mahout. http://mahout.apache.org.Google ScholarGoogle Scholar
  2. Comparing pattern mining on a billion records with HP Vertica and Hadoop. http://www.vertica.com/2013/04/08/comparing-pattern-mining-on-a-billion-records-with-hp-vertica-and-hadoop/.Google ScholarGoogle Scholar
  3. HP Vertica Distributed R. https://www.vertica.com/distributedR.Google ScholarGoogle Scholar
  4. MATLAB-parallel computing toolbox. http://www.mathworks.com/products/parallel-computing/.Google ScholarGoogle Scholar
  5. MATLAB{the language of technical computing. http://www.mathworks.com/products/matlab.Google ScholarGoogle Scholar
  6. Process containers. http://lwn.net/Articles/236038/.Google ScholarGoogle Scholar
  7. Programmatic media buying. http://rocketfuel.com/.Google ScholarGoogle Scholar
  8. The R project for statistical computing. http://www.r-project.org.Google ScholarGoogle Scholar
  9. Revolution R enterprise scaler. http://www.revolutionanalytics.com/revolution-r-enterprise-scaler.Google ScholarGoogle Scholar
  10. RHadoop and MapR. https://www.mapr.com/resources/rhadoop-and-mapr.Google ScholarGoogle Scholar
  11. SAS analytics. http://www.sas.com.Google ScholarGoogle Scholar
  12. SAS in-memory statistics for Hadoop. http://www.sas.com/en_us/software/sas-hadoop/in-memory-hadoop.html.Google ScholarGoogle Scholar
  13. Teradata parallel transporter. http://www.teradata.com/tools-and-utilities/parallel-transporter/.Google ScholarGoogle Scholar
  14. Teradata Warehouse Miner. http://www.teradata.com/products-and-services/teradata-warehouse-miner/.Google ScholarGoogle Scholar
  15. S. Brin and L. Page. The anatomy of a large-scale hypertextual Web search engine. In WWW7, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Y. Bu, B. Howe, M. Balazinska, and M. D. Ernst. HaLoop: Efficient iterative data processing on large clusters. PVLDB, 3(1-2), 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. S. Das, Y. Sismanis, K. S. Beyer, R. Gemulla, P. J. Haas, and J. McPherson. Ricardo: Integrating R and Hadoop. In SIGMOD, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. J. Dean and S. Ghemawat. MapReduce: Simplified data processing on large clusters. Commun. ACM, 51(1), 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. J. Ekanayake, H. Li, B. Zhang, T. Gunarathne, S.-H. Bae, J. Qiu, and G. Fox. Twister: A runtime for iterative MapReduce. In HPDC, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. J. E. Gonzalez, Y. Low, H. Gu, D. Bickson, and C. Guestrin. PowerGraph: Distributed graph-parallel computation on natural graphs. In OSDI, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. P. Gro'e, W. Lehner, T. Weichert, F. Färber, and W.-S. Li. Bridging two worlds with RICE integrating R into the SAP in-memory computing engine. PVLDB, 4(12), 2011.Google ScholarGoogle Scholar
  22. J. M. Hellerstein, C. Ré, F. Schoppmann, D. Z. Wang, E. Fratkin, A. Gorajek, K. S. Ng, C. Welton, X. Feng, K. Li, and A. Kumar. The MADlib analytics library: Or MAD skills, the SQL. PVLDB, 5(12), 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. A. Lamb, M. Fuller, R. Varadarajan, N. Tran, B. Vandiver, L. Doshi, and C. Bear. The Vertica analytic database: C-store 7 years later. PVLDB, 5(12), 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. G. Malewicz, M. H. Austern, A. J. Bik, J. C. Dehnert, I. Horn, N. Leiser, and G. Czajkowski. Pregel: A system for large-scale graph processing. In SIGMOD, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. E. Soroush, M. Balazinska, and D. Wang. ArrayStore: A storage manager for complex parallel array processing. In SIGMOD, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. S. Venkataraman, E. Bodzsar, I. Roy, A. AuYoung, and R. S. Schreiber. Presto: Distributed machine learning and graph processing with sparse matrices. In EuroSys, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. T. J. Ypma. Historical development of the Newton-Raphson method. SIAM Rev., 37(4), 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. M. Zaharia, M. Chowdhury, T. Das, A. Dave, J. Ma, M. McCauley, M. J. Franklin, S. Shenker, and I. Stoica. Resilient distributed datasets: a fault-tolerant abstraction for in-memory cluster computing. In NSDI, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Large-scale Predictive Analytics in Vertica: Fast Data Transfer, Distributed Model Creation, and In-database Prediction

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Conferences
      SIGMOD '15: Proceedings of the 2015 ACM SIGMOD International Conference on Management of Data
      May 2015
      2110 pages
      ISBN:9781450327589
      DOI:10.1145/2723372

      Copyright © 2015 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 27 May 2015

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article

      Acceptance Rates

      SIGMOD '15 Paper Acceptance Rate106of415submissions,26%Overall Acceptance Rate785of4,003submissions,20%

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader