Geek Night Nima Ben Tramchester & Graph Databases.

Slides:



Advertisements
Similar presentations
Overview of local security issues in Campus Grid environments Bruce Beckles University of Cambridge Computing Service.
Advertisements

1 Migrating from Access to SQL Server Simon Kingston, CSU / NPS NRGIS.
1 Integration Made Easy Agile Integration: Connecting Salesforce With Your Enterprise.
Why wait... Solve your customers’ problems today. Simon Cuthbert – Sales Director, EMEA Nick Bond – Pre-Sales Engineer Zeus Technology.
This presentation is intended as a detailed WebEx, to bring potential customers to an understanding of Dream Report capabilities. This presentation focuses.
Advantage Data Dictionary. agenda Creating and Managing Data Dictionaries –Tables, Indexes, Fields, and Triggers –Defining Referential Integrity –Defining.
Building Enterprise Applications Using Visual Studio ®.NET Enterprise Architect.
ManageEngine TM Applications Manager 8 Monitoring Custom Applications.
Inventory Management System With Berkeley DB 1. What is Berkeley DB? Berkeley DB is an Open Source embedded database library that provides scalable, high-
Graph databases …the other end of the NoSQL spectrum. Material taken from NoSQL Distilled and Seven Databases in Seven Weeks.
Building a social networking portal on Windows Azure in 1 hour Saranya Sriram Developer Evangelist Microsoft, India.
Migrating to EPiServer CMS 5 Johan Björnfot -
Google AppEngine. Google App Engine enables you to build and host web apps on the same systems that power Google applications. App Engine offers fast.
Neo4j Sarvesh Nagarajan TODO: Perhaps add a picture here.
Object Oriented Databases by Adam Stevenson. Object Databases Became commercially popular in mid 1990’s Became commercially popular in mid 1990’s You.
By Mihir Joshi Nikhil Dixit Limaye Pallavi Bhide Payal Godse.
Database System Concepts and Architecture Lecture # 3 22 June 2012 National University of Computer and Emerging Sciences.
Database Update Kaveh Ranjbar Database Department Manager, RIPE NCC.
Testing Tools using Visual Studio Randy Pagels Sr. Developer Technology Specialist Microsoft Corporation.
Austin code camp 2010 asp.net apps with azure table storage PRESENTED BY CHANDER SHEKHAR DHALL
Network Analysis with Python
Your First Azure Application Michael Stiefel Reliable Software, Inc.
1.file. 2.database. 3.entity. 4.record. 5.attribute. When working with a database, a group of related fields comprises a(n)…
© 2011 MindTree Limited CONFIDENTIAL: For limited circulation only Slide 1 Trips – Meet New People Osmosis 2011 © 2011 MindTree Limited CONFIDENTIAL: For.
What is database?  Any Method for access info into Application from DataBase?  ODBC is standard for Accessing Data.  Problem with ODBC:  Information.
1 PUPPET AND DSC. INTRODUCTION AND USAGE IN CONTINUOUS DELIVERY PROCESS. VIKTAR VEDMICH PAVEL PESETSKIY AUGUST 1, 2015.
CRaSH Portal Team. 2 Agenda Introduction to CRaSH Deployment and connection Using the CRaSH command Develop the CRaSH commands yourself.
Stanford GSB High Tech Club Tech 101 – Session 1 Introduction to Software, Distributed Architectures, and ASPs Presented by Shawn Carolan Former Manager.
Plug-in Architectures Presented by Truc Nguyen. What’s a plug-in? “a type of program that tightly integrates with a larger application to add a special.
Chapter 5 Introduction To Form Builder. Lesson A Objectives  Display Forms Builder forms in a Web browser  Use a data block form to view, insert, update,
Infrastructure as code. “Enable the reconstruction of the business from nothing but a source code repository, an application data backup, and bare metal.
11 Introduction to Neo4j. 2 We all have our own graphs...
Build and Deployment Process Understand NCI’s DevOps and continuous integration requirements Understand NCI’s build and distribution requirements.
ORM Basics Repository Pattern, Models, Entity Manager Ivan Yonkov Technical Trainer Software University
Globus online Delivering a scalable service Steve Tuecke Computation Institute University of Chicago and Argonne National Laboratory.
External Data Access Adam Rauch, 6/05/08 Team: Geoff Snyder, Kevin Beverly, Cory Nathe, Matthew Bellew, Mark Igra, George Snelling.
Graph Database - Neo4j ISQS3358, Spring Graph Database A graph database is a database that uses graph structures for semantic queries with nodes,
Webinar The Perfect Order Dashboard Webinar hosted by FusionOps Speakers: Shariq Mansoor CTO, FusionOps Shariq has over a decade of technology and business.
Bluemix for Domino Developers Niklas Heidloff, heidloff.net.
ISC321 Database Systems I Chapter 2: Overview of Database Languages and Architectures Fall 2015 Dr. Abdullah Almutairi.
Amazon Web Services. Amazon Web Services (AWS) - robust, scalable and affordable infrastructure for cloud computing. This session is about:
1 Analysis on the performance of graph query languages: Comparative study of Cypher, Gremlin and native access in Neo4j Athiq Ahamed, ITIS, TU-Braunschweig.
Brief introduction to graph DB concepts
Neo4j: GRAPH DATABASE 27 March, 2017
Building Enterprise Applications Using Visual Studio®
Databases and DBMSs Todd S. Bacastow January 2005.
Jean-Philippe Baud, IT-GD, CERN November 2007
Multi Node Label Routing – A layer 2.5 routing protocol
Visual Studio Database Tools (aka SQL Server Data Tools)
COP4710 Database Systems Project Overview.
5/22/2018 1:39 AM BRK2156 Power BI Report Server: Self-service BI and enterprise reporting on-premises Christopher Finlan Senior Program Manager © Microsoft.
A&AI Component Diagram
Infrastructure Orchestration to Optimize Testing
SQL Server 2017 Graph Database Inside-Out
TFS Database Import Service for Visual Studio Team Services
100% Exam Passing Guarantee & Money Back Assurance
Introduction to PIG, HIVE, HBASE & ZOOKEEPER
Visual Studio Database Tools (aka SQL Server Data Tools)
Learn. Imagine. Build. .NET Conf
Microsoft Virtual Academy
What’s new in ASP.NET Core and Entity Framework 2.2 (Preview 3)
SSDT and Database Project Basics
Chapter 7 Using SQL in Applications
Developing and testing enterprise Java applications
CS4433 Database Systems Project.
TechEd /23/2019 9:23 AM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
NoSQL Overview + Elasticsearch Quick Dive
Storing and Processing Sensor Networks Data in Public Clouds
REST Easy - Instant APIs for Your Database
Mark Quirk Head of Technology Developer & Platform Group
Presentation transcript:

