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