Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Does any of the Firebase databases support graphs

Does any of the firebase database types (Firestore, Realtime DB, Firebase Storage) support graph like data modeling?

If not is there any graph database which can be integrated with firebase databases (like JanusGraph integrates BigTable as a back-end data store)?

like image 206
Sanka Darshana Avatar asked Dec 03 '17 16:12

Sanka Darshana


People also ask

What are the different data models available on Firebase?

Users of Firebase can choose either Realtime Database or Cloud Firestore for their app project. These are the two data models available on Firebase. Let’s take a look at these platforms one after the other. This database is more recent and stores data in collections that can contain data fields or subcollections.

What is the Firebase Realtime Database?

The Firebase Realtime Database is a cloud-hosted database. Data is stored as JSON and synchronized in realtime to every connected client. When you build cross-platform apps with our iOS, Android,...

How is data synced with Firebase NoSQL?

Store and sync data with our NoSQL cloud database. Data is synced across all clients in realtime, and remains available when your app goes offline. The Firebase Realtime Database is a cloud-hosted database. Data is stored as JSON and synchronized in realtime to every connected client.

What do you like most about Firebase?

Besides, Firebase applications can be accessed directly from the client side. The realtime database service is basically a NoSQL JSON database, like MongoDB. It has several features such as offline support, data validation, and security rules. Personally, I think that the most interesting feature is the realtime data synchronization.


1 Answers

None of the Firebase data stores use graph database technology. Both Firestore and Realtime DB are NoSQL JSON document stores. However, it is possible to build a graph data model in Firestore. The article Graph Data with Firebase is a description of how to achieve this and there are many others.

Graphs, quite simply, are a way to model complex relationships between many objects. A graph is a collection of nodes (also known as vertices) and edges (also known as links). A node is merely an abstract data point and it can represent anything such as a person, a computer, a building, or an intersection. An edge connects two nodes and can optionally be directional. Information only flows one way.

The challenge is querying your graph. For some use cases, Firestore queries might be sufficient. However, powerful querying languages like Gremlin or Cypher are only available on true graph databases like Amazon Neptune or Neo4j.

Also, note that GraphQL just provides a query language for existing APIs and is completely unrelated to graph databases or data models.

like image 121
jambrose Avatar answered Oct 22 '22 14:10

jambrose