适用于Android的可远程访问的RDBMS和后端

时间:2014-03-15 19:09:19

标签: java android sql rdbms

我正在开发一个Android应用程序,用于为主要关注以用户为中心的设计和UI(这主要意味着我们必须快速实施所有逻辑和管理)的课程提供和声明某些项目(某种市场)下面)。

这是我的第一个有效需要发货的应用程序。所以现在我想知道关于 R DBMS的最佳策略和最佳决策是什么(因为这个区域对于一些新手来说似乎是一个非常密集的森林)?

  • 该应用程序不会定位&gt;总共<1000个用户
  • 可远程访问
  • 需要支持交易和ACID属性
  • 必须可以进行SQL查询

其次必须远程联系DMBS。所以我想知道是否有一种即插即用(blackbox)解决方案可用于设置后端(免费/廉价,少数实现,......)。

  • 可扩展性,可用性和安全性不是真正的问题(目前)

2 个答案:

答案 0 :(得分:1)

首先,您需要决定Android设备如何与中央数据库通信。选项,从最简单到最难:

  • 直接JDBC连接(通过TCP)。某些网络可能会阻止直接TCP连接。没有离线功能。
  • 通过HTTP(S)隧道JDBC。没有离线功能。
  • 在Android(Sqlite)上运行本地数据库,并在可以(允许离线)时同步到远程数据库。请参见SymmetricDS。
  • 将REST API放在远程数据库前面,并使用android的内置同步功能。

其次,您需要决定如何在用户之间隔离远程数据库数据:

  • 没有隔离,用户可以做他们想要的其他数据。
  • 数据库隔离,又名行级安全性
  • 应用程序隔离(数据库中没有隔离,但是在您的REST API中控制隔离)

如果从问题1中选择选项A,B或C,则需要数据库隔离。

远程数据库的并发编写器数量是多少?

PostgreSQL现在是一个很好的选择,但是如果你需要行级安全性,MariaDB可能是更好的选择,因为它支持WITH CHECK OPTION子句,直到夏天它才会进入PostgreSQL。

答案 1 :(得分:1)

不完全确定你的具体要求,因为你可以通过谷歌搜索一些东西获得大量信息。但是如果你想看看几个谷歌选项。我没有尝试过所有这些盐: