Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

Graph Gurus Episode 12: Tiger Graph v2.3 Overview

12 vues

Publié le

Tiger Graph v2.3 Overview

Publié dans : Logiciels
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Graph Gurus Episode 12: Tiger Graph v2.3 Overview

  1. 1. Graph Gurus Episode 12 Introducing TigerGraph 2.3: Overview and Demo
  2. 2. © 2019 TigerGraph. All Rights Reserved Developer Edition Available We now offer Docker versions and VirtualBox versions of the TigerGraph Developer Edition, so you can now run on ● MacOS ● Windows 10 ● Linux Developer Edition Download https://www.tigergraph.com/developer/ 2 Version 2.3 Available Now
  3. 3. © 2019 TigerGraph. All Rights Reserved Today's Gurus 3 Victor Lee Director of Product Management ● BS in Electrical Engineering and Computer Science from UC Berkeley, MS in Electrical Engineering from Stanford University ● PhD in Computer Science from Kent State University focused on graph data mining ● 15+ years in tech industry Benyue (Emma) Liu Senior Product Manager ● BS in Engineering from Harvey Mudd College, MS in Engineering Systems from MIT ● Prior work experience at Oracle and MarkLogic ● Focus - Cloud, Containers, Enterprise Infra, Monitoring, Management, Connectors
  4. 4. © 2019 TigerGraph. All Rights Reserved What's New in TigerGraph 2.3? 4 ● Kafka Loader ○ integration with data streams ● GraphStudio enhancements ○ Better query workflow, display improvements ● GSQL enhancements ○ Primary Key options, Loading options, SHOW catalog ● Graph Algorithm Library improvements ○ More algorithms, improved performance
  5. 5. © 2019 TigerGraph. All Rights Reserved GraphStudio - Key 2.3 Enhancements 5 ● Friendlier Query Development Workflow ○ ✅ Authoring: See graph schema while writing GSQL queries. ○ ✅ Deploying: After a query is compiled, show its REST endpoint. ● Friendlier Display ○ ✅ For directed edges, show only forward edges ○ ✅ Adjustable text size
  6. 6. © 2019 TigerGraph. All Rights Reserved GSQL Enhancements 6 ✅ Schema Options: Vertex Attribute as PRIMARY_KEY ● In classic GSQL, vertex Primary_ID is a hash key, not an attribute. This minimizes storage space. ● New option to treat the Primary_ID as a regular attribute (e.g. use in WHERE conditions). ✅ Loading Option: User can choose how to handle edges preceding their vertices. ● Default: If either the source id or target id of a new edge refers to a nonexistent vertex, then the system will create the necessary vertices with default values. ● New option: If the source or target vertex doesn't exist, don't create the edge. ✅ Catalog Display: Enhanced SHOW command ● Show vertices, edges, jobs, or queries. ● Accepts a regEx or glob pattern argument to show only selected items ✅ MultiGraph: Different graphs can use the same query names and job names.
  7. 7. © 2019 TigerGraph. All Rights Reserved Primary Key Options 7 Classic syntax: # primary_id is used for indexing only # Pro: Uses less memory/storage. Con: Cannot reference it in an expression. If you do want to use the primary id in expressions, then you can duplicate it, such as where the same value is inserted into the id and the pid fields. CREATE VERTEX movie (PRIMARY_ID id INT, name STRING, year UINT) CREATE VERTEX movie (PRIMARY_ID id INT, pid INT, name STRING, year UINT)
  8. 8. © 2019 TigerGraph. All Rights Reserved Primary Key Options 8 Classic syntax: # primary_id is used for indexing only # Pro: Uses less memory/storage. Con: Cannot reference it in an expression. New syntax options: # primary_id can now be used as an attribute, e.g. # SELECT m FROM movie:m WHERE m.id=101 # Same meaning as above; follows SQL syntax. # This version not supported in GraphStudio yet CREATE VERTEX movie (PRIMARY_ID id INT, name STRING, year UINT) CREATE VERTEX movie (PRIMARY_ID id INT, name STRING, year UINT) USING primary_id_as_attribute="true" CREATE VERTEX movie (id INT PRIMARY KEY, name STRING, year UINT)
  9. 9. © 2019 TigerGraph. All Rights Reserved Loading Options 9 Classic Functionality: You can load an edge before loading its source and target vertices. When the edge is created, default vertices are created. Using loading job: Example: First data line is for an edge. It creates 3 entities: # Creates vertex Person(1,"","","") # Creates vertex Person(2,"","","") # Creates edge Related(1, 2, "Mother of") Note: The vertices are valid, so we could stop there. E,1,2,"Mother of" LOAD f TO EDGE Related VALUES ($1,$2,$3) WHERE $0 == "E" TO VERTEX Person VALUES ($1, $2, $3, $4) WHERE $0 == "V"
  10. 10. © 2019 TigerGraph. All Rights Reserved Loading Options 10 Classic Functionality: You can load an edge before loading its source and target vertices. When the edge is created, default vertices are created. Example: First data line is for an edge. # Creates vertex Person(1,_,_) # Creates vertex Person(2,_,_) # Creates edge Related(1, 2, "Mother of") Then next data lines are for the vertices: # Update: Person(2, "Kylo","Ren","Supreme Leader") # Update: Person(1,"Leia","Organa","General") V,2,"Kylo","Ren","Supreme Leader" V,1,"Leia","Organa","General" E,1,2,"Mother of"
  11. 11. © 2019 TigerGraph. All Rights Reserved Loading Options 11 New Option for Loading Functionality: USING VERTEXMUSTEXIST="true": If an edge's two vertices have not already been loaded, then the edge is rejected. Example: First data line is for an edge. This line is rejected as invalid. E,1,2,"Mother of" LOAD f TO EDGE Related ($1,$2,$3) WHERE $0 == "E" TO VERTEX Person ($1, $2, $3, $4) WHERE $0 == "V" USING VERTEXMUSTEXIST="true"
  12. 12. © 2019 TigerGraph. All Rights Reserved Graph Algorithm Library Improvements 12 docs.tigergraph.com/graph-algorithm-library ● Similarity (NEW category): Jaccard, Cosine ○ For Recommendation, Entity Resolution ● Centrality: Personalized PageRank ○ Which entities are important to me? Random walk with home page(s) ● Path: more variations of Shortest Path → Degrees of separation → Weighted edges: "Shortest" can mean "cheapest" or "most likely" → Optimized versions for different cost models ● Community: faster Louvain modularity ○ parallel processing
  13. 13. © 2019 TigerGraph. All Rights Reserved NEW: Kafka Loader ● Increase Data Availability and Accelerate Time to Value • Load streaming and batched data from user's Kafka server • Consistent with GSQL file loading syntax and MultiGraph support ● Embrace Benefits of Kafka Ecosystem • Scalable data loading and Built-in fault tolerance • Data buffer - Kafka is in a separate cluster • Extensible - open up data pipeline from many other data sources 13 Kafka Loader
  14. 14. © 2019 TigerGraph. All Rights Reserved DEMO 14
  15. 15. Kafka Loader in Depth 15
  16. 16. © 2019 TigerGraph. All Rights Reserved Speed to Value from Real-time Streaming Data - Native Integration with Kafka Platform 16 • Reduce Data Availability Gap and Accelerate Time to Value • Native Integration with Real-time Streaming Data and Batch Data • Enables Real-time Graph Feature Updates with Streaming Data in Machine Learning Use Cases • Decrease Learning Curve With Familiar Syntax • GSQL Support with Consistent Data Loading Syntax • Maintain Separation of Control for Data Loading • Designed with Built-in MultiGraph Support
  17. 17. © 2019 TigerGraph. All Rights Reserved Extensible and Flexible Data Pipeline - Leverage Kafka Benefits & Ecosystem 17 • Industry Standard Pub-Sub Framework • Extensible -> Open Up Data Pipeline From Many Data Sources
  18. 18. © 2019 TigerGraph. All Rights Reserved Scalable and Fault Tolerant for Your Streaming Data Pipeline Leverage Benefits of Kafka • Built-in Fault Tolerance and Scalability • Data Buffer - Kafka is in a Separate Cluster 18 Reference:https://data-flair.training/blogs/advantages-and-disadvantages-of-kafka/
  19. 19. © 2019 TigerGraph. All Rights Reserved Kafka and TigerGraph Data Pipeline Static Data Sources Streaming Data Sources Kafka Loader
  20. 20. © 2019 TigerGraph. All Rights Reserved Kafka Loader High Level Architecture • Connect to External Kafka Cluster • User Commands Through GSQL Server • Configuration Files: • Config 1: Kakfa Cluster Configuration • Config 2: Topic/Partition/Offset Info 20
  21. 21. © 2019 TigerGraph. All Rights Reserved Kafka Loader : Three Steps 21 Consistent with GSQL Data Loading Steps Step 1: Define the Data Source Step 2: Create a Loading Job Step 3: Run the Loading Job
  22. 22. © 2019 TigerGraph. All Rights Reserved Prerequisites: Kafka Configuration Files 22 Connect to External Kafka Data Source Through Kafka Cluster Configuration file In Step 1 (Kafka broker's domain name and port) Define Kafka Data Source Structure Through Kafka Topic/Partition Configuration File In Step 2 (Kafka topic, partition list, and start offset)
  23. 23. © 2019 TigerGraph. All Rights Reserved Manage Loading Job • SHOW LOADING STATUS • ABORT LOADING JOB • RESUME LOADING JOB 23 Consistent with GSQL Data Loading Syntax
  24. 24. © 2018 TigerGraph. All Rights Reserved Example Scripts 24 USE GRAPH test_graph DROP JOB load_person DROP DATA_SOURCE k1 #create data_source kafka k1 = "kafka_config.json" for graph test_graph CREATE DATA_SOURCE KAFKA k1 FOR GRAPH test_graph SET k1 = "kafka_config.json" # define the loading jobs CREATE LOADING JOB load_person FOR GRAPH test_graph { DEFINE FILENAME f1 = "$k1:topic_partition_config.json"; LOAD f1 TO VERTEX Person VALUES ($2, $0, $1), TO EDGE Person2Comp VALUES ($2, $2, $1) USING SEPARATOR=","; } # load the data RUN LOADING JOB load_person
  25. 25. © 2019 TigerGraph. All Rights Reserved DEMO: Kafka Loader 25
  26. 26. © 2019 TigerGraph. All Rights Reserved LIVE DEMO 26 1. Prep Work: a. External Kafka cluster is setup b. Two configuration files are provided on TigerGraph Cluster c. Graph is created in TigerGraph: ComputerNet 2. Step 1: Define the Data Source Step 2: Create a Loading Job Step 3: Run the Loading Job SHOW LOADING STATUS ABORT LOADING JOB RESUME LOADING JOB Manage OptionsInitial Loading Steps
  27. 27. © 2019 TigerGraph. All Rights Reserved Summary • TigerGraph 2.3 is Released • Enhancements in GraphStudio and GSQL • Graph Algorithms Library is Expanded • Native Integration with Kafka Loader 27 Version 2.3 Available Now
  28. 28. Q&A Please send your questions via the Q&A menu in Zoom 28
  29. 29. © 2019 TigerGraph. All Rights Reserved Additional Resources 29 New Developer Portal https://www.tigergraph.com/developers/ Download the Developer Edition or Enterprise Free Trial https://www.tigergraph.com/download/ Guru Scripts https://github.com/tigergraph/ecosys/tree/master/guru_scripts Join our Developer Forum https://groups.google.com/a/opengsql.org/forum/#!forum/gsql-users @TigerGraphDB youtube.com/tigergraph facebook.com/TigerGraphDB linkedin.com/company/TigerGraph

×