Selecting the right technology
and best practices with a focus on
Graphdatabases
Dirk Möller
About me
• 20 years in software sales
• 8 years OSS
• 2012/13 Neo Technology
• 2014 MongoDB
• 2015/16 Couchbase
• Oct 2016 Neo
The interne
DB landscape
Total DB market trend
OSS threatens to eat the DB market
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
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
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
Graphdatabases
Neo4j Competitive Posture
6x 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
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) Reliability
2) 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
* Monash Research http://www.dbms2.com/2013/03/18/dbms-development-marklogic-hadoop/
Time to Build
Graph
API
Fast Performance
Connected Queries in Real Time
Reliability
Data Trustworthiness
Native Graph
Full Stack
5 to 7+
years* ✔ ✔ ✔
Graph on
RDBMS
3 to 5
years ✔
Underlying DBMS 1000 times
slower for key operations ✔
Graph on
other NOSQL
3 to 5
years ✔
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*:
Why Graphdatabases
Traditional Approach: Tables
The Whiteboard Model Is the Physical Model
A Naturally Adaptive Model
Flexibility
Graph Based Success
Discrete Data
Minimally
connected data
Neo4j is designed for data relationships
Other NoSQL
Relational
DBMS
Neo4j Graph DB
Connected Data
Focused on
Data Relationships
Development Benefits
Easy model maintenance
Easy query
Deployment Benefits
Ultra high performance
Minimal resource usage
Use the Right Database for the Right Job
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
Relational Versus Graph Models
Relational Model Graph Model
KNOWS
ANDREAS
TOBIAS
MICA
DELIA
Person FriendPerson-Friend
ANDREAS
DELIA
TOBIAS
MICA
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
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
The Whiteboard Model Is the Physical Model
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 performance
Vertical and horizontal scale
Seamless evolution
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
Value from Data Relationships
Common Use Cases
Internal Applications
Master Data Management
Network and
IT Operations
Fraud Detection
Customer-Facing Applications
Real-Time Recommendations
Graph-Based Search
Identity and
Access Management
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
There Are Lots of Ways to Easily Learn Neo4j
• 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?”
• 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
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
GraphTalks Rome - Selecting the right Technology

GraphTalks Rome - Selecting the right Technology

  • 1.
    Selecting the righttechnology and best practices with a focus on Graphdatabases Dirk Möller
  • 2.
    About me • 20years in software sales • 8 years OSS • 2012/13 Neo Technology • 2014 MongoDB • 2015/16 Couchbase • Oct 2016 Neo
  • 3.
  • 6.
  • 7.
  • 10.
    OSS threatens toeat the DB market
  • 12.
    What is NoSQL? ANoSQL (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
  • 13.
    What is NoSQL? KVStore 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
  • 15.
    Database Rel andNoSQL • 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
  • 16.
  • 18.
    Neo4j Competitive Posture 6xMore 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
  • 19.
    Industry’s Largest DedicatedInvestment in Graphs Features (20%) Neo4j Infrastructure (80%) “The Other Guys” Small handful of engineers working on graphs Compared to Neo4j, compromises: 1) Reliability 2) 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
  • 20.
    * Monash Researchhttp://www.dbms2.com/2013/03/18/dbms-development-marklogic-hadoop/ Time to Build Graph API Fast Performance Connected Queries in Real Time Reliability Data Trustworthiness Native Graph Full Stack 5 to 7+ years* ✔ ✔ ✔ Graph on RDBMS 3 to 5 years ✔ Underlying DBMS 1000 times slower for key operations ✔ Graph on other NOSQL 3 to 5 years ✔ 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*:
  • 21.
  • 22.
  • 23.
    The Whiteboard ModelIs the Physical Model
  • 25.
    A Naturally AdaptiveModel Flexibility
  • 26.
  • 28.
    Discrete Data Minimally connected data Neo4jis designed for data relationships Other NoSQL Relational DBMS Neo4j Graph DB Connected Data Focused on Data Relationships Development Benefits Easy model maintenance Easy query Deployment Benefits Ultra high performance Minimal resource usage Use the Right Database for the Right Job
  • 29.
    Relational DBs Can’tHandle 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
  • 30.
    Relational Versus GraphModels Relational Model Graph Model KNOWS ANDREAS TOBIAS MICA DELIA Person FriendPerson-Friend ANDREAS DELIA TOBIAS MICA
  • 31.
    NoSQL Databases Don’tHandle 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
  • 32.
    Unlocking Value fromYour 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
  • 33.
    The Whiteboard ModelIs the Physical Model
  • 34.
    Neo4j – Re-ImagineYour 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 performance Vertical and horizontal scale Seamless evolution
  • 35.
    Real-World Neo4j BusinessBenefits 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
  • 36.
    Value from DataRelationships Common Use Cases Internal Applications Master Data Management Network and IT Operations Fraud Detection Customer-Facing Applications Real-Time Recommendations Graph-Based Search Identity and Access Management
  • 37.
    Quick Start: PlanYour 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
  • 38.
    There Are Lotsof Ways to Easily Learn Neo4j
  • 39.
    • NEO4J • MYTHSAND 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?”
  • 40.
    • NEO4J • SIXARGUMENTS 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
  • 41.
    Summary Only Neo4j Unlocksthe 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

