+ All Categories
Home > Technology > GraphTalks Rome - Selecting the right Technology

GraphTalks Rome - Selecting the right Technology

Date post: 11-Apr-2017
Category:
Upload: neo4j-the-fastest-and-most-scalable-native-graph-database
View: 58 times
Download: 0 times
Share this document with a friend
42
Selecting the right technology and best practices with a focus on Graphdatabases Dirk Möller
Transcript
Page 1: GraphTalks Rome - Selecting the right Technology

Selecting the right technologyand best practices with a focus on Graphdatabases

Dirk Möller

Page 2: GraphTalks Rome - Selecting the right Technology

About me

• 20 years in software sales• 8 years OSS• 2012/13 Neo Technology• 2014 MongoDB• 2015/16 Couchbase• Oct 2016 Neo

Page 3: GraphTalks Rome - Selecting the right Technology

The internet

Page 4: GraphTalks Rome - Selecting the right Technology
Page 5: GraphTalks Rome - Selecting the right Technology
Page 6: GraphTalks Rome - Selecting the right Technology

DB landscape

Page 7: GraphTalks Rome - Selecting the right Technology

Total DB market trend

Page 8: GraphTalks Rome - Selecting the right Technology
Page 9: GraphTalks Rome - Selecting the right Technology
Page 10: GraphTalks Rome - Selecting the right Technology

OSS threatens to eat the DB market

Page 11: GraphTalks Rome - Selecting the right Technology
Page 12: GraphTalks Rome - Selecting the right Technology

What is NoSQL?

A NoSQL (originally referring to "non SQL", "non relational" or "not only SQL")[1] database provides a mechanism for storage and retrieval of data which is modeled in means other than the tabular relations used in relational databases.

Wikipedia

Page 13: GraphTalks Rome - Selecting the right Technology

What is NoSQL?

KV Store

Key-value (KV) stores use the associative array (also known as a map or dictionary) as their fundamental data model. In this model, data is represented as a collection of key-value pairs, such that each possible key appears at most once in the collection

Document Store

A document-oriented database, or document store, is a computer program designed for storing, retrieving, and managing document-oriented information, also known as semi-structured data. ... XML databases are a subclass of document-oriented databases that are optimized to work with XML documents

Page 14: GraphTalks Rome - Selecting the right Technology
Page 15: GraphTalks Rome - Selecting the right Technology

Database Rel and NoSQL• Rel RDBMS

• Tabular, structured data• Highly transactional• Processing of simple lists• Fixed schema• Already in house (most of time)

• KV• Login use cases• High write throughput• Easy schema

• Document• Unstructured data• Lots of shattered data• Storing of such data

• Graph – more a category of it’s own• Highly connected data• Very dynamic data such as hierarchies and networks• Transactional• Structured data• Knowledge vs pure storing

Page 16: GraphTalks Rome - Selecting the right Technology

Graphdatabases

Page 17: GraphTalks Rome - Selecting the right Technology
Page 18: GraphTalks Rome - Selecting the right Technology

Neo4j Competitive Posture6x More Popular than Runner Up

Our leadership position is strong:• Native Graph• Most mature• Most customer successes• Technical strengths (perf & trust)• Largest community• Graph leadership (e.g. openCypher)• Most contributors• Strong financial backing

18 Source: DB-Engines Popularity Index, January 2016

Page 19: GraphTalks Rome - Selecting the right Technology

Industry’s Largest Dedicated Investment in Graphs

Features (20%)

Neo4j

Infrastructure (80%)

“The Other Guys”

Small handful of engineers working on

graphs

Compared to Neo4j, compromises:1) Reliability2) Depth of graph features

• 130+ employees• $80M+ funding• 40+ Full-Time

Product Engineers (growing to 60+ in 2017)

• Nearly a decade of product maturity & use

100% dedicated to graphs

Page 20: GraphTalks Rome - Selecting the right Technology

* Monash Research http://www.dbms2.com/2013/03/18/dbms-development-marklogic-hadoop/

Time to Build Graph API

Fast PerformanceConnected Queries in Real Time

ReliabilityData Trustworthiness

Native GraphFull Stack

5 to 7+ years* ✔ ✔ ✔

Graph on RDBMS

3 to 5years ✔ Underlying DBMS 1000 times

slower for key operations ✔

Graph onother NOSQL

3 to 5years ✔ Underlying DBMS lacks semantic

and architecture for connecting data“Eventually consistent"

leads to "eventually corrupt"

