【问题标题】:On what concept the BaaS worksBaaS 的工作原理是什么
【发布时间】:2016-02-04 15:30:24
【问题描述】:
最近了解了 BaaS,一种用于以持久化格式在线存储数据的服务。
我检查了parse.com 和firebase.com。我想知道他们如何存储数据。
在parse.com 中,您创建一个 Parse 对象,该对象在在线门户中被视为表格。
在firebase.com 它是一种树(我现在不知道)...
这些 BaaS 提供商根据什么基本原则组织数据。他们是否遵循任何通用设计模式。
如何使逻辑模式通用以存储在此类 BaaS 提供者的存储中
【问题讨论】:
标签:
android
firebase
schema
baasbox
【解决方案1】:
有很多不同的 BaaS 服务,它们使用各种内部数据库,所以我不确定它们是否都共享相同的数据结构。
对于您所指的对象以及大多数对象,基本数据元素是 JSON 对象(即键/值对树),通常称为“对象”或“文档”。在大多数情况下,只需在数据库中添加对象,即可“动态”创建数据模型。
对于 Firebase,整个数据库或多或少是一棵 JSON 树,您可以对子树进行(非常)基本的查询。
对于 Parse.com 和其他基于 MongoDB 的网站,架构和查询更加复杂(对象被分组到集合中)。
其他一些人(IBM Cloudant,...)使用 CouchDB,一种类似于 MongoDB 的 NoSQL DB。
其他一些(Baasbox,...)使用类似 SQL 的语言进行查询和/或允许集合/表之间的类似 SQL 的关系。
因此,如果您的数据是一堆互不依赖的 JSON 对象,那么您可以选择多种后端。如果您的数据模型和查询更复杂,您将受到更多限制。