关于 Neo4j Bloom

本章介绍 Neo4j Bloom 的主要功能和组件。

Bloom 功能

Bloom 的核心功能集可以像此图片中显示的那样进行可视化。

image20
  • 透视 - 用于查看图数据的镜头,可以针对不同的业务目的进行自定义。请参阅 透视 或观看 Bloom 视频系列,以详细了解此功能。

  • 可视化 - 高性能、基于 GPU 的物理和渲染。

  • 探索 - 直接与数据交互以探索连接和详细信息。

  • 检查 - 查看所有记录详细信息并浏览到连接的记录。

  • 编辑 - 创建记录、连接数据、更新信息。

  • 搜索 - 使用高级接近自然语言的搜索短语查找信息。

观看 Bloom 视频系列 以查看这些产品功能的实际应用。

不同级别的访问权限

Bloom 中的一些功能只有在您拥有 Bloom Enterprise 时才可用,Bloom Enterprise 需要许可证和服务器端插件。下表显示了基本访问权限和 Bloom Enterprise 之间的主要区别。

表 1. 功能比较
Bloom 功能 基本访问权限 Bloom Enterprise

接近自然语言搜索

探索

与本地数据库一起使用

与远程数据库一起使用

场景保存

透视存储

本地到客户端

在数据库中

共享和授权

Neo4j Bloom 的组件

Bloom 应用程序包含两个组件

  • 一个客户端界面,您可以使用它来可视化和探索您的图数据。

  • 一个服务器端数据库插件,它启用用户授权和协作功能。

 

Bloom 客户端

Bloom 客户端为您提供用户界面,用于定义透视、搜索您的图、可视化图结果以及细化/探索/与图可视化交互以获取见解。您还可以检查返回的节点和关系的属性详细信息,以及直接对底层图数据进行编辑,前提是您拥有必要的权限。

Bloom 客户端可以托管在服务器上并通过 Web 浏览器访问。它也可在 Aura 的工作区中作为“浏览”使用,该功能由 Bloom 提供支持,或者作为独立应用程序在 bloom.neo4j.io 上使用。

Web 服务器托管

在此选项中,Bloom 客户端作为 Web 应用程序提供,该应用程序由 Web 服务器托管并使用 Web 浏览器访问。此设置不需要在您的用户机器上进行本地安装。如果您更喜欢基于 Web 的应用程序,对在本地安装应用程序有限制,或者您的网络中存在严格的防火墙安全措施可能会干扰本地应用程序,则此选项最方便。

Neo4j 桌面版托管

Bloom 客户端可在 Neo4j 桌面版中免费用于本地数据库(最高到 Bloom 2.11.0),并且不需要安装。如果您已经运行 Neo4j 桌面版,更喜欢使用原生应用程序,并且喜欢新版本的自动更新的便利性,则此设置可能很理想。

 

Bloom 服务器

有一个 Bloom 服务器组件,它作为 Neo4j 数据库插件安装(有关更多详细信息,请参阅 安装 章)。

持久存储

Bloom 服务器为 Bloom 客户端提供必要的运行时过程,以便在持久存储中存储、管理和检索 Bloom 透视。此持久存储对于允许共享、可靠访问和存储信息的备份是必要的。因此,Bloom 服务器使项目团队内部和跨项目团队的用户能够进行共享和协作。

默认情况下,Bloom 服务器会将透视数据存储在安装了插件的 Neo4j 数据库中。透视存储为具有特定属性的节点,以捕获其定义和其他元数据。此数据与您的业务数据一起存储在属性图中,尽管它是使用添加到透视节点的 Bloom 特定标签分开的。如果 Bloom 以外的应用程序可以访问相同的属性图,则根据它们在属性图上运行的查询,此类透视信息可以被其他应用程序访问。

如果您不想将透视信息与图中的其他业务数据混合,则可以将 Bloom 服务器配置为将透视信息存储在单独的 Neo4j 实例中。

安全

Neo4j Bloom 依赖于 Neo4j 数据库的用户、角色、身份验证和授权的安全功能。

用户身份验证由 Bloom 客户端管理。在 Web 托管模式下,Bloom 会要求您提供用户凭据,在桌面托管模式下,Bloom 会从桌面获取您的用户凭据。在这两种情况下,Bloom 都会发送凭据以在数据库层进行身份验证。Neo4j Bloom 可以配置为支持所有数据库身份验证提供程序,如 身份验证提供程序 中所述,但 Kerberos 除外。

使用 Bloom 服务器,管理员可以配置哪些角色被授权在其环境中使用 Bloom。角色可以是任何本机和/或自定义角色的组合,包括用于映射到 LDAP 组的角色。用户必须至少对数据库具有读取访问权限才能将 Bloom 连接到它。

此外,Bloom 服务器提供了一种功能,可以授权只有某些角色才能访问透视。

另请参阅 将 Bloom 与 LDAP 身份验证一起使用,以获取有关将 Bloom 与使用 LDAP 身份验证的 Neo4j 安装一起使用的更多信息。

为了使 Bloom 正常运行,用户需要具有访问 Neo4j 数据库中的索引和约束的权限。如果用户缺乏相应的权限,则无法登录 Bloom。要授予访问权限,管理员需要为 Bloom 用户添加所需的权限。请参阅 Cypher 手册→INDEX MANAGEMENT 权限Cypher 手册→CONSTRAINT MANAGEMENT 权限

托管 Bloom 客户端

Web 服务器托管部分所述,Bloom 客户端可以由 Web 服务器托管。Neo4j 数据库提供了一个 Web 服务器,该服务器已经托管了 Neo4j 浏览器,另一个 Web 客户端应用程序。Bloom 客户端也可以类似地由 Neo4j Web 服务器托管。Bloom 服务器将其所有 Bloom 客户端文件打包在一起,并且可以使用一些配置设置,将其设置为与 Neo4j Web 服务器一起工作,以便通过 Web 浏览器向用户提供 Bloom。这是开始使用服务器托管的 Bloom 的最简单、最方便的设置。

或者,您可以启动自己的 Web 服务器并使用它来托管 Bloom 客户端。虽然此设置需要更多工作,但如果您希望在客户端浏览器和数据库之间添加额外的安全层,或者如果您希望为 Web 服务器设置一个带有前端负载均衡器的集群设置,则此设置可能更可取。

请参阅部署模式部分,以了解在您的环境中部署 Bloom 的各种方法。

Bloom 升级

如果在桌面模式下运行,Bloom 更新会自动提供给用户。对于自托管或 Bloom Server 插件托管的 Bloom 实例,可以通过按照安装章节中的说明并使用最新版本的 Bloom jar 文件或服务器插件来实现更新。Aura 用户会定期看到 Bloom 更新,无需任何操作。

如果 Bloom 需要由于版本更改而更新透视图,则 Bloom 客户端会在其首次连接到数据库时自动执行此操作,适用于用户可以访问的所有透视图。

用户或管理员可能希望在升级客户端之前备份透视图,以避免出现不可预见的问题和/或在需要时恢复到早期版本。可以通过两种方式执行透视图备份