+ All Categories
Home > Technology > 20161020 - Paris - Retour GC

20161020 - Paris - Retour GC

Date post: 11-Jan-2017
Category:
Upload: benoit-simard
View: 30 times
Download: 0 times
Share this document with a friend
55
Meetup Paris 19 Octobre, 2016 1
Transcript
Page 1: 20161020  - Paris - Retour GC

Meetup Paris

19 Octobre, 2016

1

Page 2: 20161020  - Paris - Retour GC

GraphConnect San Francisco:April 26 in London

Tonight:

PARIS AFTERGLOW

Page 3: 20161020  - Paris - Retour GC

Emil EifremCEO & Co-founder, Neo Technology

Page 4: 20161020  - Paris - Retour GC
Page 5: 20161020  - Paris - Retour GC
Page 6: 20161020  - Paris - Retour GC
Page 7: 20161020  - Paris - Retour GC

LOOKS_AT

Returns

Purchase History

Price-range

Home delivery

Inventory

Express goods

Complaints

reviews

TweetsEmails

Category

Promotions

Bundling

Location

KITCHEN AID SERIESHow to remain 

competitive?The Connected Enterprise

Page 8: 20161020  - Paris - Retour GC
Page 9: 20161020  - Paris - Retour GC
Page 10: 20161020  - Paris - Retour GC

Emil’ Product UpdateCEO & Co-founder, Neo Technology

Page 11: 20161020  - Paris - Retour GC

Neo4j 3.1: now in BETA The Graph Foundation for the Enterprise

Octobre 2016

12

Page 12: 20161020  - Paris - Retour GC
Page 13: 20161020  - Paris - Retour GC

Neo4j 3.0 Recap APRIL 2016 RELEASE Adoption-Focused Release Delivering New Graph Capabilities

DevelopersDevelopers

Develop applications

faster and easier

ArchitectsArchitects

Design bigger and

faster applications

AdministratorsAdministrators

Deploy Neo4janywhere easily

Neo4j 3.0 enables and accelerates large-scale graph initiativesNeo4j 3.0 enables and accelerates large-scale graph initiatives

Giant graphs, fast performance

Easy full-stack development

Cloud, containerand on-premise

14

Page 14: 20161020  - Paris - Retour GC

Introducing Neo4j 3.1New Security and Clustering Architecture

Build and deploy graph applications acrossan entire enterprise• Compliance with internal and external

enterprise Information Security needs• Robust and flexible new clustering

architecture for diverse operational scenarios and application needs

A foundation that enables mainstream enterprise solutions on-premises and in the cloud

ENTERPRISE GRAPH FOUNDATIONENTERPRISE GRAPH FOUNDATION

Operational, Analytic, and Transactional UsesOperational, Analytic, and Transactional Uses

SecuritySecurity ClusteringClustering OperabilityOperability

EnterpriseGraph

Applications

EnterpriseGraph

Applications

15

The Graph Foundation for the Enterprise

Page 15: 20161020  - Paris - Retour GC

Neo4j 3.1 Highlights

SecurityFoundat

ion

Database Kernel and Operations Advances

16

IBM Power8

CAPI Flash Support

SchemaViewer

CausalClusteringState-of-the-

ArtCluster

Architecture

Page 16: 20161020  - Paris - Retour GC

Consistency with Graphs: A Different ChallengeKeeping Your Graph Intact is Essential for Graph Operations

Graphs with Causal Consistency

Graphs with Eventual Consistency

17

The graph transaction moves together as one ACID transaction

with built-in safetyGuarantees Graph Consistency

Without ACID transactions, the view of the graph & the data

itself becomes corruptedNot Good Enough for Graphs

Non-Native Graph DB

Page 17: 20161020  - Paris - Retour GC

Raft-based architecture • Continuously available• Consensus commits• Third-generation cluster architecture

Cluster-aware stack• Seamless integration among drivers,

Bolt protocol and cluster• Eliminates need for external load balancer• Stateful, cluster-aware sessions with

encrypted connections

Streamlined development• Relieves developers from complex infrastructure

concerns• Faster and easier to develop distributed graph

applications

Neo4j Causal Clustering ArchitectureResilient, Modern, Fault-Tolerant. Guarantees Graph Safety.

18 ENTERPRISE EDITION

Page 18: 20161020  - Paris - Retour GC

How Causal Clustering Works

19

Replica Servers

Query, View

Core ServersSynced Cluster

ReadReplicaRead

Replica

Read-WriteRead-Write

