热门标签 | 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 Server 时,连接故障是用户最常见的问题之一。通常,连接 SQL Server 的方法有两种:一种是通过 SQL Server 自带的客户端工具,例如 SQL Server Management Studio;另一种是通过第三方应用程序或开发工具进行连接。本文将详细分析导致连接故障的常见原因,并提供相应的解决策略,帮助用户有效排除连接问题。 ... [详细]
  • 2021年Java开发实战:当前时间戳转换方法详解与实用网址推荐
    在当前的就业市场中,金九银十过后,金三银四也即将到来。本文将分享一些实用的面试技巧和题目,特别是针对正在寻找新工作机会的Java开发者。作者在准备字节跳动的面试过程中积累了丰富的经验,并成功获得了Offer。文中详细介绍了如何将当前时间戳进行转换的方法,并推荐了一些实用的在线资源,帮助读者更好地应对技术面试。 ... [详细]
  • 本指南详细介绍了在Linux环境中高效连接MySQL数据库的方法。用户可以通过安装并使用`mysql`客户端工具来实现本地连接,具体命令为:`mysql -u 用户名 -p 密码 -h 主机`。例如,使用管理员账户连接本地MySQL服务器的命令为:`mysql -u root -p pass`。此外,还提供了多种配置优化建议,以确保连接过程更加稳定和高效。 ... [详细]
  • 在Java分层设计模式中,典型的三层架构(3-tier application)将业务应用细分为表现层(UI)、业务逻辑层(BLL)和数据访问层(DAL)。这种分层结构不仅有助于提高代码的可维护性和可扩展性,还能有效分离关注点,使各层职责更加明确。通过合理的设计和实现,三层架构能够显著提升系统的整体性能和稳定性。 ... [详细]
  • PHP自学必备:从零开始的准备工作与工具选择 ... [详细]
  • 作为软件工程专业的学生,我深知课堂上教师讲解速度之快,很多时候需要课后自行消化和巩固。因此,撰写这篇Java Web开发入门教程,旨在帮助初学者更好地理解和掌握基础知识。通过详细记录学习过程,希望能为更多像我一样在基础方面还有待提升的学员提供有益的参考。 ... [详细]
  • 使用SQL命令创建数据库及其语句解析
    使用 `CREATE DATABASE` 命令可以创建一个新的数据库,并指定其名称。该 SQL 语句用于初始化数据库结构,执行后将生成一个新的数据库实例,用于存储相关的数据对象和表。在本例中,通过执行 `CREATE DATABASE 课程管理1`,系统将创建一个名为“课程管理1”的数据库,以便后续的数据管理和操作。 ... [详细]
  • MySQL数据库安装图文教程
    本文详细介绍了MySQL数据库的安装步骤。首先,用户需要打开已下载的MySQL安装文件,例如 `mysql-5.5.40-win32.msi`,并双击运行。接下来,在安装向导中选择安装类型,通常推荐选择“典型”安装选项,以确保大多数常用功能都能被正确安装。此外,文章还提供了详细的图文说明,帮助用户顺利完成整个安装过程,确保数据库系统能够稳定运行。 ... [详细]
  • 在拉斯维加斯举行的Interop 2011大会上,Bitcurrent的Alistair Croll发表了一场主题为“如何以云计算的视角进行思考”的演讲。该演讲深入探讨了传统IT思维与云计算思维之间的差异,并提出了在云计算环境下应具备的新思维方式。Croll强调了灵活性、可扩展性和成本效益等关键要素,以及如何通过这些要素来优化企业IT架构和运营。 ... [详细]
  • PHPCMS全站迁移时URL地址的更新与替换策略 ... [详细]
  • Oracle字符集详解:图表解析与中文乱码解决方案
    本文详细解析了 Oracle 数据库中的字符集机制,通过图表展示了不同字符集之间的转换过程,并针对中文乱码问题提供了有效的解决方案。文章深入探讨了字符集配置、数据迁移和兼容性问题,为数据库管理员和开发人员提供了实用的参考和指导。 ... [详细]
  • 本文详细介绍了使用 Python 进行 MySQL 和 Redis 数据库操作的实战技巧。首先,针对 MySQL 数据库,通过 `pymysql` 模块展示了如何连接和操作数据库,包括建立连接、执行查询和更新等常见操作。接着,文章深入探讨了 Redis 的基本命令和高级功能,如键值存储、列表操作和事务处理。此外,还提供了多个实际案例,帮助读者更好地理解和应用这些技术。 ... [详细]
  • 如何高效地安装并配置 PostgreSQL 数据库系统?本文将详细介绍从下载到安装、配置环境变量、初始化数据库、以及优化性能的全过程,帮助读者快速掌握 PostgreSQL 的核心操作与最佳实践。文章还涵盖了常见问题的解决方案,确保用户在部署过程中能够顺利解决遇到的各种挑战。 ... [详细]
  • MongoDB核心概念与基础知识解析
    MongoDB 是一种基于分布式文件存储的非关系型数据库系统,主要采用 C++ 语言开发。本文将详细介绍 MongoDB 的核心概念和基础知识,包括其与传统 SQL 数据库的区别,数据库及集合的基本操作,如数据的插入、更新、删除和查询等。通过本文,读者可以全面了解 MongoDB 的基本功能及其应用场景。 ... [详细]
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社区 版权所有