Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

Introduction: Relational to Graphs

Relational databases were conceived to digitize paper forms and automate well-structured business processes, and still have their uses. But RDBMS cannot model or store data and its relationships without complexity, which means performance degrades with the increasing number and levels of data relationships and data size. Additionally, new types of data and data relationships require schema redesign that increases time to market.
A graph database like Neo4j naturally stores, manages, analyzes, and uses data within the context of connections meaning Neo4j provides faster query performance and vastly improved flexibility in handling complex hierarchies than SQL. Join this webinar to learn why companies are shifting away from RDBMS towards graphs to unlock the business value in their data relationships.

Ryan Boyd, Developer Relations at Neo4j

Ryan is a SF-based software engineer focused on helping developers understand the power of graph databases. Previously he was a product manager for architectural software, built applications and web hosting environments for higher education, and worked in developer relations for twenty products during his 8 years at Google. He enjoys cycling, sailing, skydiving, and many other adventures when not in front of his computer.

  • Inicia sesión para ver los comentarios

Introduction: Relational to Graphs

  1. 1. RDBMS to Graphs Harnessing the Power of the Graph March 2015
  2. 2. Agenda • Origins of Neo4j • Benefits of Graphs • Your enterprise architecture & polyglot persistence • Query time! • Q&A
  3. 3. Neo Technology Overview Product • Neo4j - World’s leading graph database • 1M+ downloads, adding 50k+ per month • 150+ enterprise subscription customers including over 50 of the Global 2000 Company • Neo Technology, Creator of Neo4j • 80 employees with HQ in Silicon Valley, London, Munich, Paris and Malmö • $45M in funding from Fidelity, Sunstone, Conor, Creandum, Dawn Capital
  4. 4. Neo4j Adoption by Selected Verticals Financial Services Communications Health & Life Sciences HR & Recruiting Media & Publishing Social Web Industry & Logistics Entertainment Consumer Retail Information ServicesBusiness Services
  5. 5. How Customers Use Neo4j Network & Data Center Master Data Management Social Recom– mendations Identity & Access Search & Discovery GEO
  6. 6. “Forrester estimates that over 25% of enterprises will be using graph databases by 2017” Neo4j Leads the Graph Database Revolution “Neo4j is the current market leader in graph databases.” “Graph analysis is possibly the single most effective competitive differentiator for organizations pursuing data-driven operations and decisions after the design of data capture.” IT Market Clock for Database Management Systems, 2014 TechRadar™: Enterprise DBMS, Q1 2014 Graph Databases – and Their Potential to Transform How We Capture Interdependencies (Enterprise Management Associates)
  7. 7. Largest Ecosystem of Graph Enthusiasts • 1,000,000+ downloads • 20,000+ education registrants • 18,000+ Meetup members • 100+ technology and service partners • 150+ enterprise subscription customers including 50+ Global 2000 companies
  8. 8. High Business Value in Data Relationships Data is increasing in volume… • New digital processes • More online transactions • New social networks • More devices Using Data Relationships unlocks value • Real-time recommendations • Fraud detection • Master data management • Network and IT operations • Identity and access management • Graph-based search… and is getting more connected Customers, products, processes, devices interact and relate to each other Early adopters became industry leaders
  9. 9. Relational DBs Can’t Handle Relationships Well • Cannot model or store data and relationships without complexity • Performance degrades with number and levels of relationships, and database size • Query complexity grows with need for JOINs • Adding new types of data and relationships requires schema redesign, increasing time to market … making traditional databases inappropriate when data relationships are valuable in real-time Slow development Poor performance Low scalability Hard to maintain
  10. 10. Unlocking Value from Your Data Relationships • Model your data as a graph of data and relationships • Use relationship information in real- time to transform your business • Add new relationships on the fly to adapt to your changing business
  11. 11. Modeling as a Graph
  12. 12. The Whiteboard Model Is the Physical Model
  13. 13. CAR name: “Dan” born: May 29, 1970 twitter: “@dan” name: “Ann” born: Dec 5, 1975 since: Jan 10, 2011 brand: “Volvo” model: “V70” Property Graph Model Components Nodes • The objects in the graph • Can have name-value properties • Can be labeled Relationships • Relate nodes by type and direction • Can have name-value properties LOVES LOVES LIVES WITH PERSON PERSON
  14. 14. Relational Versus Graph Models Relational Model Graph Model KNOWS ANDREAS TOBIAS MICA DELIA Person FriendPerson-Friend ANDREAS DELIA TOBIAS MICA
  15. 15. Let’s Model! Customer, Supplier, and Product (Master Data) Orders (Activity)
  16. 16. The Domain Model
  17. 17. Except…
  18. 18. The Requisite Northwind Example! NOT JUST ANY
  19. 19. (Northwind)-[:TO]->(Graph) Building the Graph Model
  20. 20. Building Relationships in Graphs SOLD Employee OrderOrder
  21. 21. Locate Foreign Keys
  22. 22. (FKs)-[:BECOME]->(Relationships) Correct Directions
  23. 23. Drop Foreign Keys
  24. 24. Find the Join Tables
  25. 25. Simple Join Tables Becomes Relationships
  26. 26. Attributed Join Tables Become Relationships with Properties
  27. 27. Working Subset (Today’s Exercise)
  28. 28. Northwind Graph Model
  29. 29. Querying Your Data
  30. 30. Basic Query: Who do people report to? MATCH (:Employee{ firstName:“Steven”} ) -[:REPORTS_TO]-> (:Employee{ firstName:“Andrew”} ) REPORTS_TO Steven Andrew LABEL PROPERTY NODE NODE LABEL PROPERTY
  31. 31. Basic Query: Who do people report to? MATCH (e:Employee)<-[:REPORTS_TO]-(sub:Employee) RETURN *
  32. 32. Basic Query: Who do people report to?
  33. 33. Basic Query: Who do people report to?
  34. 34. MATCH (sub)-[:REPORTS_TO*0..3]->(boss), (report)-[:REPORTS_TO*1..3]->(sub) WHERE = “John Doe” RETURN AS Subordinate, count(report) AS Total Express Complex Queries Easily with Cypher Find all direct reports and how many people they manage, up to 3 levels down Cypher Query SQL Query
  35. 35. “We found Neo4j to be literally thousands of times faster than our prior MySQL solution, with queries that require 10 to 100 times less code. Today, Neo4j provides eBay with functionality that was previously impossible.” Volker Pacher Senior Developer
  36. 36. Who is in Robert’s (direct, upwards) reporting chain? MATCH p=(e:Employee)<-[:REPORTS_TO*]-(sub:Employee) WHERE sub.firstName = ‘Robert’ RETURN p
  37. 37. Who is in Robert’s (direct, upwards) reporting chain?
  38. 38. Who’s the Big Boss? MATCH p=(e:Employee) WHERE NOT (e)<-[:REPORTS_TO]->() RETURN e.firstName as bigBoss
  39. 39. Who’s the Big Boss?
  40. 40. Product Cross-Sell MATCH (choc:Product {productName: 'Chocolade'}) <-[:PRODUCT]-(:Order)<-[:SOLD]-(employee), (employee)-[:SOLD]->(o2)-[:PRODUCT]->(other:Product) RETURN employee.firstName, other.productName, count(distinct o2) as count ORDER BY count DESC LIMIT 5;
  41. 41. Product Cross-Sell
  42. 42. High Performance
  43. 43. Neo4j Clustering Architecture Optimized for Speed & Availability at Scale 43 Performance Benefits • No network hops within queries • Real-time operations with fast and consistent response times • Cache sharding spreads cache across cluster for very large graphs Clustering Features • Master-slave replication with master re-election and failover • Each instance has its own local cache • Horizontal scaling & disaster recovery Load Balancer Neo4jNeo4jNeo4j
  44. 44. Getting Data into Neo4j Cypher-Based “LOAD CSV” Capability • Transactional (ACID) writes • Initial and incremental loads of up to 10 million nodes and relationships Command-Line Bulk Loader neo4j-import • For initial database population • For loads with 10B+ records • Up to 1M records per second 4.58 million things and their relationships… Loads in 100 seconds!
  45. 45. MIGRATE ALL DATA MIGRATE GRAPH DATA DUPLICATE GRAPH DATA Non-graph data Graph data Graph dataAll data All data Relational Database Graph Database Application Application Application Three Ways to Load Data into Neo4j
  46. 46. Polyglot Persistence
  47. 47. Data Storage and Business Rules Execution Data Mining and Aggregation Neo4j Fits into Your Enterprise Environment Application Graph Database Cluster Neo4j Neo4j Neo4j Ad Hoc Analysis Bulk Analytic Infrastructure Graph Compute Engine EDW … Data Scientist End User Databases Relational NoSQL Hadoop
  48. 48. Polyglot Persistence
  49. 49. Users Love Neo4j
  50. 50. Users Love Neo4j
  51. 51. Learn the Way of the Graph Quickly and Easily
  52. 52. Quick Start: Plan Your Project 1 2 3 4 5 6 7 8 Learn Neo4j Decide on Architecture Import and Model Data Build Application Test Application Deploy your app in as little as 8 weeks PROFESSIONAL SERVICES PLAN
  53. 53. There Are Lots of Ways to Easily Learn Neo4j
  54. 54. Summary Only Neo4j Unlocks the Value in Your Data Relationships Data is increasing in volume… • New digital processes • More online transactions • New social networks • More devices … and is getting more connected Customers, products, processes, devices interact and relate to each other
  55. 55. RDBMS to Graphs Harnessing the Power of the Graph End of Presentation