ReadReplicaRead

Replica

Read-WriteRead-WriteRead

Replica

ReadReplic

a

Read Replica

Reportingand Analysis

Read Replica

Reportingand Analysis

Gra

ph

App

Gra

ph

App

Driver

Driver B O L TB O L T

W ri teW ri teR e a dR e a d

ReadReplic

a

ReadReplic

a

ReadReplic

a

ReadReplic

a

ReadReplic

a

ReadReplic

a

Built-in load balancing• Spreads reads to core and replica

servers• Spreads writes across core servers

Causal consistency• Always-consistent view of data at any

scale• Stronger than eventual consistency• Supports varying app SLAs• Best model for graph transactions

Large heterogeneous clusters• 1000+ instance clusters• No dependence on master

avoids bottleneck• Mix and match instance types

App servers, reporting servers, IoT devices…

ENTERPRISE EDITION

Page 19: 20161020  - Paris - Retour GC

R E P L I C A Q U E R I E SR E P L I C A Q U E R I E S C O R E Q U E R I E SC O R E Q U E R I E S

Causal Clustering Architecture Optimizes forCost-Consistency at Query Time

ReadAny

ReadAny

20

ReadYour Own

Writes

ReadYour Own

Writes

ReadAny

ReadAny

ReadYour Own

Writes

ReadYour Own

Writes

QUORATE

Q U E R Y C O S T Q U E R Y C O S T

ENTERPRISE EDITION

Page 20: 20161020  - Paris - Retour GC

How Causally Consistent Reads Work

App ServerApp Server

DriverDriver

3: Review Profile

4: Create an order

AsyncReplicatio

n

RaftReplicatio

n

1: Read Product Catalog

Core Server

Core Server

Replica Server

App ServerApp Server

DriverDriver

App ServerApp Server

DriverDriver

ENTERPRISE EDITION

2. Create Account

5: Review orders

How it Works:• Application chooses a consistency level “Read Any” vs “Read your own writes”• Cluster chooses appropriate membersDefault optimizes for scalability (i.e. read replica server for reads)

Causal Clustering Enables:• Application-driven SLAs• Optimizing for freshness vs. cost• Tunability within an application

On an application & session basis

1: Read any replica | 2: Write [Tx 101] | 3: RYOW*[Tx 101] | 4: Write [Tx 102] | 5: RYOW [Tx 102]

Page 21: 20161020  - Paris - Retour GC

Consistency with Causal Clustering

22

Expected Consistency BehaviorNoSQL

Eventual Consistency

Neo4j Causal

Consistency

Every single server is eventually updated View of related data is always consistent

Users reading and re-reading data always see the same data Unless there have been intervening updates by others

Users writing and updating data always see the latest data Unless there have been intervening updates by others

ENTERPRISE EDITION

Page 22: 20161020  - Paris - Retour GC

Satisfy enterprise admin and database security requirements • Flexible authentication options ActiveDirectory/LDAP or Native users• Role-based Authorization• List and kill running queries• Access controls for User-Defined

Procedures Enables subgraph access control

• Query logging and Security event logging

Passes through originating end user• Extendable Auth plugin Architecture

Official Kerberos support in near future

23

Neo4j Security FoundationEnterprise-Class Security and Control

P R E D E F I N E D R O L E S

PrivilegesReade

rPublish

erArchite

ctAdmin

Change own password • • • •

Read data • • • •

View own details • • • •

Terminate own query • • • •

Write/update/delete data • • •

Manage index/constraints • •

Terminate others’ queries •

ENTERPRISE EDITION

Page 23: 20161020  - Paris - Retour GC

Choose from several authentication and authorization methods• Built-in native users repository

Enabled by default• LDAP connector to Active

Directory or openLDAP

• Custom auth provider plugins

24

Neo4j Security FoundationEnterprise-Class Security and Control

CustomPlugin

CustomPlugin

CustomPlugin

CustomPlugin

Active DirectoryActive Directory openLDAPopenLDAP

LDAP connecto

r

LDAP connecto

r

Auth PluginExtension Module

Auth PluginExtension Module

Built-inNative Users

Built-inNative Users

Neo4jNeo4j

ENTERPRISE EDITION

Page 24: 20161020  - Paris - Retour GC

Neo4j Security FoundationManage Running Queries with Admin UI in Neo4j Browser

25

List all running queries with :qs (soon to be :queries)

List all running queries with :qs (soon to be :queries)

List query string with parameters and transaction

metadata

List query string with parameters and transaction

