如何在使用混合数据库时设计通知系统

时间:2016-06-25 12:34:22

标签: sql-server database-design neo4j notifications

我正在为我正在开发的社交网站使用混合数据库(图形DB和RDBMS)。我在图形数据库中存储用户之间的友好关系等“连接”数据,并且在RDMS(SQL Server)中存储较少的连接数据,例如用户认证信息,通知数据。现在,当两个用户成为朋友时,我将他们的关系存储在neo4j数据库中并需要通知用户。第一项任务非常简单,对于第二项任务,我正在考虑创建一个TransactionEventHandler,当创建新的:FRIENDS关系时会触发该任务(请参阅此link)。

但是,由于我在RDMS中使用通知表来存储通知,所以在创建关系事件后,我有点困惑。我有两种可能的选择:

  1. 将通知全部移至图表数据库,并在用户和通知节点之间创建通知节点和:NOTIFIED关系。但在这种情况下,我无法弄清楚如何通知应用程序新创建的节点。

  2. 使用jdbc访问SQL Server数据库,并在事件触发时在Notification表中插入通知。并且用户SqlDependency通知应用程序通知表中的更改。

  3. 那么,在性能和可扩展性方面哪个选项合适?或者有更好的选择吗?

    如果重要,我使用ASP.NET MVC进行服务器端编程。

0 个答案:

没有答案