使用相同的ravenhq db和两个不同的应用程序

时间:2014-09-01 16:00:39

标签: ravendb ravenhq

好的,我知道这不是一种可行的方法,但我很想在两个不同的应用程序中使用相同的ravenhq数据库。

为什么我在考虑它,是因为我有两个非常小的Web应用程序,它们将使用ravendb作为db。我有一个注册的付费ravenHq数据库。

我的两个申请表不会分享任何文件。这两款应用数据都不会特别大。所以我的问题是。这有可能做,还是会有任何并发​​症?

//感谢

2 个答案:

答案 0 :(得分:1)

这实际上取决于您的申请的细节。通常,访问同一数据库的多个应用程序没有任何问题。 RavenDB客户端库可以在任何您喜欢的地方运行,也可以使用原始HTTP访问数据库。仅仅因为它是一个不同的应用程序调用数据库并不意味着你会遇到问题。

但是,您应该考虑以下事项:

  • 您可能会遇到命名冲突。例如,如果每个应用程序都有一个名为" User"并且你将它们存储在同一个数据库中,那么你肯定可以让一个应用程序中的用户与另一个应用程序中的用户混淆。

  • 在RavenDB中定义索引时,数据库中的所有文档都将通过它。大多数索引都被过滤为特定类型的文档,但同样 - 您可能会发生命名冲突,导致应用程序1中的文档使用您打算用于应用程序2的索引编制索引。

  • 备份和恢复可能很困难,因为您要同时备份这两个应用程序中的数据。

可能存在其他重叠区域。小心,并彻底测试。

答案 1 :(得分:1)

为了尽可能降低技术债务,如果两个应用程序不共享数据,我就不会将相同的数据库用于不同的应用程序。

对于RavenHQ,我建议购买虚拟机(通过Microsoft Azure或其他云提供商)并在此服务器上安装RavenDb实例,您可以在其上创建多个数据库。这可能比通过RavenHQ托管要便宜很多。