我正在为将要托管在Azure云上的基于.Net的社交网络应用程序进行一些体系结构工作。我们将在前端使用ASP.NET MVC。

我想考虑存储的选项。考虑到可伸缩性需求以及由于应用程序的相互连接的特性,已经排除了SQL azure。

在选择诸如Sones GraphDB或neo4j之类的图形数据库时,应考虑哪些主要考虑因素,这些图形数据库具有针对社交网络应用程序的特定功能,以防止使用Windows Azure表格存储来满足需求。

我最关心的是开发时间,成本,利用现有技能(如.NET)和图形数据库平台的可靠性以及易于设置和管理的能力。

最佳答案

图形数据库是为诸如社交网络之类的应用程序而设计的。为了便于开发,最好从GraphDB之类的东西开始。与键值数据库相比,一个关键优势是强大的查询和遍历功能。例如,使用GraphDB查询语法查找所有出现的“ friend 的 friend ”会很容易。

像Azure Table这样的键值数据库服务的好处是低成本,最小的管理开销和可伸缩性。您可以在多个区域中的每个Azure存储帐户和设置帐户存储500TB的数据。没有服务器设置或数据库管理开销,并且Visual Studio SDK易于使用。不利的一面是没有内置查询支持之类的图形,因此您必须索引主键/行键对。有关其他Azure Table设计模式,请参见https://azure.microsoft.com/en-us/documentation/articles/storage-table-design-guide/

10-01 08:27
查看更多