SlideShare a Scribd company logo
How Medium uses Neo4j
Nathaniel Felsen
May 20th, 2015
About Me
Nathaniel Felsen
Data & DevOps engineer
nathanielfelsen
n@medium.com
@faitlezen
Agenda
• What is Medium and what problem we are solving through Neo4j ?
• Why did we pick Neo4j ?
• Our architecture
• Steps taken and obstacles encountered while going live
• Improve Neo4j’s performances
• Live Demo
• Easiest, fastest way to create a
beautiful story
• Seamless integration of photos,
audio & video
• Optimized for web, tablet &
mobile
Medium is a beautiful
publishing experience.
Medium is a home for
influential contributors.
Medium is a place for
important ideas.
• Follow, share, recommend
• Personalized story feed
• Customized daily emails &
notifications
Medium is a network that
builds audience.
Datastore Selection Process
DynamoDB
• Need to nail the schema ≠ Experimentation
• Limited ways of querying data
• Things like short path between users won’t
perform well
Pros
• Expertise
• Already used to store user info
• No maintenance
• No hardware
Cons
• Using Relational database to
create graphs
• Sharding
Pros
• Used by lots of people and
heavily vetted.
• Less rampup for learning
querying language.
• Strong community.
Cons
Pros
Flock DB
• Not maintained anymore
• 2 tiers model
• Deal with sharding in the near
future
• Expertise
• SQL Lite syntax
• Open Source / Free
Cons
• Not free
• No expertise in house
• Requires hardware
Pros
• Easy to start
• Easy to experiment
• Good community
• Enteprise edition: HA, Backup, Support
Cons
Architecture
Our Social Service Architecture
Nodes
• User
• Post
• Collection
Relationships
• Edited
• Wrote
• Published
• Recommended
• Followed
• …
Use queues for the
writes
Write are done to the master only
If you lose your master, you need
to wait for a new election
Productionising Neo4j
Capacity planning
Initial Data Import
Metrics / Monitoring
• Architecture
• Systems
• Neo4j
• Dataset
• Java
• Services that interact with Neo4j
Logs aggregation /
Indexing
• ElasticSearch
• Logstash
• Logstash forwarder
• Kibana
Backups
• Incremental Backup
• Full Backup
Runbook / Playbook
Getting optimal performance with
Neo4j
Talk to the support
What Neo4j is good and not as good at
Long Traversal Where NOT Dense / Super Node
Cypher Tricks
http://watch.neo4j.org/video/84900121
Tune the configuration
over time
• Java Garbage collection (stop the world)
• Neo4j settings
Cache Settings
Neo4J2.0and2.1
Neo4J2.2
Server Plugins & Unmanaged Extensions
• Easy to Deploy
• The server’s functionality can be extended by adding plugins.
• RESTful Web Services (JAX-RS)
• Put more logic in the code like caching
• Sharp tool
Demo
Followers who recommended a story
Top Recommended stories
People Recommended to follow
How medium uses Neo4j
Collaborative Filtering
n@medium.com
Questions ? Feedback ?

More Related Content

PPTX
The Digital Insurer Award - FWD (chatbot)
PPTX
DBT ELT approach for Advanced Analytics.pptx
PDF
The Path To Success With Graph Database and Analytics
PDF
Implementing ITIL® Service Strategy Through Enterprise Architecture
PPTX
Inside open metadata—the deep dive
PDF
Tableau And Data Visualization - Get Started
PDF
Simplify and Scale Data Engineering Pipelines with Delta Lake
PDF
Enterprise Digital Transformation Powerpoint Presentation Slides
The Digital Insurer Award - FWD (chatbot)
DBT ELT approach for Advanced Analytics.pptx
The Path To Success With Graph Database and Analytics
Implementing ITIL® Service Strategy Through Enterprise Architecture
Inside open metadata—the deep dive
Tableau And Data Visualization - Get Started
Simplify and Scale Data Engineering Pipelines with Delta Lake
Enterprise Digital Transformation Powerpoint Presentation Slides

What's hot (20)