metadata

Users can only see and terminate their own

queries

Users can only see and terminate their own

queries

Terminate selected

query

Terminate selected

query

Admins can view and terminate all running

queries across the cluster

Admins can view and terminate all running

queries across the cluster

Track elapsed time for queriesTrack elapsed

time for queries

ENTERPRISE EDITION

Page 25: 20161020  - Paris - Retour GC

Neo4j Security FoundationAdminister Users & Roles with Admin UI in Neo4j Browser

26

Add new user with:server user addAdd new user with:server user add

List all native users with :server

user list command

List all native users with :server

user list command

Assign roles when

creating users

Assign roles when

creating users

Suspend or activate

users

Suspend or activate

users

DeleteusersDeleteusers

Add or remove assigned roles to

existing users

Add or remove assigned roles to

existing users

Enforce user password change

at first login

Enforce user password change

at first login

ENTERPRISE EDITION

Page 26: 20161020  - Paris - Retour GC

Neo4j 3.1Database Kernel and Operational ImprovementsExecution guard• Terminates long-running end-user queries• Lets admins specify max query duration per

instance

Node and relationship ID allocation (ENTERPRISE EDITION)

• Reallocates space from deleted records while the database cluster is online

27

(a)-->(b)

New command-line interface • Based on Bolt• Enables ad-hoc querying and scripting• Extends Neo4j Browser development to command

line• Can run remotely with encrypted communication by

default

Page 27: 20161020  - Paris - Retour GC

Neo4j 3.1Schema Viewer

• Neo4j Schema Viewer displays the graph model at the current point in time

• Uses exact database statistics for instant responsiveness

• Helps developers, admins and users understand and communicate the database contents

28

Built into the Neo4j Browser tool

Page 28: 20161020  - Paris - Retour GC

Neo4j 3.1User-Defined Functions

• Allows users to create their own functions and use them with Cypher• Useful for expressing common computations, rules, conversions,

predicates• Extends the Neo4j 3.0 Stored Procedure mechanism

Creating a UUID with a Stored Procedure vs. with a Function

Page 29: 20161020  - Paris - Retour GC

Neo4j 3.1: The Graph Foundation for the Enterprise

Questions and Answers

30

Page 30: 20161020  - Paris - Retour GC

Emil’ OpenCypher UpdateCEO & Co-founder, Neo Technology

Page 31: 20161020  - Paris - Retour GC

SQL for Graphs

Page 32: 20161020  - Paris - Retour GC

Users Love Cypher

Page 33: 20161020  - Paris - Retour GC

Why openCypher?

CompanyVendor Independence

IndividualCypher as a transferable skill set

Page 34: 20161020  - Paris - Retour GC

openCypher Supporters

Page 35: 20161020  - Paris - Retour GC

Q4 2015Announcement

2016 2017 2018

Tooling Enablement DBMS Enablement

Process Language Evolution

Open StandardProposed Open Standard

Tooling Providers DBMS Early Adopters Everyone

openCypher Roadmap

Page 36: 20161020  - Paris - Retour GC

DataInterchange

Graph Storage & Processing

Real­Time/Operational (“OLTP”)

Analytic/Compute(“OLAP”)

+Cypher

Page 37: 20161020  - Paris - Retour GC

Emil’ Startup ProgramUpdateCEO & Co-founder, Neo Technology

Page 38: 20161020  - Paris - Retour GC

Anybody with an idea and a purpose,

can now use a technology that is powerful enough to change an industry

Page 39: 20161020  - Paris - Retour GC

Tiers, Neo4j Startup Program

≤ 20 employeesFree Neo4j Enterprise Subscription(Unsupported)

≤ 50 employeesStartup Pricing (Includes Support)

Page 40: 20161020  - Paris - Retour GC

349

Page 41: 20161020  - Paris - Retour GC

From self­funded to funded by the top VCs such as a16z, Accel and Sequoia

Facts, Neo4j Startup Program

349 startups, 32 Countries

Security, Machine Learning, IoT, eCommerce, Social Networks… 

Numbers

Field of Innovation

Funding

Page 42: 20161020  - Paris - Retour GC

Prominent Neo4j Startup Program Alumnis

Page 43: 20161020  - Paris - Retour GC

Neo4j Startup Program

Technology SupportMentorship MarketingThrough Neo4jChannels

EcosystemSupport

Talent Acquisition

Page 44: 20161020  - Paris - Retour GC
Page 45: 20161020  - Paris - Retour GC

