Neo4j 4.1 introduces new features for security including role-based access control, schema-based security, and granular security for write operations. It also includes improvements to causal clustering, performance, and developer tools. This document reviews the history of releases from Neo4j 3.0 through 4.1 and highlights some of the main new capabilities in security, performance, and operations.
This document outlines an agenda and logistics for a training on Neo4j fundamentals and Cypher. It introduces graph concepts like nodes, relationships, and properties. It discusses why graphs are useful and shows examples of real-world domains that can be modeled as graphs. The training will cover introductory Cypher concepts like creating and matching patterns, and modeling exercises like representing a social network or movie genres graph. Logistics are provided like the WiFi password and a suggestion to work together in pairs on exercises.
This document provides an overview of a Neo4j basic training session. The training will cover querying graph patterns with Cypher, designing and implementing a graph database model, and evolving existing graphs to support new requirements. Attendees will learn about graph modeling concepts like nodes, relationships, properties and labels. They will go through a modeling workflow example of developing a graph model to represent airport connectivity data from a CSV file and querying the resulting graph.
These webinar slides are an introduction to Neo4j and Graph Databases. They discuss the primary use cases for Graph Databases and the properties of Neo4j which make those use cases possible. They also cover the high-level steps of modeling, importing, and querying your data using Cypher and touch on RDBMS to Graph.
This developer-focused webinar will explain how to use the Cypher graph query language. Cypher, a query language designed specifically for graphs, allows for expressing complex graph patterns using simple ASCII art-like notation and offers a simple but expressive approach for working with graph data.
During this webinar you'll learn:
-Basic Cypher syntax
-How to construct graph patterns using Cypher
-Querying existing data
-Data import with Cypher
-Using aggregations such as statistical functions
-Extending the power of Cypher using procedures and functions
This document provides an overview of graph databases and their use cases. It begins with definitions of graphs and graph databases. It then gives examples of how graph databases can be used for social networking, network management, and other domains where data is interconnected. It provides Cypher examples for creating and querying graph patterns in a social networking and IT network management scenario. Finally, it discusses the graph database ecosystem and how graphs can be deployed for both online transaction processing and batch processing use cases.
1. The document discusses Neo4j, the world's most popular graph database. It highlights Neo4j's customers in top retail, financial, and software firms and its presence in Silicon Valley and global offices.
2. Neo4j is used both on-premises and in the cloud as a database-as-a-service. The document also discusses Neo4j's graph data science capabilities and its rise in popularity from 2010 to 2020.
3. Going forward, Neo4j is focusing on cloud services and positioning developers at the center of its strategy and products like Neo4j Aura and the Graph Data Science Library.
This document outlines an agenda and logistics for a training on Neo4j fundamentals and Cypher. It introduces graph concepts like nodes, relationships, and properties. It discusses why graphs are useful and shows examples of real-world domains that can be modeled as graphs. The training will cover introductory Cypher concepts like creating and matching patterns, and modeling exercises like representing a social network or movie genres graph. Logistics are provided like the WiFi password and a suggestion to work together in pairs on exercises.
This document provides an overview of a Neo4j basic training session. The training will cover querying graph patterns with Cypher, designing and implementing a graph database model, and evolving existing graphs to support new requirements. Attendees will learn about graph modeling concepts like nodes, relationships, properties and labels. They will go through a modeling workflow example of developing a graph model to represent airport connectivity data from a CSV file and querying the resulting graph.
These webinar slides are an introduction to Neo4j and Graph Databases. They discuss the primary use cases for Graph Databases and the properties of Neo4j which make those use cases possible. They also cover the high-level steps of modeling, importing, and querying your data using Cypher and touch on RDBMS to Graph.
This developer-focused webinar will explain how to use the Cypher graph query language. Cypher, a query language designed specifically for graphs, allows for expressing complex graph patterns using simple ASCII art-like notation and offers a simple but expressive approach for working with graph data.
During this webinar you'll learn:
-Basic Cypher syntax
-How to construct graph patterns using Cypher
-Querying existing data
-Data import with Cypher
-Using aggregations such as statistical functions
-Extending the power of Cypher using procedures and functions
This document provides an overview of graph databases and their use cases. It begins with definitions of graphs and graph databases. It then gives examples of how graph databases can be used for social networking, network management, and other domains where data is interconnected. It provides Cypher examples for creating and querying graph patterns in a social networking and IT network management scenario. Finally, it discusses the graph database ecosystem and how graphs can be deployed for both online transaction processing and batch processing use cases.
1. The document discusses Neo4j, the world's most popular graph database. It highlights Neo4j's customers in top retail, financial, and software firms and its presence in Silicon Valley and global offices.
2. Neo4j is used both on-premises and in the cloud as a database-as-a-service. The document also discusses Neo4j's graph data science capabilities and its rise in popularity from 2010 to 2020.
3. Going forward, Neo4j is focusing on cloud services and positioning developers at the center of its strategy and products like Neo4j Aura and the Graph Data Science Library.
This document provides an overview of graph databases and Neo4j. It begins with an introduction to graph databases and their advantages over relational databases for modeling connected data. Examples of real-world use cases that are well-suited for graph databases are given. The document then describes the core components of the graph data model including nodes, relationships, properties, and labels. It provides examples of how to model data as a graph and query graphs using Cypher, the query language for Neo4j. The document concludes by discussing Neo4j as an example of a graph database and its key features and capabilities.
Introduction to Neo4j for the Emirates & BahrainNeo4j
Â
This document provides an agenda and overview of a Neo4j presentation. It discusses Neo4j as the leading native graph database, its graph data science capabilities, and deployment options like Neo4j Aura and Cloud Managed Services. Success stories are highlighted like Minka using Neo4j Aura to power Colombia's new real-time ACH payments system. The presentation aims to demonstrate Neo4j's technology, use cases, and how it can drive business value through connecting data.
Scaling into Billions of Nodes and Relationships with Neo4j Graph Data ScienceNeo4j
Â
The document discusses Neo4j Graph Data Science (GDS) and its ability to scale to billions of nodes and relationships. It outlines a typical GDS workflow involving graph projection, algorithm execution, and data export. It then discusses challenges of scaling GDS, including data size, import/export speeds, and algorithm performance. The document dives into how GDS addresses these challenges through techniques like graph compression, parallel processing, and optimized data structures like "huge collections" to handle large primitive data types in Java.
Presented at JavaOne 2013, Tuesday September 24.
"Data Modeling Patterns" co-created with Ian Robinson.
"Pitfalls and Anti-Patterns" created by Ian Robinson.
Neo4j is a native graph database that allows organizations to leverage connections in data to create value in real-time. Unlike traditional databases, Neo4j connects data as it stores it, enabling lightning-fast retrieval of relationships. With over 200 customers including Walmart, UBS, and adidas, Neo4j is the number one database for connected data by providing a highly scalable and flexible platform to power use cases like recommendations, fraud detection, and supply chain management through relationship queries and analytics.
The document provides an overview of the internal workings of Neo4j. It describes how the graph data is stored on disk as linked lists of fixed size records and how two levels of caching work - a low-level filesystem cache and a high-level object cache that stores node and relationship data in a structure optimized for traversals. It also explains how traversals are implemented using relationship expanders and evaluators to iteratively expand paths through the graph, and how Cypher builds on this but uses graph pattern matching rather than the full traversal system.
Mark and Wes will talk about Cypher optimization techniques based on real queries as well as the theoretical underlying processes. They'll start from the basics of "what not to do", and how to take advantage of indexes, and continue to the subtle ways of ordering MATCH/WHERE/WITH clauses for optimal performance as of the 2.0.0 release.
The document discusses 10 tips and tricks for tuning Cypher queries in Neo4j. It covers using PROFILE to analyze query plans, avoiding unnecessary property reads, elevating properties to labels when possible, effectively using indexes and constraints, handling relationships efficiently, leveraging lists and map projections, implementing pattern comprehensions and subqueries, batching updates, and using user-defined procedures and functions. The final slides provide examples of special slide formatting and include placeholders for images or logos.
This document summarizes a presentation about the graph database Neo4j. The presentation included an agenda that covered graphs and their power, how graphs change data views, and real-time recommendations with graphs. It introduced the presenters and discussed how data relationships unlock value. It described how Neo4j allows modeling data as a graph to unlock this value through relationship-based queries, evolution of applications, and high performance at scale. Examples showed how Neo4j outperforms relational and NoSQL databases when relationships are important. The presentation concluded with examples of how Neo4j customers have benefited.
Relational databases were conceived to digitize paper forms and automate well-structured business processes, and still have their uses. But RDBMS cannot model or store data and its relationships without complexity, which means performance degrades with the increasing number and levels of data relationships and data size. Additionally, new types of data and data relationships require schema redesign that increases time to market.
A native graph database like Neo4j naturally stores, manages, analyzes, and uses data within the context of connections meaning Neo4j provides faster query performance and vastly improved flexibility in handling complex hierarchies than SQL.
Graph databases are well suited for complex, interconnected data. Neo4j is a graph database that represents data as nodes connected by relationships. It allows for complex queries and traversals of graph structures. Unlike relational databases, graph databases can directly model real world networks and relationships without needing to flatten the data.
Boost Your Neo4j with User-Defined ProceduresNeo4j
Â
The document discusses user-defined procedures and functions in Neo4j. It begins with an example of a simple "Hello World" user-defined function. It describes how procedures and functions can be written in any JVM language, deployed to the database, and accessed via Cypher. It provides examples of real-world uses like optimizing queries for category overlap. It also discusses existing libraries like APOC that provide common graph algorithms and functions. The document provides guidance on developing, testing, and deploying custom procedures and functions.
The document provides an overview and introduction to Neo4j, a graph database. It discusses what graphs and Neo4j are, how to model data in a graph versus SQL, the Cypher query language to interact with Neo4j, and demonstrates Neo4j through the browser. It concludes by suggesting next steps to download Neo4j, choose a driver, join the community, and attend upcoming events.
Max De Marzi gave an introduction to graph databases using Neo4j as an example. He discussed trends in big, connected data and how NoSQL databases like key-value stores, column families, and document databases address these trends. However, graph databases are optimized for interconnected data by modeling it as nodes and relationships. Neo4j is a graph database that uses a property graph data model and allows querying and traversal through its Cypher query language and Gremlin scripting language. It is well-suited for domains involving highly connected data like social networks.
The document discusses how property graph databases like Neo4j can model and query relationship data more effectively than relational or other NoSQL databases. It provides examples of modeling user, movie, and product data as graphs and executing queries in Cypher. It also discusses using the Java Core API and Traversal API to navigate graph data and developing recommendation systems and applications for fraud detection by analyzing patterns in user behaviors and connections.
The document provides an outline for a presentation on graph-based data models. It introduces some key concepts about graphs and how they are used to model real-world interconnected data. It discusses how early adopters of graph technologies grew by focusing on data relationships. The document also covers graph data structures, graph databases, and graph query languages like Cypher and Gremlin.
APOC Pearls - Whirlwind Tour Through the Neo4j APOC Procedures Libraryjexp
Â
APOC has become the de-facto standard utility library for Neo4j. In this talk, I will demonstrate some of the lesser known but very useful components of APOC that will save you a lot of work. You will also learn how to combine individual functions into powerful constructs to achieve impressive feats
This will be a fast-paced demo/live-coding talk.
Video: https://neo4j.com/graphconnect-2018/session/neo4j-utility-library-apoc-pearls
Unicorn images by TeeTurtle.com (Unstable Unicorns is a fun game & cool t-shirts)
A Connections-first Approach to Supply Chain OptimizationNeo4j
Â
Neo4j is a graph database platform for connected data. The document introduces Neo4j and discusses how connected data and relationships between data are increasingly important for business value. It provides examples of how Neo4j is used by organizations for applications like fraud detection, personalization, and network analysis. The document also summarizes Neo4j's capabilities like real-time transaction processing, analytics, and visualization and highlights its native graph architecture and performance advantages over traditional databases. Finally, it briefly describes Neo4j's key architecture components and how it can be used for common data architecture patterns.
Relational databases were conceived to digitize paper forms and automate well-structured business processes, and still have their uses. But RDBMS cannot model or store data and its relationships without complexity, which means performance degrades with the increasing number and levels of data relationships and data size. Additionally, new types of data and data relationships require schema redesign that increases time to market.
A graph database like Neo4j naturally stores, manages, analyzes, and uses data within the context of connections meaning Neo4j provides faster query performance and vastly improved flexibility in handling complex hierarchies than SQL. Join this webinar to learn why companies are shifting away from RDBMS towards graphs to unlock the business value in their data relationships.
Ryan Boyd, Developer Relations at Neo4j
Ryan is a SF-based software engineer focused on helping developers understand the power of graph databases. Previously he was a product manager for architectural software, built applications and web hosting environments for higher education, and worked in developer relations for twenty products during his 8 years at Google. He enjoys cycling, sailing, skydiving, and many other adventures when not in front of his computer.
This document provides an overview agenda for a Neo4j webinar. It introduces the presenters, Riccardo Ciarlo and Ivan Zoratti, and outlines the following topics: an introduction to Neo4j, what a graph database is, key use cases and how Neo4j enables them to be effective and fast, exploring and visualizing graphs, creating queries for the Neo4j database, and a question and discussion period.
How to Manage Scale-Out Environments with MariaDB MaxScaleMariaDB plc
Â
MariaDB MaxScale is a database proxy that provides high availability, scalability, and security for MariaDB and MySQL database infrastructures. It implements read/write splitting to route read queries to slave servers and write queries to the master server. The document provides instructions on installing and configuring MariaDB MaxScale, including creating a service for read/write splitting, defining servers, adding authentication, and testing the split routing functionality.
The document provides an overview of Red Database 2.5, an open source database product developed by Red Soft Corporation. It describes the company and development process, as well as key features of Red Database 2.5 including security features, functional features, integration with OpenLDAP, and use in large government and medical systems. Plans for Red Database 3.0 include merging with Firebird 3.0 and adding load balancing, parallel backup/restore, and migration tools.
This document provides an overview of graph databases and Neo4j. It begins with an introduction to graph databases and their advantages over relational databases for modeling connected data. Examples of real-world use cases that are well-suited for graph databases are given. The document then describes the core components of the graph data model including nodes, relationships, properties, and labels. It provides examples of how to model data as a graph and query graphs using Cypher, the query language for Neo4j. The document concludes by discussing Neo4j as an example of a graph database and its key features and capabilities.
Introduction to Neo4j for the Emirates & BahrainNeo4j
Â
This document provides an agenda and overview of a Neo4j presentation. It discusses Neo4j as the leading native graph database, its graph data science capabilities, and deployment options like Neo4j Aura and Cloud Managed Services. Success stories are highlighted like Minka using Neo4j Aura to power Colombia's new real-time ACH payments system. The presentation aims to demonstrate Neo4j's technology, use cases, and how it can drive business value through connecting data.
Scaling into Billions of Nodes and Relationships with Neo4j Graph Data ScienceNeo4j
Â
The document discusses Neo4j Graph Data Science (GDS) and its ability to scale to billions of nodes and relationships. It outlines a typical GDS workflow involving graph projection, algorithm execution, and data export. It then discusses challenges of scaling GDS, including data size, import/export speeds, and algorithm performance. The document dives into how GDS addresses these challenges through techniques like graph compression, parallel processing, and optimized data structures like "huge collections" to handle large primitive data types in Java.
Presented at JavaOne 2013, Tuesday September 24.
"Data Modeling Patterns" co-created with Ian Robinson.
"Pitfalls and Anti-Patterns" created by Ian Robinson.
Neo4j is a native graph database that allows organizations to leverage connections in data to create value in real-time. Unlike traditional databases, Neo4j connects data as it stores it, enabling lightning-fast retrieval of relationships. With over 200 customers including Walmart, UBS, and adidas, Neo4j is the number one database for connected data by providing a highly scalable and flexible platform to power use cases like recommendations, fraud detection, and supply chain management through relationship queries and analytics.
The document provides an overview of the internal workings of Neo4j. It describes how the graph data is stored on disk as linked lists of fixed size records and how two levels of caching work - a low-level filesystem cache and a high-level object cache that stores node and relationship data in a structure optimized for traversals. It also explains how traversals are implemented using relationship expanders and evaluators to iteratively expand paths through the graph, and how Cypher builds on this but uses graph pattern matching rather than the full traversal system.
Mark and Wes will talk about Cypher optimization techniques based on real queries as well as the theoretical underlying processes. They'll start from the basics of "what not to do", and how to take advantage of indexes, and continue to the subtle ways of ordering MATCH/WHERE/WITH clauses for optimal performance as of the 2.0.0 release.
The document discusses 10 tips and tricks for tuning Cypher queries in Neo4j. It covers using PROFILE to analyze query plans, avoiding unnecessary property reads, elevating properties to labels when possible, effectively using indexes and constraints, handling relationships efficiently, leveraging lists and map projections, implementing pattern comprehensions and subqueries, batching updates, and using user-defined procedures and functions. The final slides provide examples of special slide formatting and include placeholders for images or logos.
This document summarizes a presentation about the graph database Neo4j. The presentation included an agenda that covered graphs and their power, how graphs change data views, and real-time recommendations with graphs. It introduced the presenters and discussed how data relationships unlock value. It described how Neo4j allows modeling data as a graph to unlock this value through relationship-based queries, evolution of applications, and high performance at scale. Examples showed how Neo4j outperforms relational and NoSQL databases when relationships are important. The presentation concluded with examples of how Neo4j customers have benefited.
Relational databases were conceived to digitize paper forms and automate well-structured business processes, and still have their uses. But RDBMS cannot model or store data and its relationships without complexity, which means performance degrades with the increasing number and levels of data relationships and data size. Additionally, new types of data and data relationships require schema redesign that increases time to market.
A native graph database like Neo4j naturally stores, manages, analyzes, and uses data within the context of connections meaning Neo4j provides faster query performance and vastly improved flexibility in handling complex hierarchies than SQL.
Graph databases are well suited for complex, interconnected data. Neo4j is a graph database that represents data as nodes connected by relationships. It allows for complex queries and traversals of graph structures. Unlike relational databases, graph databases can directly model real world networks and relationships without needing to flatten the data.
Boost Your Neo4j with User-Defined ProceduresNeo4j
Â
The document discusses user-defined procedures and functions in Neo4j. It begins with an example of a simple "Hello World" user-defined function. It describes how procedures and functions can be written in any JVM language, deployed to the database, and accessed via Cypher. It provides examples of real-world uses like optimizing queries for category overlap. It also discusses existing libraries like APOC that provide common graph algorithms and functions. The document provides guidance on developing, testing, and deploying custom procedures and functions.
The document provides an overview and introduction to Neo4j, a graph database. It discusses what graphs and Neo4j are, how to model data in a graph versus SQL, the Cypher query language to interact with Neo4j, and demonstrates Neo4j through the browser. It concludes by suggesting next steps to download Neo4j, choose a driver, join the community, and attend upcoming events.
Max De Marzi gave an introduction to graph databases using Neo4j as an example. He discussed trends in big, connected data and how NoSQL databases like key-value stores, column families, and document databases address these trends. However, graph databases are optimized for interconnected data by modeling it as nodes and relationships. Neo4j is a graph database that uses a property graph data model and allows querying and traversal through its Cypher query language and Gremlin scripting language. It is well-suited for domains involving highly connected data like social networks.
The document discusses how property graph databases like Neo4j can model and query relationship data more effectively than relational or other NoSQL databases. It provides examples of modeling user, movie, and product data as graphs and executing queries in Cypher. It also discusses using the Java Core API and Traversal API to navigate graph data and developing recommendation systems and applications for fraud detection by analyzing patterns in user behaviors and connections.
The document provides an outline for a presentation on graph-based data models. It introduces some key concepts about graphs and how they are used to model real-world interconnected data. It discusses how early adopters of graph technologies grew by focusing on data relationships. The document also covers graph data structures, graph databases, and graph query languages like Cypher and Gremlin.
APOC Pearls - Whirlwind Tour Through the Neo4j APOC Procedures Libraryjexp
Â
APOC has become the de-facto standard utility library for Neo4j. In this talk, I will demonstrate some of the lesser known but very useful components of APOC that will save you a lot of work. You will also learn how to combine individual functions into powerful constructs to achieve impressive feats
This will be a fast-paced demo/live-coding talk.
Video: https://neo4j.com/graphconnect-2018/session/neo4j-utility-library-apoc-pearls
Unicorn images by TeeTurtle.com (Unstable Unicorns is a fun game & cool t-shirts)
A Connections-first Approach to Supply Chain OptimizationNeo4j
Â
Neo4j is a graph database platform for connected data. The document introduces Neo4j and discusses how connected data and relationships between data are increasingly important for business value. It provides examples of how Neo4j is used by organizations for applications like fraud detection, personalization, and network analysis. The document also summarizes Neo4j's capabilities like real-time transaction processing, analytics, and visualization and highlights its native graph architecture and performance advantages over traditional databases. Finally, it briefly describes Neo4j's key architecture components and how it can be used for common data architecture patterns.
Relational databases were conceived to digitize paper forms and automate well-structured business processes, and still have their uses. But RDBMS cannot model or store data and its relationships without complexity, which means performance degrades with the increasing number and levels of data relationships and data size. Additionally, new types of data and data relationships require schema redesign that increases time to market.
A graph database like Neo4j naturally stores, manages, analyzes, and uses data within the context of connections meaning Neo4j provides faster query performance and vastly improved flexibility in handling complex hierarchies than SQL. Join this webinar to learn why companies are shifting away from RDBMS towards graphs to unlock the business value in their data relationships.
Ryan Boyd, Developer Relations at Neo4j
Ryan is a SF-based software engineer focused on helping developers understand the power of graph databases. Previously he was a product manager for architectural software, built applications and web hosting environments for higher education, and worked in developer relations for twenty products during his 8 years at Google. He enjoys cycling, sailing, skydiving, and many other adventures when not in front of his computer.
This document provides an overview agenda for a Neo4j webinar. It introduces the presenters, Riccardo Ciarlo and Ivan Zoratti, and outlines the following topics: an introduction to Neo4j, what a graph database is, key use cases and how Neo4j enables them to be effective and fast, exploring and visualizing graphs, creating queries for the Neo4j database, and a question and discussion period.
How to Manage Scale-Out Environments with MariaDB MaxScaleMariaDB plc
Â
MariaDB MaxScale is a database proxy that provides high availability, scalability, and security for MariaDB and MySQL database infrastructures. It implements read/write splitting to route read queries to slave servers and write queries to the master server. The document provides instructions on installing and configuring MariaDB MaxScale, including creating a service for read/write splitting, defining servers, adding authentication, and testing the split routing functionality.
The document provides an overview of Red Database 2.5, an open source database product developed by Red Soft Corporation. It describes the company and development process, as well as key features of Red Database 2.5 including security features, functional features, integration with OpenLDAP, and use in large government and medical systems. Plans for Red Database 3.0 include merging with Firebird 3.0 and adding load balancing, parallel backup/restore, and migration tools.
How to Manage Scale-Out Environments with MariaDB MaxScaleMariaDB plc
Â
MaxScale is a database proxy that provides load balancing, connection pooling, and replication capabilities for MariaDB and MySQL databases. It can be used to scale databases horizontally across multiple servers for increased performance and availability. The document provides an overview of MaxScale concepts and capabilities such as routing, filtering, security features, and how it can be used for operational tasks like query caching, logging, and data streaming. It also includes instructions on setting up MaxScale with a basic example of configuring read/write splitting between a master and slave database servers.
MariaDB MaxScale is a database proxy that provides scalability, high availability, and data streaming capabilities for MariaDB and MySQL databases. It acts as a load balancer and router to distribute queries across database servers. MaxScale supports services like read/write splitting, query caching, and security features like selective data masking. It can monitor replication lag and route queries accordingly. MaxScale uses a plugin architecture and its core remains stateless to provide flexibility and high performance.
C19013010 the tutorial to build shared ai services session 2Bill Liu
Â
This document provides an agenda and overview for a tutorial on building shared AI services. The session will cover AI engineering platforms, data pipelines, traditional AI roles and their challenges, skills required for AI engineers, and benchmarking machine learning and deep learning approaches. It includes a live demo of building an end-to-end AI pipeline with Kafka, NiFi, Spark Streaming and Keras on Spark.
Cask Webinar
Date: 08/10/2016
Link to video recording: https://www.youtube.com/watch?v=XUkANr9iag0
In this webinar, Nitin Motgi, CTO of Cask, walks through the new capabilities of CDAP 3.5 and explains how your organization can benefit.
Some of the highlights include:
- Enterprise-grade security - Authentication, authorization, secure keystore for storing configurations. Plus integration with Apache Sentry and Apache Ranger.
- Preview mode - Ability to preview and debug data pipelines before deploying them.
- Joins in Cask Hydrator - Capabilities to join multiple data sources in data pipelines
- Real-time pipelines with Spark Streaming - Drag & drop real-time pipelines using Spark Streaming.
- Data usage analytics - Ability to report application usage of data sets.
- And much more!
This document provides an overview of Postgresql, including its history, capabilities, advantages over other databases, best practices, and references for further learning. Postgresql is an open source relational database management system that has been in development for over 30 years. It offers rich SQL support, high performance, ACID transactions, and extensive extensibility through features like JSON, XML, and programming languages.
This document provides an overview of Neo4j's vision and roadmap. It discusses Neo4j's goal of being a modern, enterprise data platform that can power both operational and analytical workloads. Key aspects of Neo4j's strategy include building a fully cloud-native database designed for operational and analytical graph workloads, with autonomous clustering to provide unlimited horizontal scalability. The document also briefly reviews recent Neo4j releases and highlights some new features like graph pattern matching and change data capture.
Simplifying Hadoop with RecordService, A Secure and Unified Data Access Path ...Cloudera, Inc.
Â
SFHUG presentation from February 2, 2016. One of the key values of the Hadoop ecosystem is its flexibility. There is a myriad of components that make up this ecosystem, allowing Hadoop to tackle otherwise intractable problems. However, having so many components provides a significant integration, implementation, and usability burden. Features that ought to work in all the components often require sizable per-component effort to ensure correctness across the stack.
Lenni Kuff explores RecordService, a new solution to this problem that provides an API to read data from Hadoop storage managers and return them as canonical records. This eliminates the need for components to support individual file formats, handle security, perform auditing, and implement sophisticated IO scheduling and other common processing that is at the bottom of any computation.
Lenni discusses the architecture of the service and the integration work done for MapReduce and Spark. Many existing applications on those frameworks can take advantage of the service with little to no modification. Lenni demonstrates how this provides fine grain (column level and row level) security, through Sentry integration, and improves performance for existing MapReduce and Spark applications by up to 5Ă. Lenni concludes by discussing how this architecture can enable significant future improvements to the Hadoop ecosystem.
About the speaker: Lenni Kuff is an engineering manager at Cloudera. Before joining Cloudera, he worked at Microsoft on a number of projects including SQL Server storage engine, SQL Azure, and Hadoop on Azure. Lenni graduated from the University of Wisconsin-Madison with degrees in computer science and computer engineering.
Firebird 3.x introduces several new features and changes from previous versions, including true SMP support, improved APIs, per-database configuration, increased limits, multiple security databases, and new SQL commands. The Firebird executable is now unified, and the cache, lock, and connection behaviors are determined by new configuration parameters. Additional changes include support for new data types, functions, triggers, international characters, and IPv6. The database engine and plug-in architecture were also updated.
The Power of Relationships in Your Big DataPaulo Fagundes
Â
The document provides an overview of Oracle NoSQL Database Release 3.0, including new features such as table data modeling, secondary indexing, data centers for disaster recovery, and security enhancements. Best practices are discussed for choosing a data model, using indexes, and configuring data centers and zones.
PASS Summit - SQL Server 2017 Deep DiveTravis Wright
Â
Deep dive into SQL Server 2017 covering SQL Server on Linux, containers, HA improvements, SQL graph, machine learning, python, adaptive query processing, and much much more.
The document provides a roadmap for Oracle Coherence, including upcoming versions, new capabilities, and use cases. Key points include:
- Coherence 19 will support JDK 8 and 11 and include new development, runtime, and cloud capabilities.
- Common use cases for Coherence include as a web application platform, fast data platform, and for offloading backend/legacy systems.
- New features in recent/upcoming versions include persistence, federated caching, security improvements, and leveraging Java 8 features like lambdas and streams.
Demystifying postgres logical replication percona live scEmanuel Calvo
Â
This document provides an overview of logical replication in PostgreSQL, including:
- The different types of replication in PostgreSQL and how logical replication works
- How logical replication compares to MySQL replication and the elements involved
- What logical replication can be used for and some limitations
- Key concepts like publications, subscriptions, replication slots, and conflict handling
- Monitoring and configuration options for logical replication
This document provides an overview of the MySQL sys schema. It discusses how sys schema provides views and functions on top of the Performance Schema to implement common DBA and developer use cases. It covers installing sys schema, the various formatting and helper functions it includes, and the summary views it provides for analyzing user activity, I/O, schema objects and more.
Apache Hive is a rapidly evolving project which continues to enjoy great adoption in the big data ecosystem. As Hive continues to grow its support for analytics, reporting, and interactive query, the community is hard at work in improving it along with many different dimensions and use cases. This talk will provide an overview of the latest and greatest features and optimizations which have landed in the project over the last year. Materialized views, the extension of ACID semantics to non-ORC data, and workload management are some noteworthy new features.
We will discuss optimizations which provide major performance gains as well as integration with other big data technologies such as Apache Spark, Druid, and Kafka. The talk will also provide a glimpse of what is expected to come in the near future.
PostgreSQL is a powerful, enterprise class open source object-relational database system with an emphasis on extensibility and standards-compliance. PostgreSQL boasts many sophisticated features and runs stored procedures in more than a dozen programming languages. Weâll explore the advantages and limitations of PostgreSQL, examples of where it is best suited for use, and examples of who is using PostgreSQL to power their applications.
Atelier - Architecture dâapplications de Graphes - GraphSummit ParisNeo4j
Â
Atelier - Architecture dâapplications de Graphes
Participez Ă cet atelier pratique animĂŠ par des experts de Neo4j qui vous guideront pour dĂŠcouvrir lâintelligence contextuelle. En utilisant un jeu de donnĂŠes rĂŠel, nous construirons ĂŠtape par ĂŠtape une solution de graphes ; de la construction du modèle de donnĂŠes de graphes Ă lâexĂŠcution de requĂŞtes et Ă la visualisation des donnĂŠes. Lâapproche sera applicable Ă de multiples cas dâusages et industries.
Atelier - Innover avec lâIA GĂŠnĂŠrative et les graphes de connaissancesNeo4j
Â
Atelier - Innover avec lâIA GĂŠnĂŠrative et les graphes de connaissances
Allez au-delĂ du battage mĂŠdiatique autour de lâIA et dĂŠcouvrez des techniques pratiques pour utiliser lâIA de manière responsable Ă travers les donnĂŠes de votre organisation. Explorez comment utiliser les graphes de connaissances pour augmenter la prĂŠcision, la transparence et la capacitĂŠ dâexplication dans les systèmes dâIA gĂŠnĂŠrative. Vous partirez avec une expĂŠrience pratique combinant les relations entre les donnĂŠes et les LLM pour apporter du contexte spĂŠcifique Ă votre domaine et amĂŠliorer votre raisonnement.
Amenez votre ordinateur portable et nous vous guiderons sur la mise en place de votre propre pile dâIA gĂŠnĂŠrative, en vous fournissant des exemples pratiques et codĂŠs pour dĂŠmarrer en quelques minutes.
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j
Â
Dr. JesĂşs Barrasa, Head of Solutions Architecture for EMEA, Neo4j
DĂŠcouvrez les dernières innovations de Neo4j, et notamment les dernières intĂŠgrations cloud et les amĂŠliorations produits qui font de Neo4j un choix essentiel pour les dĂŠveloppeurs qui crĂŠent des applications avec des donnĂŠes interconnectĂŠes et de lâIA gĂŠnĂŠrative.
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j
Â
Dr. JesĂşs Barrasa, Head of Solutions Architecture for EMEA, Neo4j
DĂŠcouvrez les dernières innovations de Neo4j, et notamment les dernières intĂŠgrations cloud et les amĂŠliorations produits qui font de Neo4j un choix essentiel pour les dĂŠveloppeurs qui crĂŠent des applications avec des donnĂŠes interconnectĂŠes et de lâIA gĂŠnĂŠrative.
SOPRA STERIA - GraphRAG : repousser les limitations du RAG via lâutilisation ...Neo4j
Â
Romain CAMPOURCY â Architecte Solution, Sopra Steria
Patrick MEYER â Architecte IA Groupe, Sopra Steria
La GĂŠnĂŠration de RĂŠcupĂŠration AugmentĂŠe (RAG) permet la rĂŠponse Ă des questions dâutilisateur sur un domaine mĂŠtier Ă lâaide de grands modèles de langage. Cette technique fonctionne correctement lorsque la documentation est simple mais trouve des limitations dès que les sources sont complexes. Au travers dâun projet que nous avons rĂŠalisĂŠ, nous vous prĂŠsenterons lâapproche GraphRAG, une nouvelle approche qui utilise une base Neo4j gĂŠnĂŠrĂŠe pour amĂŠliorer la comprĂŠhension des documents et la synthèse dâinformations. Cette mĂŠthode surpasse lâapproche RAG en fournissant des rĂŠponses plus holistiques et prĂŠcises.
ADEO - Knowledge Graph pour le e-commerce, entre challenges et opportunitĂŠs ...Neo4j
Â
Charles Gouwy, Business Product Leader, Adeo Services (Groupe Leroy Merlin)
Alors que leur Knowledge Graph est dĂŠjĂ intĂŠgrĂŠ sur lâensemble des expĂŠriences dâachat de leur plateforme e-commerce depuis plus de 3 ans, nous verrons quelles sont les nouvelles opportunitĂŠs et challenges qui sâouvrent encore Ă eux grâce Ă leur utilisation dâune base de donnĂŠe de graphes et lâĂŠmergence de lâIA.
GraphSummit Paris - The art of the possible with Graph TechnologyNeo4j
Â
Sudhir Hasbe, Chief Product Officer, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges â from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
Dr. Sean Tan, Head of Data Science, Changi Airport Group
Discover how Changi Airport Group (CAG) leverages graph technologies and generative AI to revolutionize their search capabilities. This session delves into the unique search needs of CAGâs diverse passengers and customers, showcasing how graph data structures enhance the accuracy and relevance of AI-generated search results, mitigating the risk of âhallucinationsâ and improving the overall customer journey.
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...Neo4j
Â
Leonard Jayamohan, Partner & Generative AI Lead, Deloitte
This keynote will reveal how Deloitte leverages Neo4jâs graph power for groundbreaking digital twin solutions, achieving a staggering 100x performance boost. Discover the essential role knowledge graphs play in successful generative AI implementations. Plus, get an exclusive look at an innovative Neo4j + Generative AI solution Deloitte is developing in-house.
Maruthi Prithivirajan, Head of ASEAN & IN Solution Architecture, Neo4j
Get an inside look at the latest Neo4j innovations that enable relationship-driven intelligence at scale. Learn more about the newest cloud integrations and product enhancements that make Neo4j an essential choice for developers building apps with interconnected data and generative AI.
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024Neo4j
Â
Neha Bajwa, Vice President of Product Marketing, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges â from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
Sudheer Mechineni, Head of Application Frameworks, Standard Chartered Bank
Discover how Standard Chartered Bank harnessed the power of Neo4j to transform complex data access challenges into a dynamic, scalable graph database solution. This keynote will cover their journey from initial adoption to deploying a fully automated, enterprise-grade causal cluster, highlighting key strategies for modelling organisational changes and ensuring robust disaster recovery. Learn how these innovations have not only enhanced Standard Chartered Bankâs data infrastructure but also positioned them as pioneers in the banking sectorâs adoption of graph technology.
GraphAware - Transforming policing with graph-based intelligence analysisNeo4j
Â
Petr Matuska, Sales & Sales Engineering Lead, GraphAware
Western Australia Police Forceâs adoption of Neo4j and the GraphAware Hume graph analytics platform marks a significant advancement in data-driven policing. Facing the challenges of growing volumes of valuable data scattered in disconnected silos, the organisation successfully implemented Neo4j database and Hume, consolidating data from various sources into a dynamic knowledge graph. The result was a connected view of intelligence, making it easier for analysts to solve crime faster. The partnership between Neo4j and GraphAware in this project demonstrates the transformative impact of graph technology on law enforcementâs ability to leverage growing volumes of valuable data to prevent crime and protect communities.
GraphSummit Stockholm - Neo4j - Knowledge Graphs and Product UpdatesNeo4j
Â
David Pond, Lead Product Manager, Neo4j
Get an inside look at the latest Neo4j innovations that enable relationship-driven intelligence at scale. Learn more about the newest cloud integrations and product enhancements that make Neo4j an essential choice for developers building apps with interconnected data and generative AI.
Shirley Bacso, Data Architect, Ingka Digital
âLinked Metadata by Designâ represents the integration of the outcomes from human collaboration, starting from the design phase of data product development. This knowledge is captured in the Data Knowledge Graph. It not only enables data products to be robust and compliant but also well-understood and effectively utilized.
Your enemies use GenAI too - staying ahead of fraud with Neo4jNeo4j
Â
Delivered by Michael Down at Gartner Data & Analytics Summit London 2024 - Your enemies use GenAI too: Staying ahead of fraud with Neo4j.
Fraudsters exploit the latest technologies like generative AI to stay undetected. Static applications canât adapt quickly enough. Learn why you should build flexible fraud detection apps on Neo4jâs native graph database combined with advanced data science algorithms. Uncover complex fraud patterns in real-time and shut down schemes before they cause damage.
BT & Neo4j _ How Knowledge Graphs help BT deliver Digital Transformation.pptxNeo4j
Â
Delivered by Sreenath Gopalakrishna, Director of Software Engineering at BT, and Dr Jim Webber, Chief Scientist at Neo4j, at Gartner Data & Analytics Summit London 2024 this presentation examines how knowledge graphs and GenAI combine in real-world solutions.
BT Group has used the Neo4j Graph Database to enable impressive digital transformation programs over the last 6 years. By re-imagining their operational support systems to adopt self-serve and data lead principles they have substantially reduced the number of applications and complexity of their operations. The result has been a substantial reduction in risk and costs while improving time to value, innovation, and process automation. Future innovation plans include the exploration of uses of EKG + Generative AI.
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit MilanNeo4j
Â
Look beyond the hype and unlock practical techniques to responsibly activate intelligence across your organizationâs data with GenAI. Explore how to use knowledge graphs to increase accuracy, transparency, and explainability within generative AI systems. Youâll depart with hands-on experience combining relationships and LLMs for increased domain-specific context and enhanced reasoning.
UiPath Test Automation using UiPath Test Suite series, part 6DianaGray10
Â
Welcome to UiPath Test Automation using UiPath Test Suite series part 6. In this session, we will cover Test Automation with generative AI and Open AI.
UiPath Test Automation with generative AI and Open AI webinar offers an in-depth exploration of leveraging cutting-edge technologies for test automation within the UiPath platform. Attendees will delve into the integration of generative AI, a test automation solution, with Open AI advanced natural language processing capabilities.
Throughout the session, participants will discover how this synergy empowers testers to automate repetitive tasks, enhance testing accuracy, and expedite the software testing life cycle. Topics covered include the seamless integration process, practical use cases, and the benefits of harnessing AI-driven automation for UiPath testing initiatives. By attending this webinar, testers, and automation professionals can gain valuable insights into harnessing the power of AI to optimize their test automation workflows within the UiPath ecosystem, ultimately driving efficiency and quality in software development processes.
What will you get from this session?
1. Insights into integrating generative AI.
2. Understanding how this integration enhances test automation within the UiPath platform
3. Practical demonstrations
4. Exploration of real-world use cases illustrating the benefits of AI-driven test automation for UiPath
Topics covered:
What is generative AI
Test Automation with generative AI and Open AI.
UiPath integration with generative AI
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Programming Foundation Models with DSPy - Meetup SlidesZilliz
Â
Prompting language models is hard, while programming language models is easy. In this talk, I will discuss the state-of-the-art framework DSPy for programming foundation models with its powerful optimizers and runtime constraint system.
Digital Marketing Trends in 2024 | Guide for Staying AheadWask
Â
https://www.wask.co/ebooks/digital-marketing-trends-in-2024
Feeling lost in the digital marketing whirlwind of 2024? Technology is changing, consumer habits are evolving, and staying ahead of the curve feels like a never-ending pursuit. This e-book is your compass. Dive into actionable insights to handle the complexities of modern marketing. From hyper-personalization to the power of user-generated content, learn how to build long-term relationships with your audience and unlock the secrets to success in the ever-shifting digital landscape.
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfChart Kalyan
Â
A Mix Chart displays historical data of numbers in a graphical or tabular form. The Kalyan Rajdhani Mix Chart specifically shows the results of a sequence of numbers over different periods.
Main news related to the CCS TSI 2023 (2023/1695)Jakub Marek
Â
An English đŹđ§ translation of a presentation to the speech I gave about the main changes brought by CCS TSI 2023 at the biggest Czech conference on Communications and signalling systems on Railways, which was held in Clarion Hotel Olomouc from 7th to 9th November 2023 (konferenceszt.cz). Attended by around 500 participants and 200 on-line followers.
The original Czech đ¨đż version of the presentation can be found here: https://www.slideshare.net/slideshow/hlavni-novinky-souvisejici-s-ccs-tsi-2023-2023-1695/269688092 .
The videorecording (in Czech) from the presentation is available here: https://youtu.be/WzjJWm4IyPk?si=SImb06tuXGb30BEH .
Generating privacy-protected synthetic data using Secludy and MilvusZilliz
Â
During this demo, the founders of Secludy will demonstrate how their system utilizes Milvus to store and manipulate embeddings for generating privacy-protected synthetic data. Their approach not only maintains the confidentiality of the original data but also enhances the utility and scalability of LLMs under privacy constraints. Attendees, including machine learning engineers, data scientists, and data managers, will witness first-hand how Secludy's integration with Milvus empowers organizations to harness the power of LLMs securely and efficiently.
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUpanagenda
Â
Webinar Recording: https://www.panagenda.com/webinars/hcl-notes-und-domino-lizenzkostenreduzierung-in-der-welt-von-dlau/
DLAU und die Lizenzen nach dem CCB- und CCX-Modell sind fĂźr viele in der HCL-Community seit letztem Jahr ein heiĂes Thema. Als Notes- oder Domino-Kunde haben Sie vielleicht mit unerwartet hohen Benutzerzahlen und LizenzgebĂźhren zu kämpfen. Sie fragen sich vielleicht, wie diese neue Art der Lizenzierung funktioniert und welchen Nutzen sie Ihnen bringt. Vor allem wollen Sie sicherlich Ihr Budget einhalten und Kosten sparen, wo immer mĂśglich. Das verstehen wir und wir mĂśchten Ihnen dabei helfen!
Wir erklären Ihnen, wie Sie häufige Konfigurationsprobleme lÜsen kÜnnen, die dazu fßhren kÜnnen, dass mehr Benutzer gezählt werden als nÜtig, und wie Sie ßberflßssige oder ungenutzte Konten identifizieren und entfernen kÜnnen, um Geld zu sparen. Es gibt auch einige Ansätze, die zu unnÜtigen Ausgaben fßhren kÜnnen, z. B. wenn ein Personendokument anstelle eines Mail-Ins fßr geteilte Mailboxen verwendet wird. Wir zeigen Ihnen solche Fälle und deren LÜsungen. Und natßrlich erklären wir Ihnen das neue Lizenzmodell.
Nehmen Sie an diesem Webinar teil, bei dem HCL-Ambassador Marc Thomas und Gastredner Franz Walder Ihnen diese neue Welt näherbringen. Es vermittelt Ihnen die Tools und das Know-how, um den Ăberblick zu bewahren. Sie werden in der Lage sein, Ihre Kosten durch eine optimierte Domino-Konfiguration zu reduzieren und auch in Zukunft gering zu halten.
Diese Themen werden behandelt
- Reduzierung der Lizenzkosten durch Auffinden und Beheben von Fehlkonfigurationen und ĂźberflĂźssigen Konten
- Wie funktionieren CCB- und CCX-Lizenzen wirklich?
- Verstehen des DLAU-Tools und wie man es am besten nutzt
- Tipps fßr häufige Problembereiche, wie z. B. Team-Postfächer, Funktions-/Testbenutzer usw.
- Praxisbeispiele und Best Practices zum sofortigen Umsetzen
In the rapidly evolving landscape of technologies, XML continues to play a vital role in structuring, storing, and transporting data across diverse systems. The recent advancements in artificial intelligence (AI) present new methodologies for enhancing XML development workflows, introducing efficiency, automation, and intelligent capabilities. This presentation will outline the scope and perspective of utilizing AI in XML development. The potential benefits and the possible pitfalls will be highlighted, providing a balanced view of the subject.
We will explore the capabilities of AI in understanding XML markup languages and autonomously creating structured XML content. Additionally, we will examine the capacity of AI to enrich plain text with appropriate XML markup. Practical examples and methodological guidelines will be provided to elucidate how AI can be effectively prompted to interpret and generate accurate XML markup.
Further emphasis will be placed on the role of AI in developing XSLT, or schemas such as XSD and Schematron. We will address the techniques and strategies adopted to create prompts for generating code, explaining code, or refactoring the code, and the results achieved.
The discussion will extend to how AI can be used to transform XML content. In particular, the focus will be on the use of AI XPath extension functions in XSLT, Schematron, Schematron Quick Fixes, or for XML content refactoring.
The presentation aims to deliver a comprehensive overview of AI usage in XML development, providing attendees with the necessary knowledge to make informed decisions. Whether youâre at the early stages of adopting AI or considering integrating it in advanced XML development, this presentation will cover all levels of expertise.
By highlighting the potential advantages and challenges of integrating AI with XML development tools and languages, the presentation seeks to inspire thoughtful conversation around the future of XML development. Weâll not only delve into the technical aspects of AI-powered XML development but also discuss practical implications and possible future directions.
OpenID AuthZEN Interop Read Out - AuthorizationDavid Brossard
Â
During Identiverse 2024 and EIC 2024, members of the OpenID AuthZEN WG got together and demoed their authorization endpoints conforming to the AuthZEN API
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc
Â
How does your privacy program stack up against your peers? What challenges are privacy teams tackling and prioritizing in 2024?
In the fifth annual Global Privacy Benchmarks Survey, we asked over 1,800 global privacy professionals and business executives to share their perspectives on the current state of privacy inside and outside of their organizations. This yearâs report focused on emerging areas of importance for privacy and compliance professionals, including considerations and implications of Artificial Intelligence (AI) technologies, building brand trust, and different approaches for achieving higher privacy competence scores.
See how organizational priorities and strategic approaches to data security and privacy are evolving around the globe.
This webinar will review:
- The top 10 privacy insights from the fifth annual Global Privacy Benchmarks Survey
- The top challenges for privacy leaders, practitioners, and organizations in 2024
- Key themes to consider in developing and maintaining your privacy program
Introduction of Cybersecurity with OSS at Code Europe 2024Hiroshi SHIBATA
Â
I develop the Ruby programming language, RubyGems, and Bundler, which are package managers for Ruby. Today, I will introduce how to enhance the security of your application using open-source software (OSS) examples from Ruby and RubyGems.
The first topic is CVE (Common Vulnerabilities and Exposures). I have published CVEs many times. But what exactly is a CVE? I'll provide a basic understanding of CVEs and explain how to detect and handle vulnerabilities in OSS.
Next, let's discuss package managers. Package managers play a critical role in the OSS ecosystem. I'll explain how to manage library dependencies in your application.
I'll share insights into how the Ruby and RubyGems core team works to keep our ecosystem safe. By the end of this talk, you'll have a better understanding of how to safeguard your code.
Webinar: Designing a schema for a Data WarehouseFederico Razzoli
Â
Are you new to data warehouses (DWH)? Do you need to check whether your data warehouse follows the best practices for a good design? In both cases, this webinar is for you.
A data warehouse is a central relational database that contains all measurements about a business or an organisation. This data comes from a variety of heterogeneous data sources, which includes databases of any type that back the applications used by the company, data files exported by some applications, or APIs provided by internal or external services.
But designing a data warehouse correctly is a hard task, which requires gathering information about the business processes that need to be analysed in the first place. These processes must be translated into so-called star schemas, which means, denormalised databases where each table represents a dimension or facts.
We will discuss these topics:
- How to gather information about a business;
- Understanding dictionaries and how to identify business entities;
- Dimensions and facts;
- Setting a table granularity;
- Types of facts;
- Types of dimensions;
- Snowflakes and how to avoid them;
- Expanding existing dimensions and facts.
Have you ever been confused by the myriad of choices offered by AWS for hosting a website or an API?
Lambda, Elastic Beanstalk, Lightsail, Amplify, S3 (and more!) can each host websites + APIs. But which one should we choose?
Which one is cheapest? Which one is fastest? Which one will scale to meet our needs?
Join me in this session as we dive into each AWS hosting service to determine which one is best for your scenario and explain why!
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceIndexBug
Â
Imagine a world where machines not only perform tasks but also learn, adapt, and make decisions. This is the promise of Artificial Intelligence (AI), a technology that's not just enhancing our lives but revolutionizing entire industries.
Project Management Semester Long Project - Acuityjpupo2018
Â
Acuity is an innovative learning app designed to transform the way you engage with knowledge. Powered by AI technology, Acuity takes complex topics and distills them into concise, interactive summaries that are easy to read & understand. Whether you're exploring the depths of quantum mechanics or seeking insight into historical events, Acuity provides the key information you need without the burden of lengthy texts.
3. A Journey through Neo4j 3.X
3
3.0 3.1 3.2 3.3 3.4 3.5
Causal
Clustering
N/A - Causal Clustering
released
- Multi-datacenter support
- Tiered replicas
- Least-connected load balancing
- ID re-use
- Multi-clustering - Improved large Txn
handling
Cypher &
Performance
- User-Defined
Procedures
- Increased
relationship type
limits
- Native Label index
- Node Keys
- Composite Indexes
- Depth query in
DISTINCT function
- Compiled runtime
- Faster and less memory
intensive runtime
- Native Numeric schema
indexes
- Local locks for schema
changes
- Datetime data types
- Spatial data types
- 70% faster Cypher
reads (average)
- Native String schema
index
- Full-text search
- Index-based ORDER BY
- Native index for all data types
- Improved large Txn handling
Security
- Native users and
roles
- LDAP integration
- Kerberos
authentication plugin
- Intra-cluster encryption - Property blacklisting - SNI / Hostname verification
- Cluster discovery service
encryption
Developer
- Bolt (binary)
Protocol
w/ Java, JS,
.NET, Python
- APOC v.1
- Bolt+routing
- Schema viewer
within Browser
- Faster Neo4j Browser UI - Offline bulk import
performance improvements
- Neo4j Desktop
- Graph Algorithms v.1
- Go Driver
- New Graph Algorithms
Operations
- Official
Debian
packages
- View and manage
running queries
- Execution guard for
long running queries
- Detailed query metrics
- Official RPM packages
- IPv6 Support
- Dynamic config settings
- Off-heap page cache metadata
- Rolling Upgrades - Improved online backup
performance (in CC)
Deprecations
- HA
- HTTP endpoints
- File based authentication and
authorization
Apr 2016 Dec 2016 May 2017 Oct 2017 May 2018 Nov 2018
4. A new Journey has just started: Neo4j 4.X
4
4.0 4.1
Causal
Clustering
- Improved Cluster performance
- Support for multi-database in clusters
- Embedded Causal Cluster
- Cluster leadership control and balancing
Cypher &
Performance
- System Database and administration commands
- Sharding & Federation
- New index population algorithm
- Subquery improvements
- Query replanning options
- New Cypher runtime
Security
- Role-Based Access control and user management
- Schema-based security
- Granular security for Read operations
- Granular security for Write operations
- Role-Based Access Control for Database, User and
Privilege Management
- PUBLIC role
Developer
- Reactive architecture with back-pressure and flow
control
for Java, JavaScript and .NET drivers
- New Spring Boot Starter
- SDN/RX
- New Python driver
- SDN/RX GA release
Operations
- Multi-tenancy through multi-database
- Clusterwide metadata repository
(âsystem Databaseâ)
- Cypher administration commands
- neo4j:// scheme
- Transaction log folders
- New memory management tooling
- Improved administration commands
Deprecations
- REST API
- Security procedures
Jan 2020 Jun 2020
5. ⢠Starting with Neo4j 3.5, we introduced a multi-tier term support structure:
⢠STS - Short Term Support: All versions of Neo4j have a minimum support of 18 months
⢠For every version Neo4j provides regular patches and fix issues
⢠LTS - Long Term Support: The last minor release of a major release has a minimum support
of 36 months
⢠For this version Neo4j provides regular patches and fix issues for a longer period
⢠ETS - Extended Term Support: Customers with Platinum Support agreement may submit
issues and request patches for 36 instead of 18 months
⢠Neo4j provides patches on demand
Long Term, Short Term and Extended Support
5
Release numbers
and dates are only
examples
6. Cluster
⢠Embedded Causal Cluster
⢠Cluster leadership control and balancing
⢠Rolling Upgrades
4.1 Main Features
Kernel & Generic
⢠New memory management tooling
⢠Database router
6
Enterprise-only in Green
Security
⢠Granular security for Write operations
⢠Role-Based Access Control for Database, User and
Privilege Management
⢠PUBLIC roleOther
⢠4.1 drivers: Java, .NET, JS
⢠Python 4.X driver / GO 1.8 driver
⢠SDN-RX GA
⢠APOC in db package
Cypher
⢠Query replanning options
⢠Pipelined runtime for READ operators
⢠Improved SHOW commands
7. 7
Role-Based Access Control and
Schema-Based Security
Role-Based Access Control for Neo4j 4.X (i.e. not only 4.0 & 4.1):
⢠Security applied to cluster, server and graph components:
⢠Configuration, Users, Databases, Libraries, Procedures
⢠Graphs, Nodes, Relationships, Properties
⢠Property Name/Value pairs
⢠Grant/Deny access to graph component(s) with property with value X
⢠Role-Based Access Control (RBAC) approach:
combination of Permission - Entity - User
⢠Use of GRANT/DENY and REVOKE commands
⢠Privileges are associated to roles, roles are associated to users
⢠Rules cascade:
⢠Server/Cluster > Database > Graph > Node > Property
⢠Server/Cluster > Database > Graph > Relationship > Property
⢠Library > Procedure
⢠Security rules are causally consistent
8. 8
Schema-Based Security
GRANT
ROLE name[,...]
TO grantee
dbms-privilege
database-privilege
graph-privilege
ON DBMS
ON DATABASE[S] *|name
ELEMENT[S]
NODES[S]
RELATIONSHIP[S]
*|name[,...]ON GRAPH[S] *|name
9. Granular Security for Write Operations
What is it
In 4.0, roles/users could only be granted an
all-write privilege for a graph.
In 4.1, write operations can be identified by
type and granted for graphs and graph
elements.
9
Enterprise Edition only
What is it for
Graphs accessed by multiple users and
applications, requiring more granular control
over the operations they are allowed to
execute.
12. Graph Privileges
TRAVERSE
TO grantee
ELEMENT[S]
NODES[S]
RELATIONSHIP[S}
*|name[,...]ON GRAPH[S] *|name[,...]
READ
MATCH
{*|property-name[,...]}
CREATE
DELETE
MERGE
SET PROPERTY
ALL [[GRAPH] PRIVILEGES]
WRITE
SET LABEL
REMOVE LABEL
ON GRAPH[S] *|name[,...]*|label-name[,...]
GRANT MATCH {*} ON GRAPH gr1 TO role1
GRANT SET PROPERTY {*} ON GRAPH gr1 NODE * TO role1
13. Graph Privileges
TRAVERSE
TO grantee
ELEMENT[S]
NODES[S]
RELATIONSHIP[S}
*|name[,...]ON GRAPH[S] *|name[,...]
READ
MATCH
{*|property-name[,...]}
CREATE
DELETE
MERGE
SET PROPERTY
ALL [[GRAPH] PRIVILEGES]
WRITE
SET LABEL
REMOVE LABEL
ON GRAPH[S] *|name[,...]*|label-name[,...]
GRANT MATCH {*} ON GRAPH gr1 TO role1
GRANT SET PROPERTY {*} ON GRAPH gr1 NODE * TO role1
DENY SET PROPERTY {p1} ON GRAPH gr1 NODES n3,n4 TO role1
14. Graph Privileges
TRAVERSE
TO grantee
ELEMENT[S]
NODES[S]
RELATIONSHIP[S}
*|name[,...]ON GRAPH[S] *|name[,...]
READ
MATCH
{*|property-name[,...]}
CREATE
DELETE
MERGE
SET PROPERTY
ALL [[GRAPH] PRIVILEGES]
WRITE
SET LABEL
REMOVE LABEL
ON GRAPH[S] *|name[,...]*|label-name[,...]
GRANT MATCH {*} ON GRAPH gr1 TO role1
GRANT SET PROPERTY {*} ON GRAPH gr1 NODE * TO role1
DENY SET PROPERTY {p1} ON GRAPH gr1 NODES n3,n4 TO role1
DENY SET PROPERTY {ssn} ON GRAPH gr1 NODES * TO role1
DENY READ {ssn} ON GRAPH gr1 NODES * TO role1
15. Role-Based Access Control for Databases
What is it
Granular security to assign privileges to
administrators and operators at database level.
Valid for:
⢠Database access/start/stop
⢠CREATE/DROP indexes and constraints
⢠CREATE labels, types and property keys
⢠Transactions management
15
Enterprise Edition only
What is it for
⢠For operators with limited power
compared to full power administrators.
⢠For SaaS and multi-tenant environments,
operators may have administrative
privileges on their own databases
without the option to access usersâ data.
16. Database Privileges
ALL [[DATABASE] PRIVILEGES]
START
STOP
TO grantee
DEFAULT DATABASE
DATABASE[S] (*|name[,...])
CREATE INDEX[ES]
DROP INDEX[ES]
INDEX[ES] [MANAGEMENT]
CREATE CONSTRAINT[S]
DROP CONSTRAINT[S]
CONSTRAINT[S] [MANAGEMENT]
CREATE NEW [NODE] LABEL[S]
CREATE NEW [RELATIONSHIP] TYPE[S]
CREATE NEW [PROPERTY] NAME[S]
NAME [MANAGEMENT]
ON
SHOW TRANSACTION[S]
TERMINATE TRANSACTION[S]
TRANSACTION [MANAGEMENT]
(*|user[,...])
ACCESS
17. valerio@neo4j> SHOW USER PRIVILEGES;
neo4j@neo4j> CALL apoc.util.sleep(1000000);
valerio@neo4j> CALL dbms.listQueries() YIELD queryId, username, elapsedTimeMillis, status;
neo4j@neo4j> GRANT SHOW TRANSACTION ON DATABASE neo4j TO role1;
valerio@neo4j> CALL dbms.listQueries() YIELD queryId, username, elapsedTimeMillis, status;
Database Privileges
User valerio has role1
User valerio can see own
query, not query run by user
neo4j
role1 granted TRANSACTION
MANAGEMENT privilege
User valerio can see query run
by user neo4j
18. More DBMS Privileges
What is it
Granular security for privileges assigned to
operators for administration commands.
⢠User management: set password, user
status
⢠Privilege management: assign, remove,
show privileges
⢠Database management: CREATE and
DROP databases
What is it for
⢠For operators with limited power compared
to full power administrators.
⢠For SaaS and multi-tenant environments,
operators may have administrative
privileges on their own databases without
the option to access usersâ data.
18
Enterprise Edition only
19. DBMS Privileges
TO granteeON DBMS
CREATE
DROP
DATABASE
DATABASE MANAGEMENT
CREATE
ALTER
DROP
SHOW
USER
SET PASSWORD[S]
SET USER STATUS
USER MANAGEMENT
CREATE
DROP
SHOW
ASSIGN
REMOVE
ROLE
ROLE MANAGEMENT
ASSIGN
REMOVE
SHOW
PRIVILEGE
PRIVILEGE MANAGEMENT
ALL [DBMS] PRIVILEGES
20. DBMS Privileges
TO granteeON DBMS
CREATE
DROP
DATABASE
DATABASE MANAGEMENT
CREATE
ALTER
DROP
SHOW
USER
SET PASSWORD[S]
SET USER STATUS
USER MANAGEMENT
CREATE
DROP
SHOW
ASSIGN
REMOVE
ROLE
ROLE MANAGEMENT
ASSIGN
REMOVE
SHOW
PRIVILEGE
PRIVILEGE MANAGEMENT
ALL [DBMS] PRIVILEGES
valerio@neo4j> SHOW USER PRIVILEGES;
valerio@neo4j> DROP ROLE role1;
Permission denied.
neo4j@neo4j> GRANT DROP ROLE ON DBMS TO role1;
valerio@neo4j> DROP ROLE role1;
0 rows available after 3 ms, consumed after another 0 ms
21. DBMS Privileges
TO granteeON DBMS
CREATE
DROP
DATABASE
DATABASE MANAGEMENT
CREATE
ALTER
DROP
SHOW
USER
SET PASSWORD[S]
SET USER STATUS
USER MANAGEMENT
CREATE
DROP
SHOW
ASSIGN
REMOVE
ROLE
ROLE MANAGEMENT
ASSIGN
REMOVE
SHOW
PRIVILEGE
PRIVILEGE MANAGEMENT
ALL [DBMS] PRIVILEGES
valerio@neo4j> SHOW USER PRIVILEGES;
valerio@neo4j> CREATE USER john SET PASSWORD 'abc';
Permission denied.
neo4j@neo4j> GRANT CREATE USER ON DBMS TO role1;
valerio@neo4j> CREATE USER john SET PASSWORD 'abc';
0 rows available after 12 ms, consumed after another 0 ms
22. Schema-Based Security Example
CREATE ROLE Baseline_Personnel_Security_Standard;
CREATE ROLE Security_Check;
CREATE ROLE Counter_Terrorism_Check;
CREATE ROLE Developed_Vetting;
GRANT TRAVERSE ON GRAPH * ELEMENTS * TO
Baseline_Personnel_Security_Standard;
GRANT TRAVERSE ON GRAPH * ELEMENTS * TO Security_Check;
GRANT TRAVERSE ON GRAPH * ELEMENTS * TO Counter_Terrorism_Check;
GRANT TRAVERSE ON GRAPH * ELEMENTS * TO Developed_Vetting;
GRANT READ {*} ON GRAPH * NODES BPSS TO
Baseline_Personnel_Security_Standard;
GRANT READ {*} ON GRAPH * NODES SC TO Security_Check;
GRANT READ {*} ON GRAPH * NODES CTC TO Counter_Terrorism_Check;
GRANT READ {*} ON GRAPH * NODES DV TO Developed_Vetting;
23. Schema-Based Security Example
Baseline_Personnel
_Security_Standard
Security_Check Counter_Terrorism
_Check
Developed_Vetting
emiljake philip
GRANT ROLE Baseline_Personnel_Security_Standard TO jake, philip, emil;
GRANT ROLE Security_Check TO philip, emil;
GRANT ROLE Counter_Terrorism_Check TO philip, emil;
GRANT ROLE Developed_Vetting TO emil;
28. GRANT MATCH {*} ON GRAPH neo4j TO me;
DENY TRAVERSE ON GRAPH neo4j RELATIONSHIP TYPE_1 TO me;
Schema-Based Security Example: TRAVERSE
me@neo4j> MATCH (s)-[r]->(d)
RETURN s,r,d
ORDER BY s.p0, d.p0;
+-------------------------------------------------------+
| s | r | d |
+-------------------------------------------------------+
| (:A {p0: "Node A"}) | [:TYPE_2] | (:B {p0: "Node B"}) |
| (:A {p0: "Node A"}) | [:TYPE_4] | (:C {p0: "Node C"}) |
| (:B {p0: "Node B"}) | [:TYPE_3] | (:E {p0: "Node E"}) |
| (:C {p0: "Node C"}) | [:TYPE_5] | (:D {p0: "Node D"}) |
| (:D {p0: "Node D"}) | [:TYPE_6] | (:E {p0: "Node E"}) |
+-------------------------------------------------------+
me@neo4j> MATCH (s:A),(d:E), p = shortestPath( (s)-[*]->(d) ) RETURN p;
+-----------------------------------------------------------------------------------+
| p |
+-----------------------------------------------------------------------------------+
| (:A {p0: "Node A"})-[:TYPE_2]->(:B {p0: "Node B"})-[:TYPE_3]->(:E {p0: "Node E"}) |
+-----------------------------------------------------------------------------------+
â
29. GRANT MATCH {*} ON GRAPH neo4j TO me;
DENY TRAVERSE ON GRAPH neo4j RELATIONSHIP TYPE_1 TO me;
DENY TRAVERSE ON GRAPH neo4j RELATIONSHIP TYPE_2 TO me;
Schema-Based Security Example: TRAVERSE
me@neo4j> MATCH (s)-[r]->(d)
RETURN s,r,d
ORDER BY s.p0, d.p0;
+-------------------------------------------------------+
| s | r | d |
+-------------------------------------------------------+
| (:A {p0: "Node A"}) | [:TYPE_4] | (:C {p0: "Node C"}) |
| (:B {p0: "Node B"}) | [:TYPE_3] | (:E {p0: "Node E"}) |
| (:C {p0: "Node C"}) | [:TYPE_5] | (:D {p0: "Node D"}) |
| (:D {p0: "Node D"}) | [:TYPE_6] | (:E {p0: "Node E"}) |
+-------------------------------------------------------+
me@neo4j> MATCH (s:A),(d:E), p = shortestPath( (s)-[*]->(d) ) RETURN p;
+------------------------------------------------------------------------------------------------------------------+
| p |
+------------------------------------------------------------------------------------------------------------------+
| (:A {p0: "Node A"})-[:TYPE_4]->(:C {p0: "Node C"})-[:TYPE_5]->(:D {p0: "Node D"})-[:TYPE_6]->(:E {p0: "Node E"}) |
+------------------------------------------------------------------------------------------------------------------+
â
â
30. New PUBLIC Built-in Role
What is it
PUBLIC is a new built-in role that all users always
have assigned.
PUBLIC can be modified, but cannot be removed.
PUBLIC cannot be revoked from users.
Default setting for PUBLIC is:
GRANT ACCESS ON DEFAULT DATABASE
TO PUBLIC
What is it for
⢠The PUBLIC role is automatically associated to
new user, hence administrators can easily setup
users with a common security profile.
⢠other roles do not need to set all the privileges
required by a user to operate, they can build on
top of the PUBLIC role.
⢠Administrators can setup or modify the PUBLIC
role in order to modify the standard security for
the DBMS and all their users.
30
Enterprise Edition only
31. GRANT ACCESS ON DEFAULT DATABASE TO PUBLIC;
The default PUBLIC role is:
PUBLIC Role Example (customisation)
GRANT INDEX MANAGEMENT ON DATABASE neo4j TO PUBLIC;
GRANT CONSTRAINT MANAGEMENT ON DATABASE neo4j TO PUBLIC;
GRANT NAME MANAGEMENT ON DATABASE neo4j TO PUBLIC;
GRANT TRANSACTION MANAGEMENT ON DATABASE neo4j TO PUBLIC;
GRANT USER MANAGEMENT ON DBMS TO PUBLIC;
GRANT ALL GRAPH PRIVILEGES ON GRAPH neo4j TO PUBLIC;
This PUBLIC role allows users to do a subset of administrative privileges:
32. What is it
SHOW commands can now filter rows and
columns:
⢠SHOW DATABASES
⢠SHOW PRIVILEGES
⢠SHOW ROLES
⢠SHOW USERS
SHOW ROLE reader PRIVILEGES
YIELD access, resource, segment, action
WHERE access = 'GRANTED'
AND action = 'match';
Improvements in SHOW Commands
What is it for
Improve user experience: some SHOW commands
generate a lot of output that can be difficult to read.
32
Filter columns
Filter rows
33. Rolling Upgrades Are Back
What is it
Clusters support instances with different versions
of Neo4j, enabling zero-down time upgrades:
⢠Each instance is individually upgraded, and
involves downtime of the instance alone
⢠The cluster works with a mix of 4.0 and 4.1
instances
⢠Shared resources, the system database, are
upgraded in a later step
⢠CALL dbms.upgradeStatus
⢠CALL dbms.upgrade
What is it for
To support a zero down-time upgrade of
clusters, maximizing availability.
To control the upgrade procedure in a
more sophisticated clustered environment,
i.e. with the system database and shared
information and configuration.
33
34. Memory Management
What is it for
⢠Avoid Out Of Memory errors
⢠Manage fairness across databases
⢠Manage fairness across transactions
NOTE: in 4.1 the default setting for the transaction
state memory allocation is:
dbms.tx_state.memory_allocation=ON_HEAP
Although it is still possible to allocate off heap
memory, this is the recommended setting for the
majority of use cases.
34
What is it
Memory accounting: track java heap used by Neo4j
⢠Estimate memory used
⢠Configure thresholds:
⢠Per DBMS
dbms.memory.transaction.global_max_size
⢠Per Database
dbms.memory.transaction.database_max_size
⢠Per Transaction
dbms.memory.transaction.max_size
⢠Any query that brings memory used above threshold is
killed
⢠Show memory used in PROFILE,
dbms.listTransactions(), dbms.listPools()
35. Show memory used examples (1)
neo4j@neo4j> CALL dbms.listPools();
neo4j@neo4j> CALL dbms.listTransactions() yield estimatedUsedHeapMemory;
36. Show memory used examples (2)
PROFILE MATCH (julia {name: "Julia Roberts"})
RETURN julia;
37. Embedded Causal Cluster
What is it
⢠A way to embed a clustering version of
Neo4j as a library within an application
⢠New Factory code plus documentation on
how to migrate an HA cluster to a Causal
Cluster
What is it for
A more reliable, more robust solution for high
availability and scalability for applications
using Neo4j Embedded.
37
Enterprise Edition only
38. Cluster Leadership Control and Balancing
What is it
⢠Leadership Transfer Extension: extension to
raft protocol that allows servers to transfer
leadership
⢠Control leadership based on user priorities
⢠In multiple databases scenario, balance
leadership equally or based on user priorities
What is it for
⢠Sometimes a leader must step down (e.g.
maintenance). The leader will now avoid a
new election delay by passing leadership
before stepping down.
⢠Some servers might be more suitable to
become leaders than others. That preference
can now be configured.
⢠In clusters with several (possibly hundreds) of
databases, it is now possible to load balance
leadership load.
38
39. Scenario 1: Load Balancing Leadership
a. The load-balancer algorithm runs
periodically and if needed requests transfer
of leaderships.
b. When a leader steps down, leadership is
passed to any suitable member, avoiding
election
i. Load-balancer can request transfer
CORE-3
FF L
CORE-2
LF F
CORE-1
FL F
Leaders load-balanced across servers!
causal_clustering.leadership_balancing=equal_balancing
# do NOT define priority groups for the databases
40. group2
group1
Scenario 2: Preferred Leaders
CORE-3
FF L
CORE-2
LF F
CORE-1
FL F
# Assign servers to server_groups
causal_clustering.server_groups= group1
# declare r1 as the priority group for all databases
causal_clustering.leadership_priority_group.dbYellow=group1
causal_clustering.leadership_priority_group.dbGreen=group1
causal_clustering.leadership_priority_group.dbPink=group1
â Over time, the leader for the database will end
up being a member of group1
â Checks run periodically
â Leadership transfer triggered when
required.
â When a Leader steps down, it passes
leadership to a member of the priority group
CORE-5
FF F
CORE-4
FF F
# Assign servers to server_groups
causal_clustering.server_groups= group2
No Leaders!
41. Cypher Query Replanning Options
What is it
Query replanning can now be controlled at
query time, letting users force or skip a
replan.
Replanning is a runtime option.
What is it for
In a mix workload, batch scripts can force
replanning using Cypher EXPLAIN commands:
CYPHER replan=force EXPLAIN MATCH ...
Similarly, user queries that require low latency
can use the skip option:
CYPHER replan=skip MATCH ...
41
42. Pipelined Runtime for Read Operators
What is it
⢠Implemented a number of Read operators using the
Pipelined Cypher runtime:
⢠NestedPlanExpression
⢠OptionalExpandAll
⢠OrderedAggregation
⢠PartialSort
⢠PartialTop
⢠RollUpApply
⢠SemiApply
⢠AntiSemiApply
⢠Skip
⢠Union
⢠ValueHashJoin
⢠Total of 48 operators supported on Pipelined
⢠For full Read support still missing 8 operators
What is it for
⢠Faster Read queries
⢠At the workload level (single instance LDBC), 4.1
improves throughput over 4.0 by 11-34% depending
on scale factor
⢠Most queries are faster
⢠For extremely fast (microsecond scale) queries,
slotted is sometimes faster.
42
Enterprise Edition only
44. Better description for EXPLAIN and PROFILE
What is it
A more readable and informational plan
description per queries
What is it for
Makes it easier to optimize query
performance
44
45. Before ...
A lot of information, but very
spread out and sometimes
hard to relate to original query
46. ⌠After
Details column with
operator specific
information
Multiple rows,
no truncation
Information about
variables, no need for
Variables column
Same format as the
query string
47. What is it
A Cypher queries can access any database in the same
DBMS, regardless of the database selected in the
session.
Transactions can span across databases
(multi-read, single-write, NO multi-write allowed).
Admin commands can be executed from any session
without the need to select the system database first.
Server Side Routing: queries can be directed to any
cluster member, and will be redirected automatically
⢠E.g Write query directed to FOLLOWER will be
forwarded to LEADER
Database router
What is it for
⢠Seamless multi-db experience
⢠Simplify user experience when working with
multi-databases.
⢠Over time, server side routing should simplify
writing drivers for new languages.
47
48. neo4j@foo> :BEGIN
neo4j@foo# MATCH (n) RETURN n
+------------------------+
| n |
+------------------------+
| (:N1 {p0: "From foo"}) |
+------------------------+
neo4j@foo# MATCH (m) RETURN m
+------------------------+
| m |
+------------------------+
| (:N1 {p0: "From foo"}) |
+------------------------+
neo4j@foo# USE bar
MATCH (p) RETURN p
+------------------------+
| m |
+------------------------+
| (:N1 {p0: "From bar"}) |
+------------------------+
neo4j@foo# :COMMIT
neo4j@foo>
Examples
// Single session
// with db selection: âfooâ
MATCH (n) RETURN n
------------------------
// no need to connect to âbarâ
USE bar CALL db.indexes
------------------------
// no need to connect to âsystemâ
CREATE ROLE basic
foo | bar
---------+--------
BEGIN | ***
MATCH | ***
|
|
|
|
|
|
MATCH | ***
|
|
|
|
|
|
|
--- | BEGIN +
| MATCH
|
|
|
|
|
COMMIT | COMMIT
|
49. What is it
⢠New set of drivers that give access to the 4.1
features
⢠Java
⢠.NET
⢠JS
⢠New version of Bolt server
What is it for
⢠Access to the database router feature
(see previous slides)
⢠Single instance deployments donât
anymore advertise themselves as
localhost (by default)
Drivers 4.1
49
50. Examples of new Bolt features use cases
Use case 1: preserve connections with active
long running transactions
⢠Idle connections might be killed by
network providers (e.g AWS)
⢠Neo4j 4.1 can send âemptyâ messages
to keep the connection alive.
⢠Disabled by default
# Frequency of Empty message to be sent
dbms.connector.bolt.connection_keep_alive=1m
# How often to check open transactions idleness
dbms.connector.bolt.connection_keep_alive_schedul
ing_interval=1m
Use case 2: prevent attacker to consume
resources on the server
⢠client completes initial handshake but
does not follow up with a successful
authentication attempt.
⢠Neo4j 4.1 introduces timeouts for
connection attempt.
dbms.connector.bolt.unsupported_unauth_connec
tion_timeout=30s
51. Python Driver 4.0
What is it
Then new Python database now offers:
⢠Multi-database support
⢠Configurable fetch size
with driver.session(database="example_database",
fetch_size=10) as session:
result = session.run("UNWIND range(1,100) AS x
RETURN x")
for record in result: # The driver will ask
# for 10 records at a
# time over the network
print(record["x"])
What is it for
⢠Python users can specify which
database they want to query against
⢠Python users can tune their memory
consumption by configuring how
much data they want to fetch each
request.
51
52. GO Driver 1.8
What is it
Then new GO driver is a rewrite of existing
functionality of 1.7 (that was based on C)
⢠Pure GO
⢠No change in client code required
The 1.8 driver also offers multi-database access.
What is it for
⢠Easier driver installation
⢠Bridge towards 4.x functionality
52
53. SDN-RX GA Release
What is it
New version of Neo4j SDN. Features:
â Reactive(/Imperative) programming model
â Mapping supported by Spring Data Core
library
â Immutable entities
â New Neo4j client and reactive client
feature, template over the plain driver
â Spring Boot Autostarter for Driver and
SDN-RX
What is it for
For Java developers who use the Spring
Framework or Spring Boot and want to take
advantage of reactive development principles.
⢠Communication driver-database can be
adjusted according to needs of the client
(Neo4jClient / Neo4jTemplate /
Repositories).
53
54. OpenCypher-DSL
What is it
⢠A DSL for generating openCypher
compatible Cypher statements in Java
⢠Spinout of SDN-RX
var node = node("Movie").named("m");
Cypher.match(node).returning(node).limit(1)...
What is it for
⢠Programmatically build cypher statements
without string concat madness
⢠Reuse query components over and over
again
⢠Already used by Neo4j GraphQL project
55. What is it
⢠A subset of APOC (apoc-core) packaged with
the main product.
⢠apoc-core.jar in labs sub-folder
⢠APOC maintain current âNeo4j Labsâ terms
and conditions.
APOC core in db package (coming 4.1.1)
What is it for
⢠Remove the issue of multiple downloads
to take full advantage of extra functions
and procedures.
⢠Reduce risks of using wrong versions,
missing updates etc.
56. Graph Data Science:
- Public preview release of 4.1 compatible jar by end of June
Aura
- Intended launch simultaneously with 4.1 GA
Bloom:
- Bloom 1.3.x is intended to be compatible with Neo4j 4.1
Platform Compatibility