Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arangodb 1000+;用户,30+;私人数据收集_Arangodb_Database_Nosql - Fatal编程技术网

Arangodb 1000+;用户,30+;私人数据收集

Arangodb 1000+;用户,30+;私人数据收集,arangodb,database,nosql,Arangodb,Database,Nosql,我正在开发一个管理/规划应用程序,该应用程序将有1000多个用户,每个用户都有30多个数据收集 例如,每个用户可能有一个(比如)客户联系人的集合,其中包含多达10个和数百个项目/记录 Arangodb是否适合此应用程序 有更好的选择吗 非常感谢, LRP我假设所有用户数据库都应该分开保存,因此用户1不应该看到用户2的任何数据等 如果是这样,可以选择为每个用户创建一个单独的数据库,或者,如您所述,为每个用户创建30多个数据库。这将产生30000多个数据库。我认为这不是ArangoDB的理想用法,因

我正在开发一个管理/规划应用程序,该应用程序将有1000多个用户,每个用户都有30多个数据收集

例如,每个用户可能有一个(比如)客户联系人的集合,其中包含多达10个和数百个项目/记录

Arangodb是否适合此应用程序

有更好的选择吗

非常感谢,


LRP

我假设所有用户数据库都应该分开保存,因此用户1不应该看到用户2的任何数据等

如果是这样,可以选择为每个用户创建一个单独的数据库,或者,如您所述,为每个用户创建30多个数据库。这将产生30000多个数据库。我认为这不是ArangoDB的理想用法,因为每个数据库都会产生一些开销,而且您可能希望使ArangoDB中的数据库总数相对较小,至少不会在其中创建30000多个数据库

另一种选择是不创建那么多数据库,而是创建尽可能多的集合,可能都在同一个数据库中。虽然这提供了用户数据的良好分离,但从资源使用的角度来看,这也会相当昂贵(因为如果每个集合包含数据,则可能需要单独的存储文件)。我认为,如果不是所有用户/集合都需要同时处于活动状态,并且服务器拥有大量资源(或者您将数据拆分到多个服务器上),那么这种方法可能会奏效

在ArangoDB中使用最少资源的解决方案是将多个用户的数据放入几个集合中。对于每个记录,您可以存储一个用户id,并让应用程序在每个查询中使用该用户id。
这将确保应用程序一次只能访问一个特定用户的记录。此外,由于这将只使用很少的集合,因此不需要为数据很少的用户创建空的或大部分空的数据库/集合。从资源使用的角度来看,这应该是相对高效的。

为什么不使用RDBMS?您想要报告、高级搜索吗?关于:RDBMS--可能,但理想情况下,我想要一个维护更少、界面更简单的解决方案;我不需要高级搜索或报告。通过数据库复制的可访问性非常重要。谢谢大家。