Javascript SQL模式与NoSQL命名空间

Javascript SQL模式与NoSQL命名空间,javascript,sql,database,mongodb,nosql,Javascript,Sql,Database,Mongodb,Nosql,我是NoSQL的新手,我想完全理解名称空间的概念以及它与SQL模式的比较。 我在表格、行、行之间看到了很多有用的类比。。。和他们的NoSQL对应 您能帮我理解名称空间吗 特别是,我想知道如何利用它们来分离十几位客户的数据?我想防止两个数据库之间的信息意外泄漏,同时仍然使用单个数据库。这实际上取决于您使用的数据库引擎,很难给出一般性的答案 理想情况下,如果您确实想要隔离数据,可以使用多个数据库(在Redis、Redis Enterprise、MongoDB中)。在这种情况下,您可以确保数据是分开的

我是NoSQL的新手,我想完全理解名称空间的概念以及它与SQL模式的比较。 我在表格、行、行之间看到了很多有用的类比。。。和他们的NoSQL对应

您能帮我理解名称空间吗


特别是,我想知道如何利用它们来分离十几位客户的数据?我想防止两个数据库之间的信息意外泄漏,同时仍然使用单个数据库。

这实际上取决于您使用的数据库引擎,很难给出一般性的答案

理想情况下,如果您确实想要隔离数据,可以使用多个数据库(在Redis、Redis Enterprise、MongoDB中)。在这种情况下,您可以确保数据是分开的。但是你说你想用一个DB。(为什么?)

如果您想坚持使用单个数据库,您有各种选择,这同样取决于您使用的数据库引擎

如果您正在使用Redis:

  • 您可以根据键模式使用特定的
    命名空间
    ,例如
    app:cust-001:orders
    ,并根据键名称/模式控制对数据的访问。在Redis 6.0中,添加了(访问控制列表)的概念,允许您基于密钥模式限制连接用户对数据的操作/访问。这将使您能够很好地控制数据以及谁可以查看/操作数据
如果您使用的是MongoDB:

  • 您可以使用多个集合(表),例如,使用上下文作为集合名称的前缀
  • 或者可以使用复合键,其中一个字段将作为上下文
在这两种情况下,对于Redis和MongoDB,您都在使用业务逻辑创建“数据库”的概念


如果您提供更多详细信息/示例,社区可能会给您提供更详细的答案。

我只是想澄清一下,我正在节点服务器中使用它。