【问题标题】:Is having multiple SQL db's a bad idea for a single application?对于单个应用程序来说,拥有多个 SQL 数据库是个坏主意吗?
【发布时间】:2012-03-17 11:09:18
【问题描述】:

我正在设计一个 iOS 应用程序,并决定将持久性要求分成三个独立的 SQL 数据库。

  • 静态数据 - 只读但从外部来源下载
  • 客户端请求数据 - 客户端排队发送到外部源的数据
  • 应用程序元数据 - 保存有关其他两个数据库和整个应用程序状态的元信息。这可能是但不限于表格/应用版本信息、应用上次与外部源通信的时间。

这种分离背后的想法是,第一个数据库是有效可替换的,第二个是事务源,而元信息不应该增长。

这种方法有什么注意事项吗?当然,我知道我不能加入每一种方法,尽管我不打算这样做。

【问题讨论】:

  • 这样比较好,但是你应该根据你的项目时间来决定。如果您想进行一些实时备份,这种设计对于计划备份更有帮助,例如在小型数据库上每 15 分钟备份一次。

标签: sql ios sqlite titanium titanium-mobile


【解决方案1】:

我不熟悉 iOS,但我会从空间的角度考虑它。 SQL DB 的最小大小与您要存储在其中的数据的大小是多少?如果数据库不会增加大量开销,那么应该没问题。但是如果你要存储 1K 的数据而一个空数据库是 16K,我会重新考虑。

【讨论】:

    【解决方案2】:

    在使用两个数据库之前,我会考虑拥有一两个 JSON 文件。对于您的静态数据来说可能没问题,对于元数据来说可能就足够了。

    显然,这取决于您数据的数量和组织,以及您是否跨过 CRUD 操作。

    【讨论】:

      【解决方案3】:

      当然,这种方法本身并没有什么“坏”的地方。事实上,这通常是一个好主意,在你的情况下听起来可能是这样。根据您创建和打开各种数据库的方式,您可能会获得性能提升。

      几个具体的指针:

      • 静态数据:由于这个数据库是只读的,所以以只读方式打开
      • 您实际上可以跨数据库连接,例如:使用ATTACH DATABASE SQL 语句并从那里开始。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-08-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多