Editor's Notes

  • #2 In the near future, many of your apps will be driven by data relationships and not transactions You can unlock value from business relationships with Neo4j
  • #17 In the near future, many of your apps will be driven by data relationships and not transactions You can unlock value from business relationships with Neo4j
  • #19 More competition validates the space
  • #21 Titan is not on a firm technical foundation. Even if they were, they’re not sitting on a firm commercial foundation: no outside funding, 7 guys, primary business focus is consulting not product OrientDB is in the “Native full stack” category, but their technology platform is shaky because they haven’t had the full 5-7 years of being shaken out in production. And their commercials are quite shaky for all the reasons we’ve discussed.
  • #22 In the near future, many of your apps will be driven by data relationships and not transactions You can unlock value from business relationships with Neo4j
  • #27 And deriving value from data-relationships is exactly what some of the most successful companies in the world have done. Google created perhaps the most valuable advertising system of all time on top of their search-enginge, which is based on relationships between webpages. Linkedin created perhaps the most valuable HR-tool ever based on relationships amongst professional And this is also what pay-pal did, creating a peer-to-peer transaction service, based on relationships.
  • #30 Presenter Notes - Challenges with current technologies? Database options are not suited to model or store data as a network of relationships Performance degrades with number and levels of relationships making it harder to use for real-time applications Not flexible to add or change relationships in realtime
  • #32 Relating data requires building JOIN logic in the application and more data movement over the network
  • #33 Presenter Notes - How does one take advantage of data relationships for real-time applications? To take advantage of relationships Data needs to be available as a network of connections (or as a graph) Real-time access to relationship information should be available regardless of the size of data set or number and complexity of relationships The graph should be able to accommodate new relationships or modify existing ones
  • #35 Presenter Notes - Neo4j - Enterprise Grade Database to re-imagine your data as a Graph Model and store your data as a Graph Traverse any number of or levels of relationships in real-time Evolve the model on the fly
  • #36 Presenter Notes - Higher Level Value Proposition Everyday, new data is being created at a volume never seen before. And we see that this data is getting even more connected. People communicating as customers, employees, friends, influencers. Customers purchasing products, services or content, expressing their likes and dislikes. Digitization of processes and more data elements for each step. And with Internet of Things (IoT), we have the same thing repeating but with machines talking to each other.  There is tremendous value in the knowledge of this relationship information for real-time applications. Examples are  Connect a user’s profile and purchases to other users and increase revenue through recommendations for new products and services Reimagine your master data - HR, Customer or Product as a connected model and identify ways to reach customers, improve their experience, identify the best people to staff on projects and more View your individual data elements as part of a process to determine fraud detection or process bottlenecks Companies like Google, LinkedIn and PayPal have done exactly that. Reimagine their data as a network (or a graph) and use the relationship information
  • #39 It’s easy to learn Neo4j, especially when your team already knows SQL. We partner with you every step of the way in a professional services plan tailored to your needs.