好吧,我知道这不是一种理想的方法,但我正在考虑将同一个ravenhq数据库用于两个不同的应用程序。
我之所以这么想,是因为我有两个非常小的web应用程序,它们将使用ravendb作为数据库。我有一个注册的付费ravenHq数据库。
我的两个应用程序不会共享任何文档。而且这两个应用程序的数据不会增长得特别大。所以我的问题是,这样做可能吗,还是会有任何并发症?
//感谢
这实际上取决于应用程序的具体情况。一般来说,多个应用程序访问同一个数据库并没有错。RavenDB客户端库可以从任何您喜欢的地方运行,也可以使用原始HTTP访问数据库。仅仅因为它是一个不同的应用程序调用数据库并不意味着你会有问题。
但是,您应该考虑以下几点:
-
您可能存在命名冲突。例如,如果每个应用程序都有一个名为"User"的不同类,并且您将它们存储在同一个数据库中,那么您肯定会将一个应用程序中的用户与另一个应用软件中的用户混淆。
-
当你在RavenDB中定义索引时,数据库中的所有文档都会通过它。大多数索引都会筛选到特定类型的文档,但同样,你可能会遇到命名冲突,导致应用程序1中的文档使用你为应用程序2准备的索引进行索引。
-
备份和恢复可能很困难,因为您将同时备份来自两个应用程序的数据。
可能还有其他方面的重叠。小心,彻底测试。
为了尽可能降低技术债务,如果两个应用程序不共享数据,我不会为不同的应用程序使用相同的数据库。
就RavenHQ而言,我建议购买一台虚拟机(通过Microsoft Azure或其他云提供商),并在此服务器上安装一个RavenDb实例,您可以在其中创建多个数据库。这可能比通过RavenHQ托管便宜得多。