Backup slides:Neo4j’s Next Generation Cluster Architecture

Page 46: 20161020  - Paris - Retour GC

Ultra Large Clusters Raft & Consensus Commit

Full Stack Cluster Awareness Causal Consistency

The Next Generation Cluster Architecture

Page 47: 20161020  - Paris - Retour GC

Read­WriteRead­Write

Read­WriteRead­Write

Read­WriteRead­Write

Read ReplicaRead Replica

Read ReplicaRead Replica

Read ReplicaRead Replica

Read ReplicaRead Replica

Read ReplicaRead Replica

Read ReplicaRead Replica

Read ReplicaRead Replica

Read ReplicaRead Replica

Read ReplicaRead Replica

Read ReplicaRead Replica

Read ReplicaRead Replica

Read ReplicaRead Replica

Replica ServersQuery, View

Core ServersSynced ClusterUltra Large 

Clusters

1

Page 48: 20161020  - Paris - Retour GC

Read­WriteRead­Write

Read­WriteRead­Write

Read­WriteRead­Write

Read ReplicaRead Replica

Read ReplicaRead Replica

Read ReplicaRead Replica

Read ReplicaRead Replica

Read ReplicaRead Replica

Read ReplicaRead Replica

Read ReplicaRead Replica

Read ReplicaRead Replica

Read ReplicaRead Replica

Read ReplicaRead Replica

Read ReplicaRead Replica

Read ReplicaRead Replica

Replica ServersQuery, View

Core ServersSynced ClusterUltra Large 

Clusters

1

Read ReplicaRead Replica

Read ReplicaRead Replica

Read ReplicaRead Replica

Read ReplicaRead Replica

Read ReplicaRead Replica

Read ReplicaRead Replica

Read ReplicaRead Replica

Read ReplicaRead Replica

Read ReplicaRead Replica

Read ReplicaRead Replica

Read ReplicaRead Replica

Read ReplicaRead Replica

Read ReplicaRead ReplicaRead 

ReplicaRead Replica

Read ReplicaRead Replica

Read ReplicaRead Replica

Read ReplicaRead Replica

Read ReplicaRead Replica

Read ReplicaRead Replica

Read ReplicaRead Replica

Read ReplicaRead Replica

Read ReplicaRead Replica

Read ReplicaRead Replica

Read ReplicaRead Replica

Read ReplicaRead Replica

Read ReplicaRead Replica

Read ReplicaRead Replica

Read ReplicaRead ReplicaRead 

ReplicaRead Replica

Read ReplicaRead Replica

Read ReplicaRead Replica

Read ReplicaRead Replica

Read ReplicaRead Replica

Read ReplicaRead Replica

Read ReplicaRead Replica

Read ReplicaRead Replica

Read ReplicaRead Replica

Read ReplicaRead ReplicaRead 

ReplicaRead Replica

Page 49: 20161020  - Paris - Retour GC

Raft and Consensus Commits

2

Read­Write

Read­Write

Read­Write

Read­Write

Read­Write

Write Request

WriteAcknowledgement

Page 50: 20161020  - Paris - Retour GC

Core ServersSynced Cluster

Write

Read Replica

Read Replica

Read

Read Replica

Replica ServersQuery, View

Read Replica

Application

Driver

Read Replica

Read Replica

Read­Write

Read­Write

Full Stack Cluster Awareness

3

Page 51: 20161020  - Paris - Retour GC

Causal Consistency

4

EventualWrite Read

<Sleep = 100 ms>

propagation

Application Application

ReadWrite

propagation

Application Application

Page 52: 20161020  - Paris - Retour GC

Application

Read AnyCore

Write Write Read-Your-Own-Write

Raft ReplicationAsyncReplication

Core Server Core Server Read Replica

Driver

Application

Driver

Application

Driver

Causal Consistency

4

Page 53: 20161020  - Paris - Retour GC

New Security Foundation

Page 54: 20161020  - Paris - Retour GC

Federated Authenticationwith LDAP and AD(Next up: Kerberos!)

Role­Based Authorization

New Security Foundation

Fine-grained access control, maybe show a user calling a stored procedure where there is a larger part of the graph below the stored proc, and above the stored proc what comes back to the user is a subset of the graph (i.e. fewer relationships, fewer nodes, and fewer properties on the returned nodes)

Fine­Grained Access Control(Procedure­Based)

Page 55: 20161020  - Paris - Retour GC

The New Security Foundation EnablesSarbanes­Oxley, HIPAA, PCI­DSS, et al


Recommended