Geek Night Nima Ben Tramchester & Graph Databases

Agenda What is a Tech Lab? Tramchester Technologies Cloud Infrastructure Graph DB (Neo4J) - Demos in C# and Java Models Benefits Learnings / Issues

What is a Tech Lab? Experiment and learn about technology Time-boxed – 6 weeks maximum Small team – Core of 3 people (2 Developers, 1 BA) With support and expertise as needed

What did we look at? Domain: Travel in and around Manchester – Raw Data is available from – Idea was crowd sourced Tech: Not Only SQL – Experiment with Graph database as way of modeling a travel network Tech: cloud – Host in AWS

The App

Why the cloud? Keep things “Realistic” – Compiling and running on a laptop doesn’t tell us enough Very easy to automate and script AWS Keep costs reasonable and controllable Experiment; not sure what we would need

A nice problem to have…..

Deployment Continuous Deployment – We used Go Use Phoenix Server pattern Ant, shell scripts and Cloud Formation cloudinit for “bootstrapping” software on to the instances

Phoenix Server Axiom: It is easier to create new instances and install software on to them than it is to try and upgrade and reconfigure software on existing instances Wanted to avoid complex chef/puppet scripts We avoided chef/puppet entirely “Banned” manual updates to deployed instances

Why a graph database? Map © Transport for Greater Manchester

