Matthias
Matthias

Reputation: 4677

Remotely accessible RDBMS and backend for Android

I'm developping an Android application for offering and claiming certain items (sort of a market) for a course that mainly focusses on user-centered design and the UIs (which mostly means we have to quickly implement all the logic and management underneath).

It's my first application that effectively needs to be shipped. So now I wonder what are the best strategies and best decisions regarding the R DBMS (because this area seems a very dense forest for some newbies) ?

Secondly the DMBS must be contacted remotely. So I wonder if there's a sort of plug and play (blackbox) solution available for setting up the backend (free/cheap, few implementations, ...).

Upvotes: 0

Views: 394

Answers (2)

Neil McGuigan
Neil McGuigan

Reputation: 48287

First you need to decide how the android devices will talk to the central database. Options, from easiest to hardest:

  • Direct JDBC connection (over TCP). Some networks might block direct TCP connections. No offline capability.
  • Tunnel JDBC over HTTP(S). No offline capability.
  • Run a local database on Android (Sqlite) and synchronize to remote database when can (allows for offline). See SymmetricDS.
  • Put REST API in front of remote database and use android's built-in syncing capability.

Second you need to decide how to segregate remote database data between users:

  • No segregation, users can do what they want to others data.
  • Database segregation, aka Row-Level Security
  • Application segregation (no segregation in database, but control segregation in say your REST API)

You need database segregation if choosing options A, B or C from question 1.

How many concurrent writers for remote database?

PostgreSQL is a great choice these days, but MariaDB might be a better choice if you require row-level security as it supports the WITH CHECK OPTION clause, which isn't coming in PostgreSQL until the summer.

Upvotes: 1

cbrulak
cbrulak

Reputation: 15639

Not entirely sure what you are specifically asking because you can get a lot of info just by googling a few things. But if you might want to look at couple of google options. I haven't tried all of these so grain of salt:

Upvotes: 1

Related Questions