详情

首页手游攻略 database:实践指南

database:实践指南

佚名 2026-09-12 16:30:01

面对实际交付,我看database的重点不在星标,而在这项能力:Blazegraph 高性能图形数据库。一旦进入数据与知识处理环节,数据结构、更新策略和可追溯性会决定结果是否可信会直接影响交付,这也是我最关心的风险。短测时我会用一份规模可控且答案已知的数据集试跑,并保留模式兼容、增量更新、查询结果和来源追踪的结果,方便团队复盘。编辑判断上,需要保留数据来路与变更记录的使用者可以优先研究它;其他团队不必为了热门标签勉强接入。

欢迎来到 Blazegraph 数据库##

Blazegraph™ DB 是一个超高性能图形数据库,支持蓝图和 RDF/SPARQL APIs。它在单台机器上支持多达 500 亿条边。它已被财富 500 强客户(例如 EMC、Autodesk 等)投入生产使用。 它支持关键的 精准医学 应用,并在生命科学应用中广泛使用。 它广泛用于支持商业和正府应用程序中的网络分析。 它为维基媒体会的 维基数据查询服务 提供支持。

有关版本更改,请参阅 版本 中的发行说明。

注册 以获取 Blazegraph 的最新消息。

另请访问我们的:网站、wiki 和 博客。

发现问题? 需要帮助吗? 请参见 JIRA。

报告安全问题:安全报告。

快速启动可执行 Jar

在 30 秒内启动并运行 Blazegraph:快速入门。

在生产环境中部署

Blazegraph 的设计宗旨是易于使用和入门。因此,默认情况下,它出厂时没有 SSL 或身份验证。对于生产部署,我们强烈建议您启用 SSL、身份验证和适当的网络配置。下面有一些有用的链接可帮助您执行此操作。

启用 SSL 支持

要启用 SSL 支持,请取消注释示例 jetty.xml 并为本地密钥库配置它。

配置认证

默认情况下,Blazegraph 出厂时未启用身份验证。这对于使用 Blazegraph 进行开发、入门和研究非常有用。但是,不建议将其用于任何生产部署。要配置身份验证,您必须在 Web 应用程序容器中或通过反向代理配置进行配置。

请注意,多租户 的 Blazegraph 命名空间功能不提供安全隔离。可以访问服务器的基本 URI 的用户可以访问任何可用的命名空间。您可以通过身份验证配置和限制对特定命名空间 URIs、i.e 的访问的组合来进一步限制这一点。 /blazegraph/namespace/NAMESPACE/sparql

有三个基本选项:

  1. 为独立 Jetty 部署配置 Jetty 身份验证:按照 jetty 指南,通过取消注释 <Get name="securityHandler"> 部分来配置用于部署服务器的 jetty.xml 的身份验证。您需要创建 realm.properties 并更新 jetty.xml 以指向其在文件系统上的位置。 然后配置 web.xml 以取消注释安全约束。
  2. 为独立 Tomcat 部署配置 Tomcat 身份验证:首先使用您选择的身份验证方法(JDBC、JNDI 等)配置 Tomcat 领域。然后配置 web.xml 以取消注释安全约束。
  3. 设置具有身份验证的反向代理配置:您可以设置具有身份验证的 http 或 https 反向代理配置,并将请求转发到本地 Blazegraph 实例(通常在 localhost:9999 上运行)。对于 Nginx 和 Apache 来说,这是一个不错的选择。

减少跨站点请求伪造 (CSRF)

如果您启用身份验证并公开 Blazegraph 工作台,您还应该采取措施防范 CSRF。 Tomcat8提供了一个可配置的CSRF过滤器。对于 Jetty,如果配置身份验证,也可以使用 SecurityHandler.setSessionRenewedOnAuthentication(true) 的默认值。 CSRF 保护可能需要 REST 客户端实现 HTTP 标头以用于与服务交互。

构建代码

作为快速启动,请运行 mvn install -DskipTests 或实用程序脚本 ./scripts/mavenInstall.sh

有关更详细的 Maven 信息,请参阅 wiki。

如果使用 Java 7 构建,则需要添加 TLS 1.2、i.e 的 Maven 选项。 export MAVEN_OPTS="-Dhttps.protocols=TLSv1.2"

示例和示例

[此处] (https://github.com/blazegraph/blazegraph-samples) 有用于开始使用 Blazegraph 数据库的代码示例和示例。 Tinkerpop3 示例直接包含在 Tinkerpop3 存储库中,如下所示。

Java文档

单击此处查看最新的 API Javadocs。

Maven 中心

从 2.0.0 版本开始,Blazegraph 数据库可在 Maven Central 上使用。 要包含核心平台和依赖项,请将以下工件包含在您的依赖项中。 使用 Maven 进行开发 有关于使用 Blazegraph 数据库源代码和 Maven 进行开发的说明。

    <dependency>
        <groupId>com.blazegraph</groupId>
        <artifactId>bigdata-core</artifactId>
        <version>2.0.0</version>
    </dependency>
    
    <dependency>
        <groupId>com.blazegraph</groupId>
        <artifactId>bigdata-blueprints</artifactId>
        <version>2.0.0</version>
    </dependency>

如果您只是链接 Blazegraph 数据库依赖项而不使用任何外部库,请使用 bigdata-runtime 工件。

    <dependency>
        <groupId>com.blazegraph</groupId>
        <artifactId>bigdata-runtime</artifactId>
        <version>2.0.0</version>
    </dependency>

部署者

从 2.0.0 开始,部署的默认上下文路径是 http://localhost:9999/blazegraph/。 还有 WAR 部署程序 (blazegraph-war)、可执行 Jar 文件 (blazegraph-jar)、Debian 包 (blazegraph-deb)、的 Maven 工件RPM (blazegraph-rpm) 和 Tarball (blazegraph-tgz)。

包含 bigdata-warbigdata-jar 工件用于遗留目的,并使用 /bigdata/ 上下文路径。

小叮当3

Tinkerpop3 支持需要 Java 1.8,现在位于单独的存储库中。 请参阅 Tinkerpop3。 它也可以作为 Maven Central 工件使用。

    <dependency>
        <groupId>com.blazegraph</groupId>
        <artifactId>blazegraph-gremlin</artifactId>
        <version>1.0.0</version>
    </dependency>
    

三重模式片段(TPF)服务器

有一个 Blazegraph 三重模式片段 TPF 服务器支持 链接数据片段。

Blazegraph Python 客户端

这里有一个 Blazegraph Python 客户端 here

Blazegraph 点网 RDF 客户端

这里有一个 Blazegraph Dot Net RDF 客户端 here

相关资讯
点击查看更多
游戏推荐
推荐专题
热门阅读
推荐下载