PDF
[XConf Brasil 2020] Data mesh
PDF
Intro to Graphs and Neo4j
PPTX
The Revenue Operations to Revenue Acceleration Framework Every Modern Busines...
PDF
Data Visualization Using PowerBI.pdf
PDF
RAPIDS Overview
PDF
White Paper - Data Warehouse Documentation Roadmap
PDF
アサヒのデータ活用基盤を支えるデータ仮想化技術
PPTX
Data Lakehouse Symposium | Day 4
PPTX
Data Mesh in Azure using Cloud Scale Analytics (WAF)
PDF
Mdm: why, when, how
PDF
Power BI vs Tableau vs Cognos: A Data Analytics Research
PPTX
How Apache Spark and Apache Hadoop are being used to keep banking regulators ...
PPTX
You Need a Data Catalog. Do You Know Why?
PDF
Journey data driven organization
PPTX
Sisesnse Business Intelligence Tool
PDF
Sopra Steria: Intelligent Network Analysis in a Telecommunications Environment
PDF
Data Mesh in Practice: How Europe’s Leading Online Platform for Fashion Goes ...
PPTX
Demystifying Graph Neural Networks
PDF
What Is Power BI? | Introduction To Microsoft Power BI | Power BI Training | ...
PDF
3 Kafka patterns to deliver Streaming Machine Learning models with Andrea Spi...
[XConf Brasil 2020] Data mesh
Intro to Graphs and Neo4j
The Revenue Operations to Revenue Acceleration Framework Every Modern Busines...
Data Visualization Using PowerBI.pdf
RAPIDS Overview
White Paper - Data Warehouse Documentation Roadmap
アサヒのデータ活用基盤を支えるデータ仮想化技術
Data Lakehouse Symposium | Day 4
Data Mesh in Azure using Cloud Scale Analytics (WAF)
Mdm: why, when, how
Power BI vs Tableau vs Cognos: A Data Analytics Research
How Apache Spark and Apache Hadoop are being used to keep banking regulators ...
You Need a Data Catalog. Do You Know Why?
Journey data driven organization
Sisesnse Business Intelligence Tool
Sopra Steria: Intelligent Network Analysis in a Telecommunications Environment
Data Mesh in Practice: How Europe’s Leading Online Platform for Fashion Goes ...
Demystifying Graph Neural Networks
What Is Power BI? | Introduction To Microsoft Power BI | Power BI Training | ...
3 Kafka patterns to deliver Streaming Machine Learning models with Andrea Spi...
Ad

Similar to How medium uses Neo4j (20)

PDF
How can i... reduce my backup window.
PPTX
Chicago HUG Presentation Oct 2011
PPTX
OpenStack Doc Overview for Boot Camp
PDF
USG Rock Eagle 2017 - PWP at 1000 Days
PPTX
Don't get blamed for your choices - Techorama 2019
PPTX
You've Got No UI?! (Agile Data Teams)
PPTX
Breaking it Down: Microservices Architecture for PHP Developers
PPTX
Embracing OSS in the enterprise
PPTX
Community IT innovators Webinar - Taking another look at SharePoint
PPTX
NDC London 2020 - Challenges of Managing CoreFx Repo -- Karel Zikmund
PPT
Movingto moodle2 v1 1
PPTX
PDF
AD1545 - Extending the XPages Extension Library
PDF
Open-source Mic Talks at AOL
PDF
Atmosphere Conference 2015: Service Operations Evolution at Spotify
PDF
Prototyping like it is 2022
PPTX
Design Reviews for Operations - Velocity Europe 2014
PPTX
Guide to open source
PDF
TERMINALFOUR t44u 2012 - Support and Extranet developments
PDF
Jeremy Engle's slides from Redshift / Big Data meetup on July 13, 2017
How can i... reduce my backup window.
Chicago HUG Presentation Oct 2011
OpenStack Doc Overview for Boot Camp
USG Rock Eagle 2017 - PWP at 1000 Days
Don't get blamed for your choices - Techorama 2019
You've Got No UI?! (Agile Data Teams)
Breaking it Down: Microservices Architecture for PHP Developers
Embracing OSS in the enterprise
Community IT innovators Webinar - Taking another look at SharePoint
NDC London 2020 - Challenges of Managing CoreFx Repo -- Karel Zikmund
Movingto moodle2 v1 1
AD1545 - Extending the XPages Extension Library
Open-source Mic Talks at AOL
Atmosphere Conference 2015: Service Operations Evolution at Spotify
Prototyping like it is 2022
Design Reviews for Operations - Velocity Europe 2014
Guide to open source
TERMINALFOUR t44u 2012 - Support and Extranet developments
Jeremy Engle's slides from Redshift / Big Data meetup on July 13, 2017
Ad

Recently uploaded (20)

PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
KodekX | Application Modernization Development
PPTX
Cloud computing and distributed systems.
PDF
Encapsulation theory and applications.pdf
PPTX
Big Data Technologies - Introduction.pptx
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Electronic commerce courselecture one. Pdf
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Machine learning based COVID-19 study performance prediction
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Network Security Unit 5.pdf for BCA BBA.
Building Integrated photovoltaic BIPV_UPV.pdf
Diabetes mellitus diagnosis method based random forest with bat algorithm
The Rise and Fall of 3GPP – Time for a Sabbatical?
Digital-Transformation-Roadmap-for-Companies.pptx
NewMind AI Monthly Chronicles - July 2025
KodekX | Application Modernization Development
Cloud computing and distributed systems.
Encapsulation theory and applications.pdf
Big Data Technologies - Introduction.pptx
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
“AI and Expert System Decision Support & Business Intelligence Systems”
The AUB Centre for AI in Media Proposal.docx
Electronic commerce courselecture one. Pdf
MYSQL Presentation for SQL database connectivity
Unlocking AI with Model Context Protocol (MCP)
Machine learning based COVID-19 study performance prediction
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Network Security Unit 5.pdf for BCA BBA.

How medium uses Neo4j