When to use graph databases

NoSQL Concepts

Miriam Antona

Software engineer

Suitable cases - General information

  • Highly connected data
NoSQL Concepts

Suitable cases - Social graphs

  • Social networks
    • Users and their relationships
    • Posts
    • Likes
    • ...
  • Employees of a company
    • Projects
    • Relationships between the employees

General representation of a social graph.

NoSQL Concepts

Suitable cases - Infectious diseases

  • Model:
    • Interactions between people
    • Contact events
    • Exposures
  • Help to understand transmission chains

Image of the Covid in the world.

NoSQL Concepts

Suitable cases - Location services

  • Locations and distances
  • Optimize the routes for navigation applications
  • Recommendations for nearby points of interest:
    • restaurants
    • cinemas
    • hospitals
    • etc.

Image of a route displayed in a smartphone.

NoSQL Concepts

Suitable cases - Fraud detection

  • Stop fraud in real-time:
    • Credit card fraud
    • E-commerce fraud
    • Money laundering
  • Model: individuals, credit cards, phone numbers, devices, IP addresses...
  • Uncover suspicious patterns:
    • multiple users coming from the same IP
    • ...

Image of a thief.

NoSQL Concepts

Suitable cases - Real-time recommendations

  • Store buying history and browsing behavior to recommend an item
  • Offer an item to a friend
  • Show unwatched movies based on similar users

Picture of a real-time recommendation.

NoSQL Concepts

Suitable cases - Networks

  • Storage of relationships between networks and infrastructure elements
    • physical machines
    • virtual machines
    • applications
    • routers
    • switches
    • ...
  • Alert in real-time about potential design flaws

Picture of network cables.

NoSQL Concepts

Unsuitable cases

  • Disconnected data
  • Relationships between the data are not important
  • Applications that only perform general searches without a specific starting point
    • Are not optimized for those queries
  • Properties that contain extremely large values (BLOBs, CLOBs...)
NoSQL Concepts

Let's practice!

NoSQL Concepts

Preparing Video For Download...