热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

使用OneDrive或Dropbox作为数据库

如何解决《使用OneDrive或Dropbox作为数据库》经验,有好办法吗?

首先,这不是任何一个重复的 这些 问题,其讨论使用单一的Dropbox帐户作为多用户应用的后端

我已经构建了一些应用程序,主要是在Windows Phone和Windows Store上,还有更多的应用程序正在进行中.

我经常发现自己想要在设备之间添加数据同步到同一用户.我的应用程序通常是免费或非常便宜的,我无法支付数据库托管服务器的钱.我确实有一个付费的主机帐户,我可以使用一些有限的数据库空间,但在(不太可能)的事件中,我的一个应用程序成为一个失控的成功我突然陷入了一个大的托管账单.在这种情况下,我不得不突然开始向用户收取以前免费或更糟糕已经付费的应用的经常性金额.

我一直回到这个使用OneDrive,Dropbox或其他免费云托管作为数据库的想法.这是我看到它的工作方式.

让我们说我们有一个名为Jobbie的待办事项应用程序

用户在两台设备上安装Jobbie

用户在两台设备上登录OneDrive,在其OneDrive文件夹中创建"jobbie"同步文件夹

在设备A上,用户创建一个新的待办事项"拾取干洗"

设备A将文本文件上载到OneDrive,名称为"20153001-pick_up_dry_cleaning.item".

设备B扫描文件夹,查找新文件,并将其添加到本地数据库

在设备B上,用户将"拾取干洗"标记为"已完成",并将文件重命名为"x20153001-pick_up_dry_cleaning.item"(或删除)

设备A扫描文件夹,看到项目已重命名(或删除)并将其从本地数据库中删除

我用这种方法看到的明显问题是

    项目限制为255 - 9个字符(9个字符为xYYYYMMDD保留),除非你想下载每个文件很慢

    没有锁定

除了这两个问题,我可能面临实施这样一个系统的其他问题吗?

PS:我还考虑用本地副本覆盖存储的SQLite文件,但我认为这对于移动设备来说会是太多的数据开销

UPDATE

我接受了下面的Peter Nied的回答,其中指出了我可能遇到的问题,这个系统回答了我的问题.但是,Smarx在评论中指出Dropbox有一个免费的数据存储API,我可以用它来为我的应用程序.这似乎是一个比尝试在文件系统上实现我自己的数据存储区更好的解决方案,所以我将继续这样做.

更新2

数据存储区API在我更新帖子后仅3个月就已弃用,因此不再可用.幸运的是,那时我还没有开始反对它.您可以非常轻松地将Dropbox用作标准的平面文件存储,但如果您想进行任何类型的同步,则必须自行滚动


推荐阅读
  • 本文详细介绍了SQL日志收缩的方法,包括截断日志和删除不需要的旧日志记录。通过备份日志和使用DBCC SHRINKFILE命令可以实现日志的收缩。同时,还介绍了截断日志的原理和注意事项,包括不能截断事务日志的活动部分和MinLSN的确定方法。通过本文的方法,可以有效减小逻辑日志的大小,提高数据库的性能。 ... [详细]
  • 本文讨论了在数据库打开和关闭状态下,重新命名或移动数据文件和日志文件的情况。针对性能和维护原因,需要将数据库文件移动到不同的磁盘上或重新分配到新的磁盘上的情况,以及在操作系统级别移动或重命名数据文件但未在数据库层进行重命名导致报错的情况。通过三个方面进行讨论。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 本文详细介绍了MysqlDump和mysqldump进行全库备份的相关知识,包括备份命令的使用方法、my.cnf配置文件的设置、binlog日志的位置指定、增量恢复的方式以及适用于innodb引擎和myisam引擎的备份方法。对于需要进行数据库备份的用户来说,本文提供了一些有价值的参考内容。 ... [详细]
  • 使用Ubuntu中的Python获取浏览器历史记录原文: ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • CentOS 6.5安装VMware Tools及共享文件夹显示问题解决方法
    本文介绍了在CentOS 6.5上安装VMware Tools及解决共享文件夹显示问题的方法。包括清空CD/DVD使用的ISO镜像文件、创建挂载目录、改变光驱设备的读写权限等步骤。最后给出了拷贝解压VMware Tools的操作。 ... [详细]
  • 本文介绍了将mysql从5.6.15升级到5.7.15的详细步骤,包括关闭访问、备份旧库、备份权限、配置文件备份、关闭旧数据库、安装二进制、替换配置文件以及启动新数据库等操作。 ... [详细]
  • Windows7 64位系统安装PLSQL Developer的步骤和注意事项
    本文介绍了在Windows7 64位系统上安装PLSQL Developer的步骤和注意事项。首先下载并安装PLSQL Developer,注意不要安装在默认目录下。然后下载Windows 32位的oracle instant client,并解压到指定路径。最后,按照自己的喜好对解压后的文件进行命名和压缩。 ... [详细]
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • Oracle Database 10g许可授予信息及高级功能详解
    本文介绍了Oracle Database 10g许可授予信息及其中的高级功能,包括数据库优化数据包、SQL访问指导、SQL优化指导、SQL优化集和重组对象。同时提供了详细说明,指导用户在Oracle Database 10g中如何使用这些功能。 ... [详细]
  • 高质量SQL书写的30条建议
    本文提供了30条关于优化SQL的建议,包括避免使用select *,使用具体字段,以及使用limit 1等。这些建议是基于实际开发经验总结出来的,旨在帮助读者优化SQL查询。 ... [详细]
author-avatar
houjiajun
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有