使用OneDrive或Dropbox的作为数据库

问题描述 投票:6回答:1

首先,这不是任何of these questions,使用单一的保管箱帐户作为一个多用户应用的后端,其讨论重复

我建立的应用程序,主要是在Windows Phone和Windows应用商店的屈指可数,而有其它更多的作品。

我经常发现自己想要添加数据synching到这些应用程序,设备间,但对于同一个用户。我的应用程序通常是免费或非常便宜,我买不起掏钱钱数据库托管服务器。我有一些有限的空间数据库,我可以使用付费的托管帐户,但在(不可能),我的应用程序之一变成了巨大的成功,我突然卡住了大量的托管费用。在这种情况下,我不得不突然开始向用户收费是以前免费的,或者更糟的重复量的应用程序,已经支付。

我继续回来这个想法使用OneDrive,或Dropbox的,或其他一些免费的云托管的数据库。以下是我看到它的工作。

比方说,我们有一个名为Jobbie待办事项应用

  • 用户安装Jobbie两台设备上
  • 用户登录到OneDrive两个设备上,创造了自己的OneDrive文件夹中的“jobbie”同步文件夹
  • 在设备A,用户创建了一个新的待办事项“拿起干洗”
  • 设备A上传文本文件的名称为“20153001-pick_up_dry_cleaning.item”到OneDrive。
  • 设备B扫描的文件夹,找到一个新的文件,并将其添加到本地数据库
  • 在设备B上,用户标记“拿起干洗”为“完成”,并将该文件重命名为“x20153001 - pick_up_dry_cleaning.item”(或删除)
  • 设备A扫描的文件夹,看到该项目已被重命名(或删除),并从本地数据库中删除

我用这种方法看到的显而易见的问题是

  1. 项目仅限于255 - 9个字符(9 xYYYYMMDD保留),除非你想下载的每个这将是非常缓慢的文件
  2. 没有锁定

除了这两个问题,在那里我可能会面临实施这样的系统中的任何其他问题?

PS:我也认为是覆盖与本地副本存储SQLite的文件,但我想这将是太多数据开销为移动设备

UPDATE

我已经接受了以下彼得尼德的答案,它指出了我可能会用这样的系统,它回答我的问题遇到的问题。然而,Smarx在Dropbox的有一个免费的数据存储区API,我可以用我的应用程序的评论中指出。这似乎是比试图实现对文件系统上我自己的数据存储一个更好的解决办法,所以我与去。

UPDATE 2

数据存储区API被废弃了短短3个月,我更新了帖子后,因此其不再可用。幸运的是,我还没有开始在这一点上反对发展。您可以使用Dropbox的为标准平面文件存储很容易,但如果你想要做的任何种类的同步你必须推出自己的

database network-programming dropbox onedrive
1个回答
1
投票

虽然OneDrive和Dropbox有办法来存储文件信息,并确保使用ETag / C标签的一致性一些水平,建立在这些基于文件系统的顶部将是很难提供的数据分区,事务和冲突管理。这将是很酷,但我怀疑这会是便宜(时间方式)或无bug。

使用已构建的服务为您提供的功能进行数据存储将是你最好的选择。还有在服务,这将使您能够将信息存储数据库的访问众人众人。如微软的Azure产品线,亚马逊的AWS和其他许多人专门从事跨多个平台同步保存数据产品。

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.