Database for iOS, Android and Web that synchronizes?


(Petegerhat) #1

I am looking for a database that allows synchronization between Mobile (iOS, Android) and the Web. The application is built in React Native and in React.js respectively.

  • Implementation should be the same for both Mobile and Web
  • Synchronization should be as easy as possible
  • The data has lots of relations, therefore an ORM functionality according to a DB-schema and support for SQL-like querying would be desirable in comparison to using just plain JSON the way it is done in Redux (considering redux-orm with some querying language)

Alternatives considered so far:

CouchDB http://couchdb.apache.org/ + PouchDB https://pouchdb.com/

For iOS, Android, Web (as PouchDB); Server (as CouchDB)
NoSQL with Mango language for basic queries
Features:

  • Offline-first
  • Automatic 2-way Synchronization
  • On-premise hosting
  • Open source
  • Mango queries seem basic (missing JOINs)
  • DB-Schema only as Plugin

Realm.io https://realm.io

For iOS, Android, Web; Server
NoSQL with GraphQL for relational queries
Features:

  • Offline-first
  • Automatic 2-way Synchronization
  • On-premise hosting
  • Open source
  • GraphQL provides a variety of queries (including JOINs)
  • Built in DB-Schema

(Gary Fung) #2

I’ve been/is considering various choices, so add these to your list (for consideration):

  • AWS AppSync (based on Apollo graphql client)
  • Google Firebase (Firestore, more specifically)
  • Realm which you already named

(James Byrne ) #3

Redux Offline might suit your needs nicely, it should allow you to use a Relational DB as the backend. Otherwise Orbitjs could work as well.