我有一个简单的“用例”,想象一下我想用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(图形),具有: a)一种用于管理用户和出版物(即用户A之类的出版物B)之间关系的图形
因此,SQL API数据库将管理所有记录,而Gremlin将管理 所有复杂的关系。
因此,我有几个问题: 1)我真的需要2个未连接的数据库吗?还是设计不好? 因为每次添加用户时,我都需要在集合中添加一个文档, 也是一个顶点!这是双重管理!
2)当我将文档插入集合时,它会生成一个带有 GUID键自动。我可以将此ID用作顶点的键吗?
也许用户和发布可以具有相同的GUID?所以在我的图中 我不知道我的顶点是用户还是出版物?
还有另一种方法可以管理吗?
谢谢