【发布时间】:2019-02-07 22:33:51
【问题描述】:
我有一个简单的“用例”,假设我希望使用 Xamarin 和 Azure 克隆 Facebook 应用程序。
读完后:https://docs.microsoft.com/en-us/azure/cosmos-db/social-media-apps
我注意到我可以将我的数据存储到一组集合/文档 (SQL API) 中。
但是当我必须处理数百万个关系时,它不起作用,我必须使用 Graph API 数据库!
因此,为此我需要在 Azure 上创建一个数据库,这就是我现在要做的:
1 - 一个 Cosmos DB 数据库 - 带有 SQL API(集合): a) 用户集合 b) 出版合集
2 - 一个 Comos DB 数据库 - 使用 Gremlin API (Graph) 和: a) 管理用户与出版物之间关系的图表(即用户 A 喜欢出版物 B)
因此,SQL API 数据库将管理所有记录,而 Gremlin 用于管理所有记录。 所有的复合关系。
所以,我有几个问题: 1)我真的需要2个未连接的数据库吗?或者这是一个糟糕的设计? 因为每次添加用户,都需要在集合中添加一个文档, 也是一个顶点!这是双重管理!
2) 当我将一个文档插入到集合中时,它会生成一个带有 GUID 键自动。我可以将此 ID 用作我的顶点的键吗?
也许一个用户和一个出版物可以有相同的 GUID ?所以,在我的图表中 我不知道我的顶点是用户还是出版物?
还有其他方法可以解决这个问题吗?
谢谢
【问题讨论】:
标签: azure azure-cosmosdb gremlin azure-cosmosdb-sqlapi