Neo4J Neo4J is a Graph Database: Graph – A property Graph with nodes and relationships – Perfect for complex highly connected data Database – Reliable with real ACID transactions – Scalable: 32 Billion Nodes, 32 Billion Relationships & 64 Billion Properties – Server with REST API, or Embeddable on JVM

Cypher Graph Query Language A pattern-matching query language Declarative grammar with clauses (Like SQL) Aggregation, Ordering, Limits Create, Read, Update, Delete

Demo 1 Neo4J Web Interface, Cypher, C# example

Benefits of Graph DB Performance – Sheer performance increase when dealing with connected data versus relational database – Performance tends to remain relatively constant as the data grows

Performance Get is from the Book Example from Neo4j In Action, Jonas Partner and Aleksa Vukotic DepthMYSQL (seconds)Neo4J (seconds)No. of Records ~ ~110, ~600,000 5Unfinished2.132~800,000

Add Slide RDBS vs Graph

Benefits of Graph DB Flexibility – Allows structure and schema to emerge in tandem with our growing understanding of the problem space – Graphs are naturally additive, meaning that we can add new relationship types, nodes and sub graphs to existing graph

Flexibility

Demo 2 Java Code Sample Algorithm Factory

Tram Data… Tabular Data in text file (General Transit Feed Specification) 250 Cities publish GTFS data Stops Stop Times Stop Times Trips Calendar Routes Stop_idTrip_id Service_id Route_id

Graph Model – Iteration 1 A1 A2 B1 B2 3 3 C1 C2 4 4 D1 D2 2 2 E1 E2 3 3 G2 F2 3 2 G1 F1 2

Graph Model – Iteration 2 A1 A2 B1 B2 C1 C2 D1 D2 E1 E2 G2 F2 G1 F1 S1

Graph Model – Iteration 3 A1 A2 B1 B2 C1 C2 D1 D2 E1 E2 G2 F2 G1 F1 S1 S2 S3 S4

Graph Model – Iteration 4 A1 A2 B1 B2 C1 C2 D1 D2 E1 E2 R1 A1 R1 A1 R1 B1 R1 B1 3 R1 C1 R1 C1 4 R1 D1 R1 D1 2 R1 E1 R1 E A

Time Dependent Graph A A B B T1 (08:00) T2 (08:12) T3 (08:24) T4 (08:36) T5 (08:48) T6 (09:00) T7 (09:12) T8 (09:24) T9 (09:36) T10 (09:48) T11 (10:00) T12 (10:12) Up to 900 Relationships C C T1 (08:05) T2 (08:17) T3 (08:29) T4 (08:41) T5 (08:53) T6 (09:05) T7 (09:17) T8 (09:29) T9 (09:41) T10 (09:53) T11 (10:05) T12 (10:17)

Heuristics A A B B T4 (08:36) T5 (08:48) T6 (09:00) T7 (09:12) T8 (09:24) C C T4 (08:41) T5 (08:53) T6 (09:05) T7 (09:17) T8 (09:29)

Traversal API Declarative Java API It enables the user to specify a set of constraints that limit the parts of the graph the traversal is allowed to visit Can specify which relationship types to follow, and in which direction (effectively specifying relationship filters) Can specify a user-defined path evaluator that is triggered with each node encountered

Demo 3 Time Dependent Graph / Java

Issues / Learnings Thinking about graph db Lack of code examples

The App

Any Questions? Check out the app at –

Firswood Old Trafford Cornbrook Media City City Centre