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.
This introduction to graph databases is specifically designed for Enterprise Architects who need to map business requirements to architectural components like graph databases. It explains how and why graphs matter for Enterprise Architecture and reviews the architectural differences between relational and graph models.
In this webinar we discuss the primary use cases for Graph Databases and explore the properties of Neo4j that make those use cases possible.
We cover the high-level steps of modeling, importing, and querying your data using Cypher and give an overview of the transition from RDBMS to Graph.
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.
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.
How Graph Databases efficiently store, manage and query connected data at s...jexp
Graph Databases try to make it easy for developers to leverage huge amounts of connected information for everything from routing to recommendations. Doing that poses a number of challenges on the implementation side. In this talk we want to look at the different storage, query and consistency approaches that are used behind the scenes. We’ll check out current and future solutions used in Neo4j and other graph databases for addressing global consistency, query and storage optimization, indexing and more and see which papers and research database developers take inspirations from.
Family tree of data – provenance and neo4jM. David Allen
The document discusses using Neo4j, a graph database, to store and query provenance data. Some key points:
- Storing provenance in a relational database requires complex SQL and pushes graph operations into code, hurting performance on graph queries.
- Neo4j uses the Cypher query language which allows declarative graph queries without imperative code.
- Example Cypher queries are provided to demonstrate retrieving paths and relationships in a provenance graph.
- While graph databases provide better performance for graph queries, they have limitations for certain bulk scans compared to relational databases. Proper graph design is important.
The year of the graph: do you really need a graph database? How do you choose...George Anadiotis
Graph databases have been around for more than 15 years, but it was AWS and Microsoft getting in the domain that attracted widespread interest. If they are into this, there must be a reason.
Everyone wants to know more, few can really keep up and provide answers. And as this hitherto niche domain is in the mainstream now, the dynamics are changing dramatically. Besides new entries, existing players keep evolving.
I’ve done the hard work of evaluating solutions, so you don’t have to. An overview of the domain and selection methodology, as presented in Big Data Spain 2018
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.
Graphs for Finance - AML with Neo4j Graph Data Science Neo4j
This document discusses using graph data science and graph algorithms to detect fraud. It explains that graph data science uses relationships in data to power predictions. It provides examples of how graph algorithms like Louvain clustering, PageRank, connected components, and Jaccard similarity can be used to identify communities that frequently interact, measure influence, identify accounts sharing identifiers, and measure account similarity to detect fraud in applications like banking and financial services. The document also discusses using graph embeddings and feature engineering with graph networks to improve machine learning models for fraud detection by basing predictions on influential entities and their relationships.
Hadoop and Neo4j: A Winning Combination for Bioinformaticsosintegrators
This presentation includes an intro to bioinformatics with an emphasis on human genome re-sequencing and how Hadoop and Neo4j can be used together to open striking possibilities.
Relational databases were conceived to digitize paper forms and automate well-structured business processes, and still have their uses. But, oftentimes with RDBMS, performance degrades with the increasing number and levels of data relationships and data size.
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.
This webinar explains why companies are shifting away from RDBMS towards graphs to unlock the business value in their data relationships.
Neo4j GraphTalk Helsinki - Introduction and Graph Use CasesNeo4j
This document provides an introduction to graphs and Neo4j. It discusses that Neo4j is a native graph database that allows organizations to leverage connections in data in real-time to create value. It then provides information on Neo4j as a company and as a product, including that it is the world's leading graph database. The document goes on to define what graphs are from a data structure perspective and provides examples of famous graphs like social networks. It discusses why graph databases are useful compared to relational databases for representing complex, connected data and provides examples of use cases for Neo4j like recommendations, fraud detection, and network analysis.
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 Neo4j, a graph database management system. It discusses how Neo4j stores data as nodes and relationships, allowing for fast querying of connected data. Traditional relational databases struggle with complex relationships, while NoSQL databases don't support relationships at all. Neo4j addresses these issues through its native graph storage and processing capabilities. The document highlights key Neo4j features like scalability, high performance, and its Cypher query language.
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.
The Fort Meade Neo4j User Group meeting agenda included:
- An introduction to Neo4j by Jason Zagalsky, discussing Neo4j's native graph database capabilities.
- A presentation on using Neo4j for big data by Preston Hendrickson of Calibre Systems.
- A demonstration of Neo4j Bloom for graph data visualization by Gary Mann.
- An overview of what's new in Neo4j version 3.5 by David Fauth.
- Time for Q&A, discussion, and networking.
Neo4j is a highly scalable native graph database that leverages data relationships as first-class entities, helping enterprises build intelligent applications to meet today’s evolving data challenges.
این دیتابیس توسط Neo Technology در سال ۲۰۰۷ ایجاد شد و به صورت Opensource در ا��تیار کاربران قرار گرفت. آخرین نسخه Stable، ورژن ۳.۱ هست.
Airbnb aims to democratize data within the company by building a graph database of all internal data resources connected by relationships. This graph is queried through a search interface to help employees explore, discover, and build trust in company data. Challenges include modeling complex data dependencies and proxy nodes, merging graph updates from different sources, and designing a data-dense interface simply. Future goals are to gamify content production, deliver recommendations, certify trusted content, and analyze the information network.
Getting started with Graph Databases & Neo4jSuroor Wijdan
The presentation gives a brief information about Graph Databases and its usage in today's scenario. Moving on the presentation talks about the popular Graph DB Neo4j and its Cypher Query Language i.e., used to query the graph.
This document provides an overview of graph databases, including their basic components and structure. It discusses graph database vendors like Neo4j and OrientDB and how they are implemented. Examples of use cases for graph databases include social network analysis, recommendations, knowledge graphs, and routing. The document also mentions graph processing frameworks and APIs that can interact with graph databases.
Graph Database Management Systems provide an effective
and efficient solution to data storage in current scenarios
where data are more and more connected, graph models are
widely used, and systems need to scale to large data sets.
In this framework, the conversion of the persistent layer of
an application from a relational to a graph data store can
be convenient but it is usually an hard task for database
administrators. In this paper we propose a methodology
to convert a relational to a graph database by exploiting
the schema and the constraints of the source. The approach
supports the translation of conjunctive SQL queries over the
source into graph traversal operations over the target. We
provide experimental results that show the feasibility of our
solution and the efficiency of query answering over the target
database.
Designing and Building a Graph Database Application – Architectural Choices, ...Neo4j
Ian closely looks at design and implementation strategies you can employ when building a Neo4j-based graph database solution, including architectural choices, data modelling, and testing.g
Nouvelles opportunités pour les données fortement interconnectées : La base d...Cédric Fauvet
Si vous vous arrachez les cheveux avec de nombreuses jointures et les procédures stockées complexes il est fort possible que vous soyez en train de construire un graphe sans le savoir car les graphes sont partout. Depuis l'ajout d'une couche sociale aux applications web jusqu'à l'analyse d'impact sur un réseau Telecom en passant par la recherche en Biologie, de nombreuses organisations ont adopté les bases de données de graphes et leur modèle de données parfaitement adapté aux requêtes complexes et hautement connectées tout en garantissant des performances exceptionnelles.
Découvrez avec nous ce qu'apporte la puissance de Neo4j à une large variété de clients tels que Adobe, Cisco, Deutsche Telekom, Viadeo ou Glowbl.
This document summarizes Michael Hunger's presentation on how graphs make databases fun again. Some key points:
- Traditional relational databases have issues modeling connected data and performing complex queries over relationships. Graph databases like Neo4j can more naturally represent connected data as nodes and relationships.
- Neo4j was originally created to solve issues modeling connected data for a digital asset management system. It uses a graph data model and allows complex relationship queries through its Cypher query language.
- The document demonstrates importing meetup data into Neo4j and running queries to find connections between users, groups, and topics. It also shows examples of querying actor relationships and movie data.
- Tools are presented
Combine Spring Data Neo4j and Spring Boot to quicklNeo4j
Speakers: Michael Hunger (Neo Technology) and Josh Long (Pivotal)
Spring Data Neo4j 3.0 is here and it supports Neo4j 2.0. Neo4j is a tiny graph database with a big punch. Graph databases are imminently suited to asking interesting questions, and doing analysis. Want to load the Facebook friend graph? Build a recommendation engine? Neo4j's just the ticket. Join Spring Data Neo4j lead Michael Hunger (@mesirii) and Spring Developer Advocate Josh Long (@starbuxman) for a look at how to build smart, graph-driven applications with Spring Data Neo4j and Spring Boot.
GraphTalks Rome - Selecting the right TechnologyNeo4j
Dirk Möller discusses selecting the right database technology, with a focus on graph databases like Neo4j. He outlines the benefits of graph databases over relational and NoSQL databases for connected data, including high performance, easy maintenance, and seamless evolution. Möller also provides examples of common use cases where graph databases have business benefits in areas like recommendations, fraud detection, and network operations.
Polyglot Persistence with MongoDB and Neo4jCorie Pollock
Learn how to enhance your application by using Neo4j and MongoDB together. Polyglot persistence is the concept of taking advantage of the strengths of different database technologies to improve functionality and enhance your application. In this webinar we will examine some use cases where it makes sense to use a document database (MongoDB) with a graph database (Neo4j) in a single application. Specifically, we will show how MongoDB can be used to provide search and browsing functionality for a product catalog while using Neo4j to provide personalized product recommendations. Finally we will look at the Neo4j Doc Manager project which facilitates syncing data from MongoDB to Neo4j to make polyglot persistence with MongoDB and Neo4j much easier.
The document provides an overview of different NoSQL database types, including key-value stores, document databases, column-oriented databases, graph databases, and caches. It discusses examples of databases for each type and common use cases. The document also covers querying graph databases, polyglot persistence using multiple database types, and concludes with when each database type is best suited and when not to use a NoSQL database.
The document discusses how the International Consortium of Investigative Journalists (ICIJ) analyzed the Panama Papers documents using Neo4j. It describes the multi-step process the ICIJ used, including classifying documents, developing entity recognition, parsing data into a graph model, and analyzing the data using graph queries and visualizations. It then demonstrates analyzing a subset of the Panama Papers data in Neo4j to show connections between political figures.
NoSQL Simplified: Schema vs. Schema-lessInfiniteGraph
A look at the many facets of schema-less approaches vs a rich schema approach, ranging from performance and query support to heterogeneity and code/data migration issues. Presented by Leon Guzenda, Founder, Objectivity
Neo4j – The Fastest Path to Scalable Real-Time AnalyticsNeo4j
The document discusses how graph databases like Neo4j can enable real-time analytics at massive scale by leveraging relationships in data. It notes that data is growing exponentially but traditional databases can't efficiently analyze relationships. Neo4j natively stores and queries relationships to allow analytics 1000x faster. The document advocates that graphs will form the foundation of modern data and analytics by enhancing machine learning models and enabling outcomes like building intelligent applications faster, gaining deeper insights, and scaling limitlessly without compromising data.
Agile Data Rationalization for Operational IntelligenceInside Analysis
The Briefing Room with Eric Kavanagh and Phasic Systems
Live Webcast Mar. 26, 2013
The complexity of today's information architectures creates a wide range of challenges for executives trying to get a strategic view of their current operations. The data and context locked in operational systems often get diluted during the normalization processes of data warehousing and other types of analytic solutions. And the ultimate goal of seeing the big picture gets derailed by a basic inability to reconcile disparate organizational views of key information assets and rules.
Register for this episode of The Briefing Room to learn from Bloor Group CEO Eric Kavanagh, who will explain how a tightly controlled methodology can be combined with modern NoSQL technology to resolve both process and system complexities, thus enabling a much richer, more interconnected information landscape. Kavanagh will be briefed by Geoffrey Malafsky of Phasic Systems who will share his company's tested methodology for capturing and managing the business and process logic that run today's data-driven organizations. He'll demonstrate how a “don't say no” approach to entity definitions can dissolve previously intractable disagreements, opening the door to clear, verifiable operational intelligence.
Visit: http://www.insideanalysis.com
This document provides an overview of NoSQL databases. It begins with a brief history of relational databases and Edgar Codd's 1970 paper introducing the relational model. It then discusses modern trends driving the emergence of NoSQL databases, including increased data complexity, the need for nested data structures and graphs, evolving schemas, high query volumes, and cheap storage. The core characteristics of NoSQL databases are outlined, including flexible schemas, non-relational structures, horizontal scaling, and distribution. The major categories of NoSQL databases are explained - key-value, document, graph, and column-oriented stores - along with examples like Redis, MongoDB, Neo4j, and Cassandra. The document concludes by discussing use cases and
This document discusses SQL versus NoSQL databases. NoSQL databases are better suited for internet-scale applications with massive amounts of data and users due to their ability to provide high availability, high performance, and horizontal scalability. NoSQL databases sacrifice strict ACID properties for looser eventual consistency in order to better serve highly distributed systems. SQL remains preferable when strict ACID properties are required. The document provides examples of MongoDB and concludes that the right database choice depends on the specific needs and use case.
The document discusses Spark usage at Zillow for data analytics and machine learning. It describes setting up a data lake to store disparate data in various formats for ML scenarios. It discusses using Spark SQL to partition data by region for downstream jobs. Two stumbling blocks of ingesting data from S3 and partitioning output are presented along with solutions. Use cases like historical data storage, user segmentation modeling, and Zestimates home valuation are also summarized.
The document discusses new features and capabilities in Neo4j 4.0, including unlimited scalability through sharding and federation, a fully reactive architecture, and new security and data privacy controls. It also introduces Neo4j Desktop for graph development workflows, Neo4j Aura cloud database service, and visualization and analytics tools for working with graph data.
Considerations for using NoSQL technology on your next IT project - Akmal Cha...jaxconf
Over the past few years, we have seen the emergence and growth of NoSQL technology. This has attracted interest from organizations looking to solve new business problems. There are also examples of how this technology has been used to bring practical and commercial benefits to some organizations. However, since it is still an emerging technology, careful consideration is required in finding the relevant developer skills and choosing the right product. This presentation will discuss these issues in greater detail. In particular, it will focus on some of the leading NoSQL products, such as MongoDB, Cassandra, Redis, and Neo4j and will discuss their architectures and suitability for different problems. Short demonstrations, using Java, are planned to give the audience a feel for the practical aspects of such products.
NoSQL Now! Webinar Series: Innovations in NoSQL Query Languages DATAVERSITY
This webinar will cover the latest trends in advanced query languages for NoSQL databases. We’ll look at how innovations in vendor-independent standardized query languages allow NoSQL developers to query multiple types of data and multiple NoSQL databases using a single query language. We’ll see how using the right NoSQL query language promotes portability across multiple NoSQL databases, avoids vendor lock-in, and keeps your developers productive at the same time. We will be interviewing Matthias Brantner from 28msec and see on how they use JSONiq as a basis for a modern ETL framework that works on a diverse number of data sources.
Complex hierarchical relationships between entities can only be mapped with difficulty in a relational database and demanding queries are usually quite slow.
Graph databases are optimized for exactly these kinds of relationships and can provide high-performance results even with huge amounts of data. Moreover, not only the entities that are stored in the database, have attributes, but also their relationships. Queries can look at entities as well as their relationships.
Get to know the basics of graph databases, using Neo4j as an example, and see how it is used C# projects.
Séminaire Big Data Alter Way - Elasticsearch - octobre 2014ALTER WAY
This document discusses Elasticsearch and how it can be used to search, analyze, and make sense of large amounts of data. It provides examples of how Elasticsearch is being used by large companies to handle petabytes of data and gain insights. Implementations in France are highlighted. The document concludes by demonstrating how easily Elasticsearch can be deployed and used to ingest and search sample data.
Graph Database Use Cases - StampedeCon 2015StampedeCon
Presented by Max De Marzi at StampedeCon 2015: Graphs are eating the world – but in what form? Starting off with a primer on Graph Databases, this talk will focus on practical examples of graph applications.
We’ll look at multiple use cases like job boards, dating sites, recommendation engines of all kinds, network management, scheduling engines, etc. We'll also see some examples of graph search in action.
Neo4j GraphTalks - Introduction to GraphDatabases and Neo4jNeo4j
This document provides an overview of graph databases and Neo4j. It discusses how graph databases are well-suited for dynamic systems where relationships are important. Neo4j is introduced as a native graph database that is highly scalable and allows organizations to leverage connections in data. Examples are given of companies using Neo4j for applications like recommendations, fraud detection, and network management. Neo4j is presented as an enterprise-ready solution with features like ACID transactions, security, and support for popular languages.
No se pierda esta oportunidad de conocer las ventajas de NoSQL. Participe en nuestro seminario web y descubra:
Qué significa el término NoSQL
Qué diferencias hay entre los almacenes clave-valor, columna ancha, grafo y de documentos
Qué significa el término «multimodelo»
Similar to Introduction to Graph databases and Neo4j (by Stefan Armbruster) (20)
UiPath Community Day Kraków: Devs4Devs ConferenceUiPathCommunity
We are honored to launch and host this event for our UiPath Polish Community, with the help of our partners - Proservartner!
We certainly hope we have managed to spike your interest in the subjects to be presented and the incredible networking opportunities at hand, too!
Check out our proposed agenda below 👇👇
08:30 ☕ Welcome coffee (30')
09:00 Opening note/ Intro to UiPath Community (10')
Cristina Vidu, Global Manager, Marketing Community @UiPath
Dawid Kot, Digital Transformation Lead @Proservartner
09:10 Cloud migration - Proservartner & DOVISTA case study (30')
Marcin Drozdowski, Automation CoE Manager @DOVISTA
Pawel Kamiński, RPA developer @DOVISTA
Mikolaj Zielinski, UiPath MVP, Senior Solutions Engineer @Proservartner
09:40 From bottlenecks to breakthroughs: Citizen Development in action (25')
Pawel Poplawski, Director, Improvement and Automation @McCormick & Company
Michał Cieślak, Senior Manager, Automation Programs @McCormick & Company
10:05 Next-level bots: API integration in UiPath Studio (30')
Mikolaj Zielinski, UiPath MVP, Senior Solutions Engineer @Proservartner
10:35 ☕ Coffee Break (15')
10:50 Document Understanding with my RPA Companion (45')
Ewa Gruszka, Enterprise Sales Specialist, AI & ML @UiPath
11:35 Power up your Robots: GenAI and GPT in REFramework (45')
Krzysztof Karaszewski, Global RPA Product Manager
12:20 🍕 Lunch Break (1hr)
13:20 From Concept to Quality: UiPath Test Suite for AI-powered Knowledge Bots (30')
Kamil Miśko, UiPath MVP, Senior RPA Developer @Zurich Insurance
13:50 Communications Mining - focus on AI capabilities (30')
Thomasz Wierzbicki, Business Analyst @Office Samurai
14:20 Polish MVP panel: Insights on MVP award achievements and career profiling
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...Toru Tamaki
Jindong Gu, Zhen Han, Shuo Chen, Ahmad Beirami, Bailan He, Gengyuan Zhang, Ruotong Liao, Yao Qin, Volker Tresp, Philip Torr "A Systematic Survey of Prompt Engineering on Vision-Language Foundation Models" arXiv2023
https://arxiv.org/abs/2307.12980
Details of description part II: Describing images in practice - Tech Forum 2024BookNet Canada
This presentation explores the practical application of image description techniques. Familiar guidelines will be demonstrated in practice, and descriptions will be developed “live”! If you have learned a lot about the theory of image description techniques but want to feel more confident putting them into practice, this is the presentation for you. There will be useful, actionable information for everyone, whether you are working with authors, colleagues, alone, or leveraging AI as a collaborator.
Link to presentation recording and transcript: https://bnctechforum.ca/sessions/details-of-description-part-ii-describing-images-in-practice/
Presented by BookNet Canada on June 25, 2024, with support from the Department of Canadian Heritage.
Quantum Communications Q&A with Gemini LLM. These are based on Shannon's Noisy channel Theorem and offers how the classical theory applies to the quantum world.
Comparison Table of DiskWarrior Alternatives.pdfAndrey Yasko
To help you choose the best DiskWarrior alternative, we've compiled a comparison table summarizing the features, pros, cons, and pricing of six alternatives.
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdfNeo4j
Presented at Gartner Data & Analytics, London Maty 2024. 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. Join this session to hear their story, the lessons they learned along the way and how their future innovation plans include the exploration of uses of EKG + Generative AI.
Transcript: Details of description part II: Describing images in practice - T...BookNet Canada
This presentation explores the practical application of image description techniques. Familiar guidelines will be demonstrated in practice, and descriptions will be developed “live”! If you have learned a lot about the theory of image description techniques but want to feel more confident putting them into practice, this is the presentation for you. There will be useful, actionable information for everyone, whether you are working with authors, colleagues, alone, or leveraging AI as a collaborator.
Link to presentation recording and slides: https://bnctechforum.ca/sessions/details-of-description-part-ii-describing-images-in-practice/
Presented by BookNet Canada on June 25, 2024, with support from the Department of Canadian Heritage.
Kief Morris rethinks the infrastructure code delivery lifecycle, advocating for a shift towards composable infrastructure systems. We should shift to designing around deployable components rather than code modules, use more useful levels of abstraction, and drive design and deployment from applications rather than bottom-up, monolithic architecture and delivery.
The Rise of Supernetwork Data Intensive ComputingLarry Smarr
Invited Remote Lecture to SC21
The International Conference for High Performance Computing, Networking, Storage, and Analysis
St. Louis, Missouri
November 18, 2021
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...Bert Blevins
Today’s digitally connected world presents a wide range of security challenges for enterprises. Insider security threats are particularly noteworthy because they have the potential to cause significant harm. Unlike external threats, insider risks originate from within the company, making them more subtle and challenging to identify. This blog aims to provide a comprehensive understanding of insider security threats, including their types, examples, effects, and mitigation techniques.
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-InTrustArc
Six months into 2024, and it is clear the privacy ecosystem takes no days off!! Regulators continue to implement and enforce new regulations, businesses strive to meet requirements, and technology advances like AI have privacy professionals scratching their heads about managing risk.
What can we learn about the first six months of data privacy trends and events in 2024? How should this inform your privacy program management for the rest of the year?
Join TrustArc, Goodwin, and Snyk privacy experts as they discuss the changes we’ve seen in the first half of 2024 and gain insight into the concrete, actionable steps you can take to up-level your privacy program in the second half of the year.
This webinar will review:
- Key changes to privacy regulations in 2024
- Key themes in privacy and data governance in 2024
- How to maximize your privacy program in the second half of 2024
Blockchain technology is transforming industries and reshaping the way we conduct business, manage data, and secure transactions. Whether you're new to blockchain or looking to deepen your knowledge, our guidebook, "Blockchain for Dummies", is your ultimate resource.
How Social Media Hackers Help You to See Your Wife's Message.pdfHackersList
In the modern digital era, social media platforms have become integral to our daily lives. These platforms, including Facebook, Instagram, WhatsApp, and Snapchat, offer countless ways to connect, share, and communicate.
How RPA Help in the Transportation and Logistics Industry.pptxSynapseIndia
Revolutionize your transportation processes with our cutting-edge RPA software. Automate repetitive tasks, reduce costs, and enhance efficiency in the logistics sector with our advanced solutions.
The DealBook is our annual overview of the Ukrainian tech investment industry. This edition comprehensively covers the full year 2023 and the first deals of 2024.
Introduction to Graph databases and Neo4j (by Stefan Armbruster)
1. Introduction in Graph
Databases and Neo4j
most slides from:
Stefan Armbruster
Michael Hunger
@darthvader42
stefan.armbruster@neotechnology.com
1
1
2. The Path Forward
1.No .. NO .. NOSQL
2.Why graphs?
3.What's a graph database?
4.Some things about Neo4j.
5.How do people use Neo4j?
2
3. Trends in BigData & NOSQL
1. increasing data size (big data)
• “Every 2 days we create as much information as we did up to 2003”
- Eric Schmidt
2. increasingly connected data (graph data)
• for example, text documents to html
3. semi-structured data
• individualization of data, with common sub-set
4. architecture - a facade over multiple services
• from monolithic to modular, distributed applications
3
4. What is NOSQL?
It’s not “No to SQL”
It’s not “Never SQL”
It’s “Not
Only SQL”
NOSQL no-seek-wool n. Describes
ongoing trend where developers
increasingly opt for non-relational
databases
to
help
solve
their
problems, in an effort to use the right
tool for the right job.
4
4
21. Good Relationships
๏ the world is rich, messy and related data
๏ relationships are as least as important as the things they connect
๏ Graphs
= Whole > Σ parts
๏ complex interactions
๏ always changing, change of structures as well
๏ Graph: Relationships are part of the data
๏ RDBMS: Relationships part of the fixed schema
2
1
25. A graph database...
NO: not for charts & diagrams, or vector artwork
YES: for storing data that is structured as a graph
remember linked lists, trees?
graphs are the general-purpose data structure
“A relational database may tell you the average age of everyone in
this session,
but a graph database will tell you who is most likely to buy you a
beer.”
3
3
2
2
28. We're talking about a
Property Graph
Properties (each a key+value)
+ Indexes (for easy look-ups)
+ Labels (Neo4j 2.0)
3
3
5
5
29. Looks different, fine. Who cares?
๏ a sample social graph
• with ~1,000 persons
๏ average 50 friends per person
๏ pathExists(a,b) limited to depth 4
๏ caches warmed up to eliminate disk I/O
# persons
query time
Relational database
1.000
2000ms
Neo4j
1.000
2ms
Neo4j
1.000.000
2ms
3
3
6
6
30. Graph Database: Pros & Cons
๏ Strengths
• Powerful data model, as general as RDBMS
• Fast, for connected data
• Easy to query
๏ Weaknesses:
• Sharding (though they can scale reasonably well)
‣also, stay tuned for developments here
• Requires conceptual shift
‣though graph-like thinking becomes addictive
3
3
7
7
31. And, but, so how do you
query this "graph"
database?
3
3
8
8
32. Query a graph with a traversal
// lookup starting point in an index
then traverse to find results
start n=node:People(name = ‘Andreas’)
match (n)--()--(foaf) return foaf
3
3
9
9
40. (Neo4j) -[:IS_A]-> (Graph Database)
HIG
H
_AV
AIL
.
TRAVERSA
LS
HA
T
IN
S
TE
RA
EG
PROVIDES
SCAL
ES_T
O
EN
SE
D
_L
IK
E
ON
RU
NS
_A
LIC
_
NS
RU
S
RUN
S_AS
4
7
41. Neo4j is a Graph Database
๏ A Graph Database:
• a schema-free Property Graph
• perfect for complex, highly connected data
๏ A Graph Database:
• reliable with real ACID Transactions
• fast with more than 1M traversals / second
• Server with REST API, or Embeddable on the JVM
• scale out for higher-performance reads with High-Availability
4
8
43. Two Ways to Work with Neo4j
๏ 1. Embeddable on JVM
• Java, JRuby, Scala...
• Tomcat, Rails, Akka, etc.
• great for testing
5
0
44. Show me some code, please
GraphDatabaseService graphDb =
new EmbeddedGraphDatabase(“var/neo4j”);
Transaction tx = graphDb.beginTx();
try {
Node steve = graphDb.createNode();
Node michael = graphDb.createNode();
steve.setProperty(“name”, “Steve Vinoski”);
michael.setProperty(“name”, “Michael Hunger”);
Relationship presentedWith = steve.createRelationshipTo(
michael, PresentationTypes.PRESENTED_WITH);
presentedWith.setProperty(“date”, today);
tx.success();
} finally {
tx.finish();
}
45. Spring Data Neo4j
@NodeEntity
public class Movie {
@Indexed private String title;
@RelatedToVia(type = “ACTS_IN”, direction=INCOMING)
private Set<Role> cast;
private Director director;
}
@NodeEntity
public class Actor {
@RelatedTo(type = “ACTS_IN”)
private Set<Movies> movies;
}
@RelationshipEntity
public class Role {
@StartNode private Actor actor;
@EndNode private Movie movie;
private String roleName;
}
46. Cypher Query Language
๏ Declarative query language
• Describe what you want, not how
• Based on pattern matching
๏ Examples:
START david=node:people(name=”David”) # index lookup
MATCH david-[:knows]-friends-[:knows]-new_friends
WHERE new_friends.age > 18
RETURN new_friends
START user=node(5, 15, 26, 28) # node IDs
MATCH user--friend
RETURN user, COUNT(friend), SUM(friend.money)
5
4
48. Two Ways to Work with Neo4j
๏ 2. Server with REST API
• every language on the planet
• flexible deployment scenarios
• DIY server, or cloud managed
5
6
52. Industry: Communications
Use case: Recommendations
San Jose, CA
Cisco.com
Knowledg
Knowledg
e
e
Base
Base
Article
Article
Support
Support
Case
Case
• Cisco.com serves customer and business customers with
Support Services
• Needed real-time recommendations, to encourage use of
online knowledge base
• Cisco had been successfully using Neo4j for its internal
master data management solution.
• Identified a strong fit for online recommendations
Knowledg
Knowledg
e
e
Base
Base
Article
Article
Support
Support
Case
Case
Solution
Solution
Knowledg
Knowledg
e
e
Base
Base
Article
Article
Message
Message
• Call center volumes needed to be lowered by improving
• Cases, solutions, articles, etc. continuously scraped for
the efficacy of online self service
• Leverage large amounts of knowledge stored in service
cases, solutions, articles, forums, etc.
• Problem resolution times, as well as support costs, needed
to be lowered
cross-reference links, and represented in Neo4j
• Real-time reading recommendations via Neo4j
• Neo4j Enterprise with HA cluster
• The result: customers obtain help faster, with decreased
reliance on customer support
53. Industry: Communications
Use case: Master Data Management
San Jose, CA
Cisco HMP
• One of the world’s largest communications equipment
manufacturers#91 Global 2000. $44B in annual sales.
• Needed a system that could accommodate its master
data hierarchies in a performant way
• HMP is a Master Data Management system at whose
heart is Neo4j. Data access services available 24x7 to
applications companywide
• Sales compensation system had become unable to meet
• Cisco created a new system: the Hierarchy Management
Cisco’s needs
• Existing Oracle RAC system had reached its limits:
• Insufficient flexibility for handling complex
organizational hierarchies and mappings
• “Real-time” queries were taking > 1 minute!
• Business-critical “P1” system needs to be continually
available, with zero downtime
Platform (HMP)
• Allows Cisco to manage master data centrally, and centralize
data access and business rules
• Neo4j provided “Minutes to Milliseconds” performance over
Oracle RAC, serving master data in real time
• The graph database model provided exactly the flexibility
needed to support Cisco’s business rules
• HMP so successful that it has expanded to
include product hierarchy
54. Industry: Logistics
Use case: Parcel Routing
• One of the world’s largest logistics carriers
• Projected to outgrow capacity of old system
• New parcel routing system
• Single source of truth for entire network
• B2C & B2B parcel tracking
• Real-time routing: up to 5M parcels per day
• 24x7 availability, year round
• Peak loads of 2500+ parcels per second
• Complex and diverse software stack
• Need predictable performance & linear scalability
• Daily changes to logistics network: route from any point,
to any point
• Neo4j provides the ideal domain fit:
• a logistics network is a graph
• Extreme availability & performance with Neo4j clustering
• Hugely simplified queries, vs. relational for complex routing
• Flexible data model can reflect real-world data variance much
better than relational
• “Whiteboard friendly” model easy to understand
55. Industry: Online Job Search
Use case: Social / Recommendations
Sausalito, CA
GlassDoor
S_AT
WORK
• Online jobs and career community, providing anonymized
Company
Company
Person
Person
Person
Person
WS
KNO
KN
OW
S
inside information to job seekers
KN
OW
S
Person
Person
WORKS_AT
Company
Company
• Wanted to leverage known fact that most jobs are found
• First-to-market with a product that let users find jobs through
through personal & professional connections
• Needed to rely on an existing source of social network
data. Facebook was the ideal choice.
• End users needed to get instant gratification
• Aiming to have the best job search service, in a very
competitive market
their network of Facebook friends
• Job recommendations served real-time from Neo4j
• Individual Facebook graphs imported real-time into Neo4j
• Glassdoor now stores > 50% of the entire Facebook social
graph
• Neo4j cluster has grown seamlessly, with new instances being
brought online as graph size and load have increased
56. Industry: Communications
Use case: Network Management
Paris, France
SFR
Service
Service
ON
S_
ND
PE
DE
ND
S_O
N
DEP
E
S_ON
LIN
KE
D
Router
Router
LINKED
Switch
Switch
DEP
E
N
DS_O
Switch
Switch
N
DEPE
D
DEPENDS_ON
DS
_O
N
D
DEPEN
Router
Router
KE
LIN
• Second largest communications company in France
• Part of Vivendi Group, partnering with Vodafone
DE
PE
N
ND
S_O
N
DEPENDS_ON
DEPENDS_ON
Fiber
Fiber
Link
Link
Fiber
Fiber
Link
Link
DEPENDS_ON
Fiber
Fiber
Link
Link
DEPENDS_ON
Oceanfloor
Oceanfloor
Cable
Cable
• Infrastructure maintenance took one full week to plan,
• Flexible network inventory management system, to support
because of the need to model network impacts
• Needed rapid, automated “what if” analysis to ensure
resilience during unplanned network outagesIdentify
weaknesses in the network to uncover the need for
additional redundancy
• Network information spread across > 30 systems, with
daily changes to network infrastructureBusiness needs
sometimes changed very rapidly
modeling, aggregation & troubleshooting
• Single source of truth (Neo4j) representing the entire network
• Dynamic system loads data from 30+ systems, and allows new
applications to access network data
• Modeling efforts greatly reduced because of the near 1:1
mapping between the real world and the graph
• Flexible schema highly adaptable to changing business
requirements
57. Industry: Web/ISV, Communications
Use case: Network Management
Global (U.S., France)
Hewlett Packard
• World’s largest provider of IT infrastructure, software &
services
• HP’s Unified Correlation Analyzer (UCA) application is a
key application inside HP’s OSS Assurance portfolio
• Carrier-class resource & service management, problem
determination, root cause & service impact analysis
• Helps communications operators manage large, complex
and fast changing networks
• Use network topology information to identify root
problems causes on the network
• Simplify alarm handling by human operators
• Automate handling of certain types of alarms
• Help operators respond rapidly to network issues
• Filter/group/eliminate redundant Network Management
System alarms by event correlation
• Accelerated product development time
• Extremely fast querying of network topology
• Graph representation a perfect domain fit
• 24x7 carrier-grade reliability with Neo4j HA clustering
• Met objective in under 6 months
58. Industry: Communications
Use case: Resource Authorization & Access Control
Oslo, Norway
Telenor
User
User
USER_ACCESS
Customer
Customer
• 10th largest Telco provider in the world, leading in the
Nordics
• Online self-serve system where large business admins
manage employee subscriptions and plans
• Mission-critical system whose availability and
responsiveness is critical to customer satisfaction
PART_OF
Customer
Customer
CONTROLLED_BY
Account
Account
SUBSCRIBED_BY
Subscripti
Subscripti
on
on
• Degrading relational performance. User login taking
minutes while system retrieved access rights
• Millions of plans, customers, admins, groups.
Highly interconnected data set w/massive joins
• Nightly batch workaround solved the performance
problem, but meant data was no longer current
• Primary system was Sybase. Batch pre-compute
workaround projected to reach 9 hours by 2014: longer
than the nightly batch window
• Moved authorization functionality from Sybase to Neo4j
• Modeling the resource graph in Neo4j was straightforward, as
the domain is inherently a graph
• Able to retire the batch process, and move to real-time
responses: measured in milliseconds
• Users able to see fresh data, not yesterday’s
snapshotCustomer retention risks fully mitigated
59. Industry: Web/ISV, Communications
Use case: Data Center Management
Zürich, Switzerland
Junisphere
• Junisphere AG is a Zurich-based IT solutions provider
• Founded in 2001.
• Profitable.
• Self funded.
• Software & services.
• Novel approach to infrastructure monitoring:
Starts with the end user, mapped to business processes
and services, and dependent infrastructure
• “Business Service Management” requires mapping of
• Actively sought out a Java-based solution that could store data
complex graph, covering: business processes--> business
services--> IT infrastructure
• Embed capability of storing and retrieving this information
into OEM application
• Re-architecting outdated C++ application based on
relational database, with Java
as a graph
• Domain model is reflected directly in the database:“No time
lost in translation”
• “Our business and enterprise consultants now speak the same
language, and can model the domain with the database on a
1:1 ratio.”
• Spring Data Neo4j strong fit for Java architecture
60. Industry: Education
Use case: Resource Authorization & Access Control
San Francisco, CA
Teachscape
• Teachscape, Inc. develops online learning tools for K-12
teachers, school principals, and other instructional leaders.
• Teachscape evaluated relational as an option, considering
MySQL and Oracle.
• Neo4j was selected because the graph data model
provides a more natural fit for managing organizational
hierarchy and access to assets.
• Domain and technology fit
• Neo4j was selected to be at the heart of a new
architecture. The user management system, centered
around Neo4j, will be used to support single sign-on, user
management, contract management, and end-user access
to their subscription entitlements.
•
•
•
•
•
•
•
simple domain model where the
relationships are relatively complex.
Secondary factors included support for transactions, strong Java
support, and well-implemented Lucene indexing integration
Speed and Flexibility The business depends on being able to do
complex walks quickly and efficiently. This was a major factor in the
decision to use Neo4j.
Ease of Use accommodate efficient access for home-grown and
commercial off-the-shelf applications, as well as ad-hoc use.
Extreme availability & performance with Neo4j clustering
Hugely simplified queries, vs. relational for complex routing
Flexible data model can reflect real-world data variance much better
than relational
“Whiteboard friendly” model easy to understand
61. Really, once you start
thinking in graphs
it's hard to stop
What will you build?
Recommendations
MDM
Business intelligence
Geospatial
catalogs
Systems
access control Social computing Management
your brain
Biotechnology
routing
genealogy
linguistics
Making Sense of all that
compensation data
market vectors
7
4
63. Cypher - overview
๏
a pattern-matching query language
๏ declarative grammar with clauses (like SQL)
๏ aggregation, ordering, limits
๏ create, update, delete
7
7
64. Cypher: START +
๏
RETURN
๏
START <lookup> RETURN <expressions>
START binds terms using simple look-up
•directly using known ids
•or based on indexed Property
๏ RETURN expressions specify result set
// lookup node id 0, return that node
start n=node(0) return n
// lookup node in Index, return that node
start n=node:Person(name="Andreas") return n
// lookup all nodes, return all name properties
start n=node(*) return n.name
7
8
65. Cypher: MATCH
๏ START <lookup> MATCH <pattern> RETURN <expr>
๏ MATCH describes a pattern of nodes+relationships
•node terms in optional parenthesis
•lines with arrows for relationships
// lookup 'n', traverse any relationship to some 'm'
start n=node(0) match (n)--(m) return n,m
// any outgoing relationship from 'n' to 'm'
start n=node(0) match n-->m return n,m
// only 'KNOWS' relationships from 'n' to 'm'
start n=node(0) match n-[:KNOWS]->m return n,m
// from 'n' to 'm' and capture the relationship as 'r'
start n=node(0) match n-[r]->m return n,r,m
// from 'n' outgoing to 'm', then incoming from 'o'
start n=node(0) match n-->m<--o return n,m,o
7
9
66. Cypher: WHERE
๏ START <lookup> [MATCH <pattern>]
๏ WHERE <condition> RETURN <expr>
๏ WHERE filters nodes or relationships
•uses expressions to constrain elements
// lookup all nodes as 'n', constrained to name 'Andreas'
start n=node(*) where n.name='Andreas' return n
// filter nodes where age is less than 30
start n=node(*) where n.age<30 return n
// filter using a regular expression
start n=node(*) where n.name =~ /Tob.*/ return n
// filter for a property exists
start n=node(*) where has(n.name) return n
8
0
67. Cypher: CREATE
๏ CREATE <node>[,node or relationship] RETURN
<expr>
•create nodes with optional properties
•create relationship (must have a type)
// create an anonymous node
create n
// create node with a property, returning it
create n={name:'Andreas'} return n
// lookup 2 nodes, then create a relationship and return it
start n=node(0),m=node(1) create n-[r:KNOWS]-m return r
// lookup nodes, then create a relationship with properties
start n=node(1),m=node(2) create n-[r:KNOWS {since:2008}]->m
8
1
68. Cypher: SET
๏ SET [<node property>] [<relationship property>]
•update a property on a node or relationship
•must follow a START
// update the name property
start n=node(0) set n.name='Peter'
// update many nodes, using a calculation
start n=node(*) set n.size=n.size+1
// match & capture a relationship, update a property
start n=node(1) match n-[r]-m set r.times=10
8
2
69. Cypher: DELETE
๏ DELETE [<node>|<relationship>|<property>]
•delete a node, relationship or property
•must follow a START
•to delete a node, all relationships must be deleted
first
// delete a node
start n=node(5) delete n
// remove a node and all relationships
start n=node(3) match n-[r]-() delete n, r
// remove a property
start n=node(3) delete n.age
8
3
73. Scaling on a single server
๏ data size can increase into the billions
๏ however
• performance relies on memory caches
• server must be taken offline for backups
• single point of failure
๏ For 24x7 production, it's time to introduce HA
8
7
74. High Availability
๏ master-slave replication
• read/write to any cluster member
• slave writes commit to master first (redundancy)
• master writes are faster
• all writes propagate to slaves (polling interval)
8
8
75. High Availability
๏ automatic fail-over
• any cluster member can be elected master
• on failure, a new master will be automatically elected
• a failed master can re-join as a slave
• automatic branch detection & resolution
8
9
76. High Availability
๏ online backups
• backup pulls updates directly from live cluster
• backup is a full, directly useable Neo4j database
๏ to restore: shutdown cluster, distribute backup, restart
9
0
78. 1. Healthy Relationships
๏ replace many-to-many join tables...
Language
Country
LanguageCountry
language_code
language_code
country_code
language_name
country_code
country_name
word_count
primary
flag_uri
๏ ...with a relationship in the graph
Language
name
code
word_count
Country
IS_SPOKEN_IN
as_primary
name
code
flag_uri
9
2
79. 2. Property Lists
๏ Don’t try to embed multiple values into a single property
๏ That makes it harder to traverse using these values
name: “Canada”
languages_spoken: “[ ‘English’, ‘French’ ]”
๏ Instead, extract “list” values into separate nodes
name: “Canada”
spoken_in
language: “English”
spoken_in
language: “French”
spoken_in
spok
en_i
n
name: “USA”
name: “France”
9
3
80. 3. One Concept Per Node
Country
๏ Don’t bundle multiple concepts
name
flag_uri
language_name
number_of_words
yes_in_langauge
๏ Instead, break out the separate concepts...
no_in_language
currency_code
currency_name
Country
Language
name
name
flag_uri
SPEAKS
number_of_words
yes
no
Currency
code
name
USES_CURRENCY
9
4
81. 3 Lessons Learned
๏ Use Relationships
๏ Use Relationships
๏ Use Relationships
9
5