graphtalks rome - selecting the right technology
TRANSCRIPT
![Page 1: GraphTalks Rome - Selecting the right Technology](https://reader036.vdocuments.us/reader036/viewer/2022062523/58d139491a28ab455d8b478b/html5/thumbnails/1.jpg)
Selecting the right technologyand best practices with a focus on Graphdatabases
Dirk Möller
![Page 2: GraphTalks Rome - Selecting the right Technology](https://reader036.vdocuments.us/reader036/viewer/2022062523/58d139491a28ab455d8b478b/html5/thumbnails/2.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062523/58d139491a28ab455d8b478b/html5/thumbnails/3.jpg)
The internet
![Page 4: GraphTalks Rome - Selecting the right Technology](https://reader036.vdocuments.us/reader036/viewer/2022062523/58d139491a28ab455d8b478b/html5/thumbnails/4.jpg)
![Page 5: GraphTalks Rome - Selecting the right Technology](https://reader036.vdocuments.us/reader036/viewer/2022062523/58d139491a28ab455d8b478b/html5/thumbnails/5.jpg)
![Page 6: GraphTalks Rome - Selecting the right Technology](https://reader036.vdocuments.us/reader036/viewer/2022062523/58d139491a28ab455d8b478b/html5/thumbnails/6.jpg)
DB landscape
![Page 7: GraphTalks Rome - Selecting the right Technology](https://reader036.vdocuments.us/reader036/viewer/2022062523/58d139491a28ab455d8b478b/html5/thumbnails/7.jpg)
Total DB market trend
![Page 8: GraphTalks Rome - Selecting the right Technology](https://reader036.vdocuments.us/reader036/viewer/2022062523/58d139491a28ab455d8b478b/html5/thumbnails/8.jpg)
![Page 9: GraphTalks Rome - Selecting the right Technology](https://reader036.vdocuments.us/reader036/viewer/2022062523/58d139491a28ab455d8b478b/html5/thumbnails/9.jpg)
![Page 10: GraphTalks Rome - Selecting the right Technology](https://reader036.vdocuments.us/reader036/viewer/2022062523/58d139491a28ab455d8b478b/html5/thumbnails/10.jpg)
OSS threatens to eat the DB market
![Page 11: GraphTalks Rome - Selecting the right Technology](https://reader036.vdocuments.us/reader036/viewer/2022062523/58d139491a28ab455d8b478b/html5/thumbnails/11.jpg)
![Page 12: GraphTalks Rome - Selecting the right Technology](https://reader036.vdocuments.us/reader036/viewer/2022062523/58d139491a28ab455d8b478b/html5/thumbnails/12.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062523/58d139491a28ab455d8b478b/html5/thumbnails/13.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062523/58d139491a28ab455d8b478b/html5/thumbnails/14.jpg)
![Page 15: GraphTalks Rome - Selecting the right Technology](https://reader036.vdocuments.us/reader036/viewer/2022062523/58d139491a28ab455d8b478b/html5/thumbnails/15.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062523/58d139491a28ab455d8b478b/html5/thumbnails/16.jpg)
Graphdatabases
![Page 17: GraphTalks Rome - Selecting the right Technology](https://reader036.vdocuments.us/reader036/viewer/2022062523/58d139491a28ab455d8b478b/html5/thumbnails/17.jpg)
![Page 18: GraphTalks Rome - Selecting the right Technology](https://reader036.vdocuments.us/reader036/viewer/2022062523/58d139491a28ab455d8b478b/html5/thumbnails/18.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062523/58d139491a28ab455d8b478b/html5/thumbnails/19.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062523/58d139491a28ab455d8b478b/html5/thumbnails/20.jpg)
* 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*:
![Page 21: GraphTalks Rome - Selecting the right Technology](https://reader036.vdocuments.us/reader036/viewer/2022062523/58d139491a28ab455d8b478b/html5/thumbnails/21.jpg)
Why Graphdatabases
![Page 22: GraphTalks Rome - Selecting the right Technology](https://reader036.vdocuments.us/reader036/viewer/2022062523/58d139491a28ab455d8b478b/html5/thumbnails/22.jpg)
Traditional Approach: Tables
![Page 23: GraphTalks Rome - Selecting the right Technology](https://reader036.vdocuments.us/reader036/viewer/2022062523/58d139491a28ab455d8b478b/html5/thumbnails/23.jpg)
The Whiteboard Model Is the Physical Model
![Page 24: GraphTalks Rome - Selecting the right Technology](https://reader036.vdocuments.us/reader036/viewer/2022062523/58d139491a28ab455d8b478b/html5/thumbnails/24.jpg)
![Page 25: GraphTalks Rome - Selecting the right Technology](https://reader036.vdocuments.us/reader036/viewer/2022062523/58d139491a28ab455d8b478b/html5/thumbnails/25.jpg)
A Naturally Adaptive Model
Flexibility
![Page 26: GraphTalks Rome - Selecting the right Technology](https://reader036.vdocuments.us/reader036/viewer/2022062523/58d139491a28ab455d8b478b/html5/thumbnails/26.jpg)
Graph Based Success
![Page 27: GraphTalks Rome - Selecting the right Technology](https://reader036.vdocuments.us/reader036/viewer/2022062523/58d139491a28ab455d8b478b/html5/thumbnails/27.jpg)
![Page 28: GraphTalks Rome - Selecting the right Technology](https://reader036.vdocuments.us/reader036/viewer/2022062523/58d139491a28ab455d8b478b/html5/thumbnails/28.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062523/58d139491a28ab455d8b478b/html5/thumbnails/29.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062523/58d139491a28ab455d8b478b/html5/thumbnails/30.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062523/58d139491a28ab455d8b478b/html5/thumbnails/31.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062523/58d139491a28ab455d8b478b/html5/thumbnails/32.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062523/58d139491a28ab455d8b478b/html5/thumbnails/33.jpg)
The Whiteboard Model Is the Physical Model
![Page 34: GraphTalks Rome - Selecting the right Technology](https://reader036.vdocuments.us/reader036/viewer/2022062523/58d139491a28ab455d8b478b/html5/thumbnails/34.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062523/58d139491a28ab455d8b478b/html5/thumbnails/35.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062523/58d139491a28ab455d8b478b/html5/thumbnails/36.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062523/58d139491a28ab455d8b478b/html5/thumbnails/37.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062523/58d139491a28ab455d8b478b/html5/thumbnails/38.jpg)
There Are Lots of Ways to Easily Learn Neo4j
![Page 39: GraphTalks Rome - Selecting the right Technology](https://reader036.vdocuments.us/reader036/viewer/2022062523/58d139491a28ab455d8b478b/html5/thumbnails/39.jpg)
• 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](https://reader036.vdocuments.us/reader036/viewer/2022062523/58d139491a28ab455d8b478b/html5/thumbnails/40.jpg)
• 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](https://reader036.vdocuments.us/reader036/viewer/2022062523/58d139491a28ab455d8b478b/html5/thumbnails/41.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062523/58d139491a28ab455d8b478b/html5/thumbnails/42.jpg)