2014-09-01 87 views
0

好吧,我知道这不是一个opptimal方法,但我很想用两个不同的应用程序使用相同的ravenhq数据库。使用相同的ravenhq数据库与两个不同的应用程序

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

我的两个应用程序不会共享任何文档。而且这两款应用的数据都不会变得特别大。所以我的问题是。这是可能的,还是会有任何并发​​症?

//谢谢

回答

1

这真的取决于您的应用程序的细节。通常,多个应用程序访问同一个数据库没有任何问题。 RavenDB客户端库可以从您喜欢的任何位置运行,或者您可以使用原始HTTP访问数据库。仅仅因为这是一个不同的应用程序调用数据库并不意味着你会遇到问题。

但是,你应该考虑以下几点:

  • 你可以有命名冲突。例如,如果每个应用程序都有一个名为“User”的不同类,并将它们存储在同一个数据库中,那么您肯定可以从一个应用程序中将用户与另一个应用程序中的用户混合在一起。

  • 当您在RavenDB中定义索引时,数据库中的所有文档都会通过它。大多数索引都会过滤到特定类型的文档,但是您可能会遇到命名冲突,导致来自应用程序1的文档使用您打算用于应用程序2的索引建立索引。

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

可能还有其他方面的重叠。小心,并彻底测试。

1

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

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

相关问题