A Native Graph Database is Uniquely Valuable…and Not Easily Replicable

The Cardinal Rules of DBMS Development*:

Imported Author
See slide notes for talking points
Page 21: GraphTalks Rome - Selecting the right Technology

Why Graphdatabases

Page 22: GraphTalks Rome - Selecting the right Technology

Traditional Approach: Tables

Page 23: GraphTalks Rome - Selecting the right Technology

The Whiteboard Model Is the Physical Model

Page 24: GraphTalks Rome - Selecting the right Technology
Page 25: GraphTalks Rome - Selecting the right Technology

A Naturally Adaptive Model

Flexibility

Page 26: GraphTalks Rome - Selecting the right Technology

Graph Based Success

Page 27: GraphTalks Rome - Selecting the right Technology
Page 28: GraphTalks Rome - Selecting the right Technology

Discrete DataMinimally

connected data

Neo4j is designed for data relationships

Other NoSQL

Relational DBMS Neo4j Graph DB

Connected DataFocused on

Data Relationships

Development BenefitsEasy model maintenance

Easy query

Deployment BenefitsUltra high performanceMinimal resource usage

Use the Right Database for the Right Job

Page 29: GraphTalks Rome - Selecting the right Technology

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 developmentPoor performance

Low scalabilityHard to maintain

Page 30: GraphTalks Rome - Selecting the right Technology

Relational Versus Graph Models

Relational Model Graph Model

KNOWS

KNOWS

KNOWS

ANDREAS

TOBIAS

MICA

DELIA

Person FriendPerson-Friend

ANDREASDELIA

TOBIAS

MICA

Page 31: GraphTalks Rome - Selecting the right Technology

NoSQL Databases Don’t Handle Relationships

• No data structures to model or store relationships

• No query constructs to support data relationships

• Relating data requires “JOIN logic” in the application

• No ACID support for transactions

… making NoSQL databases inappropriate when data relationships are valuable in real-time

Page 32: GraphTalks Rome - Selecting the right Technology

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

Page 33: GraphTalks Rome - Selecting the right Technology

The Whiteboard Model Is the Physical Model

Page 34: GraphTalks Rome - Selecting the right Technology

Neo4j – Re-Imagine Your Data as a Graph

Neo4j is an enterprise-grade graph database that enables you to:• Model and store your data as a graph• Query data relationships with ease

and in real-time• Seamlessly evolve applications to

support new requirements by adding new kinds of data and relationships Agile development

High performanceVertical and horizontal scaleSeamless evolution

Page 35: GraphTalks Rome - Selecting the right Technology

Real-World Neo4j Business Benefits

New Competitiveness• New, unique functionality• New insights into data

Better Software• Better code quality• Less complexity• More maintainable

Using the right tool for the job has profound effects on your business

User Success• Faster app performance• Better user experience• Improved user productivity

Project Success• Faster time to market• Lower costs

Neo4j creates a connected data imperative

Page 36: GraphTalks Rome - Selecting the right Technology

Value from Data RelationshipsCommon Use Cases

Internal ApplicationsMaster Data Management

Network and IT Operations

Fraud Detection

Customer-Facing ApplicationsReal-Time Recommendations

Graph-Based SearchIdentity and

Access Management

Page 37: GraphTalks Rome - Selecting the right Technology

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 appin as little as 8 weeks

PROFESSIONAL SERVICES PLAN

8WEEKS

Page 38: GraphTalks Rome - Selecting the right Technology

There Are Lots of Ways to Easily Learn Neo4j

Page 39: GraphTalks Rome - Selecting the right Technology

• NEO4J• MYTHS AND FACTS

“Neo4j only makes sense for special use cases like social networks”

“Is Neo4j really enterprise ready?”

“Neo4j only has nodes and relationships, is this really sufficient for a complex business application?”

“Users always work with graphs?”

“Is this database fast enough?”

Page 40: GraphTalks Rome - Selecting the right Technology

• NEO4J• SIX ARGUMENTS FOR NEO4J

Much easier mapping of business domain model to the graph database Business understands the graph model

Hierarchical structures easy to query Less queries, less development, faster and cheaper results

Full scalability (embedded to cluster) Automated testing, supporting libraries

Integrated Lucene full text search engine Full text search as part of the Cypher query

Extension architecture Amazing performant results

Page 41: GraphTalks Rome - Selecting the right Technology

SummaryOnly 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 connectedCustomers, products, processes, devices interact and relate to each other

Page 42: GraphTalks Rome - Selecting the right Technology

Recommended