Distributed Graph Storage

Total Page:16

File Type:pdf, Size:1020Kb

Distributed Graph Storage Distributed Graph Storage Veronika Molnár, UZH Overview - Graphs and Social Networks - Criteria for Graph Processing Systems - Current Systems - Storage - Computation - Large scale systems - Comparison / Best systems - Questions 2 Graphs and Social Networks 1 Graph = collection of nodes + edges connecting nodes to each other Social Network = collection of individuals and social relations Social Network is also a Graph! (node = person, edge = relation) Social Network graph (image source : thenextweb.com) 3 Graphs and Social Networks 2 - Social Network graph properties (SNA = Social Network Analysis) - Limited number of connections at each node (person) e.g. Facebook: max 5000 - Distribution not uniform - Most people: an average number of connections - But: a few people have a lot of connections (Power law distribution) - Small degree of separation = “Small World” (length of shortest paths) - Centrality - Constantly changing, but very large graph! (7 billion people = 7 billion nodes) 4 Graphs and Social Networks 3 Shortest Path Centrality VM Betweenness Closeness BP PageRank Degree 5 Graphs and Social Networks 4 - Social Network can be… - Facebook - Emails - Mailing lists - Academic networks 6 Criteria for Graph Processing Systems 1 - Modes: - Distributed processing - Research and industry use - Interactive and noninteractive modes - Storage of static and dynamic information E-mail connectivity graph 7 (image source: research.microsoft.com) Criteria for Graph Processing Systems 2 - Properties: - Scalability (social networks are large!) - Speed - Features: - SNA (Social Network Analysis) metrics: PageRank, Centrality, Shortest paths, ... - Extensibility E-mail connectivity graph 8 (image source: research.microsoft.com) Current Systems 1 Storage: - Apache Hive (and Hadoop) - Titan Graph Database - Neo4j 9 Current Systems - Storage 2 Apache Hive (and Hadoop) Hadoop: Map/Reduce architecture - Hive: High-level operations on large data sets - HiveQL (similar to SQL) - Converted to MapReduce jobs - Not graph-specific - Supports custom data formats - Can be used as a backend for other systems 10 Current Systems - Storage 3 Titan Graph Database - Store and Query large graphs - Graph schemas - edge and vertex labels - Gremlin query language - transactional query model - high level operations - Two backends: Cassandra and HBase 11 Current Systems - Storage 4 Neo4j - Cost: €12K for startups (more for large companies), free for personal use - Graph Database Management - ACID compliant (Atomicity, Consistency, Isolation, Durability) - Graphs are stored as Edges, Nodes, Attributes - Focus on finding and querying data - Graph analytics with igraph or GraphX - Community! 12 Neo4j 13 Current Systems 5 Computation: - igraph - Spark GraphX - GraphLab 14 Current Systems - Computation 6 igraph - Network analysis / network research - Portable and efficient - Python, R, C, C++ - Built-in, optimized SNA metrics (centrality, diameter, connected components) - Stand-alone or Grid - Extensible, 3 layer API 15 Current Systems - Computation 7 Spark GraphX - Graphs and parallel graph computations - User-defined parallel operations - stored in-memory for faster processing - very good end-to-end performance - graphs are immutable; all operations create a new graph - Prebuilt graph algorithms, e.g. PageRank 16 Current Systems - Computation 8 GraphLab - Cost: $4,000/machine/year, or free 1 year student subscription - Graph computations: processing & analytics - Visualization (GraphLab Canvas) - Machine learning - Common graph algorithms + API 17 GraphLab 18 Current Systems 9 Used by Facebook/Google: - Pregel/Pregelix - Apache Giraph 19 Current Systems - Large Scale 10 Pregel/Pregelix - Pregel: Google-only, Pregelix: open-source - BSP (bulk synchronous processing) model - User defined edge, vertex, message types - Supersteps - Extremely large graphs - in-memory/out-of-core operation models - Vertex-based API, libraries with graph algorithms 20 Current Systems - Large Scale 11 Apache Giraph - BSP model - Graph-wide metrics via global operations - Built on Hadoop, 5-26 times faster than Hive - Highly parallel, keeps all data in memory - Scales linearly with number of edges, can make efficient use of large clusters - Used for PageRank, popularity rank, shortest paths - No built-in graph metrics 21 Comparison Focus Scalability SNA Extensibility Used for Hive parallel computations any size no Java generic Titan storage ~100 B no Python, Java graph queries Neo4j transactional DB ~1 B yes Java, Python, R recommender systems igraph efficiency, portability ~1 M yes R, Python, C++ research GraphX parallel computations ~1 B yes Java, Python, R graph processing GraphLab processing, analytics ~1 B yes C++ recommender systems Giraph large scale, BSP any size no Java, Python Facebook Pregel(ix) large scale, BSP any size yes Java Google 22 Which is the best? Depends on the network and intended use.. - Very large Social Networks: - High-performance, customizable systems, such as Pregelix - Research: - igraph and GraphX support R and Python integration - Analysis and Visualisation of Social Networks - GraphLab with built-in interactive analysis and plotting features - Neo4j contains vast amounts of community resources for these tasks - Custom use cases... - Existing systems might not support these - Instead: use Hadoop/Hive and write the rest yourself! 23 Thank You! aaaaaand Stay for some questions 24 Questions 1 Why do we analyse social data? What are the possible uses of analysing social data? 25 Questions 2 Can visualisation help to understand graphs? (connections can be viewed, subset of graph can be analysed, …) 26 Questions 3 Have you ever used such a system? Which one? 27 Questions 4 What are the advantages and disadvantages of distributed graph processing? What is the value of graph processing? 28 Questions 5 How can social metric calculations deal with fake accounts? 29 The End ... 30.
Recommended publications
  • E6895 Advanced Big Data Analytics Lecture 4: Data Store
    E6895 Advanced Big Data Analytics Lecture 4: Data Store Ching-Yung Lin, Ph.D. Adjunct Professor, Dept. of Electrical Engineering and Computer Science Chief Scientist, Graph Computing, IBM Watson Research Center E6895 Advanced Big Data Analytics — Lecture 4 © CY Lin, 2016 Columbia University Reference 2 E6895 Advanced Big Data Analytics – Lecture 4: Data Store © 2015 CY Lin, Columbia University Spark SQL 3 E6895 Advanced Big Data Analytics – Lecture 4: Data Store © 2015 CY Lin, Columbia University Spark SQL 4 E6895 Advanced Big Data Analytics – Lecture 4: Data Store © 2015 CY Lin, Columbia University Apache Hive 5 E6895 Advanced Big Data Analytics – Lecture 4: Data Store © 2015 CY Lin, Columbia University Using Hive to Create a Table 6 E6895 Advanced Big Data Analytics – Lecture 4: Data Store © 2015 CY Lin, Columbia University Creating, Dropping, and Altering DBs in Apache Hive 7 E6895 Advanced Big Data Analytics – Lecture 4: Data Store © 2015 CY Lin, Columbia University Another Hive Example 8 E6895 Advanced Big Data Analytics – Lecture 4: Data Store © 2015 CY Lin, Columbia University Hive’s operation modes 9 E6895 Advanced Big Data Analytics – Lecture 4: Data Store © 2015 CY Lin, Columbia University Using HiveQL for Spark SQL 10 E6895 Advanced Big Data Analytics – Lecture 4: Data Store © 2015 CY Lin, Columbia University Hive Language Manual 11 E6895 Advanced Big Data Analytics – Lecture 4: Data Store © 2015 CY Lin, Columbia University Using Spark SQL — Steps and Example 12 E6895 Advanced Big Data Analytics – Lecture 4: Data Store © 2015 CY Lin, Columbia University Query testtweet.json Get it from Learning Spark Github ==> https://github.com/databricks/learning-spark/tree/master/files 13 E6895 Advanced Big Data Analytics – Lecture 4: Data Store © 2015 CY Lin, Columbia University SchemaRDD 14 E6895 Advanced Big Data Analytics – Lecture 4: Data Store © 2015 CY Lin, Columbia University Row Objects Row objects represent records inside SchemaRDDs, and are simply fixed-length arrays of fields.
    [Show full text]
  • Unravel Data Systems Version 4.5
    UNRAVEL DATA SYSTEMS VERSION 4.5 Component name Component version name License names jQuery 1.8.2 MIT License Apache Tomcat 5.5.23 Apache License 2.0 Tachyon Project POM 0.8.2 Apache License 2.0 Apache Directory LDAP API Model 1.0.0-M20 Apache License 2.0 apache/incubator-heron 0.16.5.1 Apache License 2.0 Maven Plugin API 3.0.4 Apache License 2.0 ApacheDS Authentication Interceptor 2.0.0-M15 Apache License 2.0 Apache Directory LDAP API Extras ACI 1.0.0-M20 Apache License 2.0 Apache HttpComponents Core 4.3.3 Apache License 2.0 Spark Project Tags 2.0.0-preview Apache License 2.0 Curator Testing 3.3.0 Apache License 2.0 Apache HttpComponents Core 4.4.5 Apache License 2.0 Apache Commons Daemon 1.0.15 Apache License 2.0 classworlds 2.4 Apache License 2.0 abego TreeLayout Core 1.0.1 BSD 3-clause "New" or "Revised" License jackson-core 2.8.6 Apache License 2.0 Lucene Join 6.6.1 Apache License 2.0 Apache Commons CLI 1.3-cloudera-pre-r1439998 Apache License 2.0 hive-apache 0.5 Apache License 2.0 scala-parser-combinators 1.0.4 BSD 3-clause "New" or "Revised" License com.springsource.javax.xml.bind 2.1.7 Common Development and Distribution License 1.0 SnakeYAML 1.15 Apache License 2.0 JUnit 4.12 Common Public License 1.0 ApacheDS Protocol Kerberos 2.0.0-M12 Apache License 2.0 Apache Groovy 2.4.6 Apache License 2.0 JGraphT - Core 1.2.0 (GNU Lesser General Public License v2.1 or later AND Eclipse Public License 1.0) chill-java 0.5.0 Apache License 2.0 Apache Commons Logging 1.2 Apache License 2.0 OpenCensus 0.12.3 Apache License 2.0 ApacheDS Protocol
    [Show full text]
  • Hive, Spark, Presto for Interactive Queries on Big Data
    DEGREE PROJECT IN INFORMATION AND COMMUNICATION TECHNOLOGY, SECOND CYCLE, 30 CREDITS STOCKHOLM, SWEDEN 2018 Hive, Spark, Presto for Interactive Queries on Big Data NIKITA GUREEV KTH ROYAL INSTITUTE OF TECHNOLOGY SCHOOL OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE TRITA TRITA-EECS-EX-2018:468 www.kth.se Abstract Traditional relational database systems can not be efficiently used to analyze data with large volume and different formats, i.e. big data. Apache Hadoop is one of the first open-source tools that provides a dis- tributed data storage system and resource manager. The space of big data processing has been growing fast over the past years and many tech- nologies have been introduced in the big data ecosystem to address the problem of processing large volumes of data, and some of the early tools have become widely adopted, with Apache Hive being one of them. How- ever, with the recent advances in technology, there are other tools better suited for interactive analytics of big data, such as Apache Spark and Presto. In this thesis these technologies are examined and benchmarked in or- der to determine their performance for the task of interactive business in- telligence queries. The benchmark is representative of interactive business intelligence queries, and uses a star-shaped schema. The performance Hive Tez, Hive LLAP, Spark SQL, and Presto is examined with text, ORC, Par- quet data on different volume and concurrency. A short analysis and con- clusions are presented with the reasoning about the choice of framework and data format for a system that would run interactive queries on big data.
    [Show full text]
  • HDP 3.1.4 Release Notes Date of Publish: 2019-08-26
    Release Notes 3 HDP 3.1.4 Release Notes Date of Publish: 2019-08-26 https://docs.hortonworks.com Release Notes | Contents | ii Contents HDP 3.1.4 Release Notes..........................................................................................4 Component Versions.................................................................................................4 Descriptions of New Features..................................................................................5 Deprecation Notices.................................................................................................. 6 Terminology.......................................................................................................................................................... 6 Removed Components and Product Capabilities.................................................................................................6 Testing Unsupported Features................................................................................ 6 Descriptions of the Latest Technical Preview Features.......................................................................................7 Upgrading to HDP 3.1.4...........................................................................................7 Behavioral Changes.................................................................................................. 7 Apache Patch Information.....................................................................................11 Accumulo...........................................................................................................................................................
    [Show full text]
  • Apache Hadoop Goes Realtime at Facebook
    Apache Hadoop Goes Realtime at Facebook Dhruba Borthakur Joydeep Sen Sarma Jonathan Gray Kannan Muthukkaruppan Nicolas Spiegelberg Hairong Kuang Karthik Ranganathan Dmytro Molkov Aravind Menon Samuel Rash Rodrigo Schmidt Amitanand Aiyer Facebook {dhruba,jssarma,jgray,kannan, nicolas,hairong,kranganathan,dms, aravind.menon,rash,rodrigo, amitanand.s}@fb.com ABSTRACT 1. INTRODUCTION Facebook recently deployed Facebook Messages, its first ever Apache Hadoop [1] is a top-level Apache project that includes user-facing application built on the Apache Hadoop platform. open source implementations of a distributed file system [2] and Apache HBase is a database-like layer built on Hadoop designed MapReduce that were inspired by Googles GFS [5] and to support billions of messages per day. This paper describes the MapReduce [6] projects. The Hadoop ecosystem also includes reasons why Facebook chose Hadoop and HBase over other projects like Apache HBase [4] which is inspired by Googles systems such as Apache Cassandra and Voldemort and discusses BigTable, Apache Hive [3], a data warehouse built on top of the applications requirements for consistency, availability, Hadoop, and Apache ZooKeeper [8], a coordination service for partition tolerance, data model and scalability. We explore the distributed systems. enhancements made to Hadoop to make it a more effective realtime system, the tradeoffs we made while configuring the At Facebook, Hadoop has traditionally been used in conjunction system, and how this solution has significant advantages over the with Hive for storage and analysis of large data sets. Most of this sharded MySQL database scheme used in other applications at analysis occurs in offline batch jobs and the emphasis has been on Facebook and many other web-scale companies.
    [Show full text]
  • Apache Ranger 0.5.0 Installation
    Apache Ranger 0.5.0 Installation 1 Overview 2 Prerequisites 3 Installation Instructions 3.1 Preparing to install 3.1.1 Install Maven 3.1.2 Install git 3.1.3 Install gcc 3.1.4 Install MySQL 3.2 Build Ranger Admin from source 3.2.1 Clone the ranger source code 3.2.2 Build the source 3.2.3 Install Steps for Ranger Policy Admin on RHEL/CentOS 3.2.3.1 Lay down the build into appropriate places. 3.2.3.2 Install and configure Solr or SolrCloud 3.3 Installing the Ranger UserSync Process 3.4 Installing Apache Hadoop 3.4.1 Enabling Ranger HDFS Plugins 3.5 Installing Apache Hive(1.2.0) 3.5.1 Enabling Ranger Hive Plugin 3.5.2 Helpful info Ranger Hive Plugin / Hive Services 3.6 Installing Apache HBase (1.1.0.1) 3.6.1 Enabling Ranger HBase Plugins 3.6.2 Helpful info Ranger HBase Plugin / HBase Services 3.7 Installing Apache Knox Gateway 3.7.1 Enabling Ranger Knox Plugins 3.7.2 Helpful info Ranger Knox Plugin / Knox Services 3.7.3 Trusting Self Signed Knox Certificate 3.8 Enabling Ranger Solr Plugin 3.8.1 Install and configure Apache Solr in SolrCloud mode 3.8.2 Solr Service in Ranger Admin 3.8.3 Install and Enable Solr Plugin 3.8.4 Configuring Solr for Ranger 3.9 Installing Apache Storm (0.10.0) 3.9.1 Enabling Ranger Storm Plugins 3.9.2 Enabling Ranger Yarn Plugin 4 Installing Ranger KMS (0.5.0) 5 Enabling Audit Logging To HDFS 6 Enabling Audit Logging To SOLR 7 Configuring Kerberos Authentication 7.1 Installing and Configuring the KDC 7.2 Creating the Kerberos Database 7.3 Installing and Configuring the Kerberos Clients 7.4 Configure Storm to Work with a Secured Zookeeper Cluster 7.5 Configure Kerberos Authentication for Storm 7.6 Ranger UI setup Overview This document details the steps involved in Installing latest version of Apache Incubator Ranger independently on RHEL / Ubuntu / SUSE / Debian OS.
    [Show full text]
  • International Journal of Advanced Research in Computer Science And
    Volume 5, Issue 9, September 2015 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com Effective Image Analysis on Twitter Streaming using Hadoop Eco System on Amazon Web Service EC2 Gautam Goswami Irisidea Technologies Pvt. Limited, India Abstract: Twitter is becoming the most popular online micro blogging network of real time post that enables users to send and read short 140-character messages called "tweets". Registered users can read and post tweets, but unregistered users can only read them. Today's Twitter is now less focused on what are you doing but has emerged as a source for discovery, with a focus on sharing relevant information and engaging in conversation. Sharing various visual information in the form of images/photos are becoming very popular where all the follower can see what images/photos have been posted/twitted instantly. In this paper I am going to explain how effectively registered users shares/uploads images among the followers. This information/statistics would be of great value for any organization/company when they launch their new product in market. If a particular image/photo sharing is high among tweeter community, organization/company can be assured that their product is penetrating more in the market. Here I have analyzed the momentum of visual information propagation . So that followers can be aware of that something new have been lunched in market and subsequently will have the curiosity to dig more on it. In this paper, the collected twitter steaming which has been (rich amount of data in semi structure format JSON for an interval of time) referred to as big data are processed efficiently to achieve mentioned output.
    [Show full text]
  • Cloudera JDBC Driver for Hive Installation and Configuration Guide
    Cloudera JDBC Driver for Apache Hive Important Notice © 2010-2021 Cloudera, Inc. All rights reserved. Cloudera, the Cloudera logo, and any other product or service names or slogans contained in this document, except as otherwise disclaimed, are trademarks of Cloudera and its suppliers or licensors, and may not be copied, imitated or used, in whole or in part, without the prior written permission of Cloudera or the applicable trademark holder. Hadoop and the Hadoop elephant logo are trademarks of the Apache Software Foundation. All other trademarks, registered trademarks, product names and company names or logos mentioned in this document are the property of their respective owners. Reference to any products, services, processes or other information, by trade name, trademark, manufacturer, supplier or otherwise does not constitute or imply endorsement, sponsorship or recommendation thereof by us. Complying with all applicable copyright laws is the responsibility of the user. Without limiting the rights under copyright, no part of this document may be reproduced, stored in or introduced into a retrieval system, or transmitted in any form or by any means (electronic, mechanical, photocopying, recording, or otherwise), or for any purpose, without the express written permission of Cloudera. Cloudera may have patents, patent applications, trademarks, copyrights, or other intellectual property rights covering subject matter in this document. Except as expressly provided in any written license agreement from Cloudera, the furnishing of this document does not give you any license to these patents, trademarks copyrights, or other intellectual property. The information in this document is subject to change without notice. Cloudera shall not be liable for any damages resulting from technical errors or omissions which may be present in this document, or from use of this document.
    [Show full text]
  • TR-4744: Secure Hadoop Using Apache Ranger with Netapp In
    Technical Report Secure Hadoop using Apache Ranger with NetApp In-Place Analytics Module Deployment Guide Karthikeyan Nagalingam, NetApp February 2019 | TR-4744 Abstract This document introduces the NetApp® In-Place Analytics Module for Apache Hadoop and Spark with Ranger. The topics covered in this report include the Ranger configuration, underlying architecture, integration with Hadoop, and benefits of Ranger with NetApp In-Place Analytics Module using Hadoop with NetApp ONTAP® data management software. TABLE OF CONTENTS 1 Introduction ........................................................................................................................................... 4 1.1 Overview .........................................................................................................................................................4 1.2 Deployment Options .......................................................................................................................................5 1.3 NetApp In-Place Analytics Module 3.0.1 Features ..........................................................................................5 2 Ranger ................................................................................................................................................... 6 2.1 Components Validated with Ranger ................................................................................................................6 3 NetApp In-Place Analytics Module Design with Ranger..................................................................
    [Show full text]
  • Customer Behavior Analysis of Web Server Logs Using Hive in Hadoop Framework Lavanya KS, Srinivasa R Dept
    International Journal of Advanced Networking & Applications (IJANA) ISSN: 0975-0282 Customer behavior analysis of web server logs using Hive in Hadoop Framework Lavanya KS, Srinivasa R Dept. of Studies in CSE, RRCE College of Engineering, Bangalore, Karnataka, India Email: [email protected] , [email protected] Abstract: Web log file is a log file created and stored by a web server automatically. Analyzing such web server access logs files will provide us various insights about website usage. Due to high usage of web, the log files are growing at much faster rate with increase in size. Processing this fast growing log files using relational database technology has been a challenging task these days. Therefore to analyze such large datasets we need a parallel processing system and a reliable data storage mechanism (Hadoop). Hadoop runs the big data where a massive quantity of information is processed via cluster of commodity hardware. In this paper we present the methodology used in pre-processing of high volume web log files, studying the statics of website and learning the user behavior using the architecture of Hadoop MapReduce framework, Hadoop Distributed File System, and HiveQL query language. Keywords: big data, customer behavior analysis, hadoop, log analysis, web server logs Foundation. Hadoop enables applications to work with 1. INTRODUCTION thousands of nodes with petabytes of data. While it can be used on a single machine, its true capability lies in scaling to In today's competitive environment, manufacturers/service hundreds or thousands of computers. Tom White describes providers are keen to know whether they provide the best Hadoop is specially designed to work on large volume of service/product to customers or whether customers look data using commodity hardware in parallel.
    [Show full text]
  • SQL to Hive Cheat Sheet
    We Do Hadoop Contents Cheat Sheet 1 Additional Resources 2 Query, Metadata Hive for SQL Users 3 Current SQL Compatibility, Command Line, Hive Shell If you’re already a SQL user then working with Hadoop may be a little easier than you think, thanks to Apache Hive. Apache Hive is data warehouse infrastructure built on top of Apache™ Hadoop® for providing data summarization, ad hoc query, and analysis of large datasets. It provides a mechanism to project structure onto the data in Hadoop and to query that data using a SQL-like language called HiveQL (HQL). Use this handy cheat sheet (based on this original MySQL cheat sheet) to get going with Hive and Hadoop. Additional Resources Learn to become fluent in Apache Hive with the Hive Language Manual: https://cwiki.apache.org/confluence/display/Hive/LanguageManual Get in the Hortonworks Sandbox and try out Hadoop with interactive tutorials: http://hortonworks.com/sandbox Register today for Apache Hadoop Training and Certification at Hortonworks University: http://hortonworks.com/training Twitter: twitter.com/hortonworks Facebook: facebook.com/hortonworks International: 1.408.916.4121 www.hortonworks.com We Do Hadoop Query Function MySQL HiveQL Retrieving information SELECT from_columns FROM table WHERE conditions; SELECT from_columns FROM table WHERE conditions; All values SELECT * FROM table; SELECT * FROM table; Some values SELECT * FROM table WHERE rec_name = “value”; SELECT * FROM table WHERE rec_name = "value"; Multiple criteria SELECT * FROM table WHERE rec1=”value1” AND SELECT * FROM
    [Show full text]
  • Apache Hive Overview Date of Publish: 2019-12-17
    Data Access 3 Apache Hive overview Date of Publish: 2019-12-17 https://docs.hortonworks.com Contents What's new in this release: Apache Hive...............................................................3 Apache Hive 3 architectural overview................................................................... 5 Apache Hive 3 upgrade process..............................................................................8 Changes after upgrading to Apache Hive 3.........................................................................................................9 Hive Semantic and Syntax Changes.................................................................................................................. 11 Creating a table.......................................................................................................................................11 Escaping db.table references.................................................................................................................. 11 Casting timestamps................................................................................................................................. 12 Renaming tables......................................................................................................................................12 Checking compatibility of column changes...........................................................................................12 Dropping partitions................................................................................................................................
    [Show full text]