直接数据访问包括在 SaaS Advantage 部署层中,可能在 SaaS Plus 部署层中作为附加组件为某些客户提供。要详细了解部署层,请参阅 Learn SaaS Plus 和 Advantage 选项

作为 2010 年启动的开放数据库计划的一部分,Blackboard 为 Learn SaaS 提供直接数据访问。通过直接数据访问,您可以在需要时查询 Learn 数据库的近乎实时副本。支持人员可以排查问题;学术人员可以收集有关采用、使用和某些计划有效性的数据;领导层可以使用实时数据评估投资回报率并做出数据支持的决策。

直接数据访问含有两大组件,即 SaaS 只读副本数据库和详细的架构文档。


SaaS 只读副本数据库

  • 近乎实时 - 生产数据库中的数据可得到近乎实时的更新。
  • 安全 - 数据和数据传输均经过加密,以通过 IP 限制的地址完成。
  • 高性能 - 数据库在生产级硬件上运行。
  • 灵活的访问 - 使用您喜爱的数据库客户端应用程序或技术。*

*必须支持通过 SSL 与 PostgreSQL 建立连接。


开放的数据库文档

文档是通过采用 Javadoc 格式的 HTML 包交付的,并提供有关 Learn SaaS 数据库结构的信息,包括布局和表之间的依赖关系。下方的包含有表和列中数据特征的描述,包括数据类型、大小、为 Null 性、索引、系列、密钥和约束信息。此外,还为重要的表和列提供了额外注释。

此类信息旨在帮助经验丰富的管理员和开发人员使用关系数据库。

您可以在 Blackboard 的资料库上 或使用以下链接查看架构或变更包和文档。您还可以通过 Behind the Blackboard“下载文件”页面,为每个版本下载此类包。

版本 架构和更改
9.1 Q4 2019 及以上版本 查看架构 | 查看更改
9.1 2019 年第二季度 查看架构 | 查看更改
9.1 2018 年第四季度 查看架构 | 查看更改
9.1 2018 年第二季度 查看架构 | 查看更改
9.1 2017 年第四季度 查看架构 | 查看更改
9.1 2017 年第二季度 查看架构 |
9.1 2016 年第四季度 查看架构 | 查看更改
9.1 2016 年第二季度 查看架构 | 查看更改
9.1 2015 年第四季度 查看架构 | 查看更改
9.1 2014 年 10 月 查看架构 | 查看更改
9.1 2014 年 4 月版 查看架构 | 查看更改

不包括哪些信息?

虽然只读副本是生产数据库的完整副本,但文档中发布的架构并不包括 Blackboard Learn 中每个数据库对象的完整描述。以下信息不包括在内:

  • 有些表和列的详细注释。
  • 没有关于存储过程、视图、触发器或数据库作业的信息。

访问数据

在您购买直接数据访问或成为 Learn SaaS Advantage 客户后,Blackboard 会向您提供以下连接到只读副本数据库所需的详细信息。

详细了解如何配合 Amazon AWS 提供的 RDS.SSL 一起使用它。

您最多可以请求 5 个用户名/密码组合。

为了安全起见,只允许通过有限数量的 IP 地址进行连接。Blackboard 会要求您识别最多 5 个唯一源 IP 地址(即您打算与只读副本交互的地址)。如果您无法识别您的 IP 地址,可以在您打算连接的计算机上访问 http://checkip.amazonaws.com/ 来查找此类地址。


将数据转化为信息

既然您拥有这个访问权限,那么如何让它发挥作用呢?以下问题可能对您有所帮助:

  • 数据的实际内容是什么?
  • 我想了解何种信息?
  • 我还应寻找/查看哪些内容?
  • 我如何从这些数据中得到这类内容?
  • 此查询的真正作用是什么?

获取直接数据访问方面的答案和帮助:


使用 pgAdmin 工具

要访问数据,您需要数据库资源管理器、报告工具,或者一些可以通过 SSL 连接到 PostgresSQL 数据库的软件。以我们为例及为了帮您测试连接,我们使用的是免费开源工具 pgAdmin,其适用于 Mac 和 Windows。

请注意,Blackboard 无法为 pgAdmin 或您可能用来连接到只读副本的任何第三方软件提供技术支持。此处提供的信息仅作为示例供您参考。pgAdmin 界面可能会因版本和平台而异。我们尽可能提供最新、最准确的信息。

开始之前:

  • 下载并安装适用于您操作系统的最新版 pgAdmin
  • 下载并保存 SSL 公钥,记下它的保存位置。

创建和配置新数据库连接

  1. 打开 pgAdmin 应用程序,然后选择加号来添加到服务器的连接。
  2. 填写完属性标签上的各字段
    • 名称:选择您所需的任何名称
    • 主机: Blackboard 提供的值
    • 端口: 5432
    • 服务:留空
    • 维护数据库:postgres
    • 用户名: Blackboard 提供的值
    • 密码:Blackboard 提供的值
    • 存储密码?:不要选中以提高安全性
    • 颜色: 选择显示颜色(可选)
    • 小组:留空或添加到小组(如有)
  3. 接下来,您必须向 pgAdmin 提供 SSL 证书。在“SSL”标签上:
    • SSL:从下拉列表中选择“要求”
    • 服务器根证书文件:浏览查找您保存的 SSL 公钥 (rds-combined-ca-bundle.pem)*
  4. 选择 确定以保存

请注意,pgAdmin 会查找扩展名为 .crt 的文件。不要担心,在您选择“确定”后,pgAdmin 会将 .pem 文件转换为 .crt。

运行 SQL 查询

  1. 在 pgAdmin 工具中,选择您要通过对象浏览器窗口查询的数据库。
  2. 选择工具栏中的 SQL 图标。这个图标显示为放大镜。
  3. 系统随即会显示 SQL 编辑器窗口。在此窗口中键入您的查询。
  4. 尝试简单的查询并查看所有用户记录:

    select * from USERS

  5. 完成后,选择绿色箭头图标。

从数据微服务获取数据

此部分与已采用 9.1 2018 年第二季度版本及更高版本新数据微服务的客户相关。Blackboard 正在逐步推出此改进以提供顺畅的过渡。如果您是 Blackboard Learn 管理员并且存有疑问,可在 Behind the Blackboard 上创建案例。

Blackboard 正在为使用直接数据访问 (DDA) 的客户升级数据管理流程。如果您的机构具有 DDA,以下内容适用于您。升级涉及将报告数据迁移到出色的 Snowflake 数据库。

升级 BIRT 报告

Blackboard 随附的 BIRT 报告不需要更新。

自定义 BIRT 报告应使用标准的 dataSource 值:bb_common_data_source(对于当前统计数据库)或 bblearn_data_source(对于当前 Learn 数据库)。如果是这样的话,您不需要更改任何内容。您的组织启用数据微服务后,BIRT 报告将针对 Snowflake 运行。如果自定义 BIRT 报告不使用其中一个数据源,则必须更改为使用该数据源。

两个系统之间的相关更改是以前称为 activity_accumulator 的表,其在 Snowflake 中标识为 activity_accumulator_archive

为新微服务升级 Building Block

如果您的自定义 Building Block 针对统计表运行查询,则必须更改 Building Block 获取数据库链接的方式。如果您的组织已启用数据微服务,以下方法会自动返回 Snowflake 连接。

BbDatabase.getReportingDefaultInstance().getConnectionManager().getConnection();

可用的数据和表

报告会大量使用以下表,当您的组织启用数据微服务时,所有这些表都会迁移到 Snowflake 中。从升级时起,Learn 会在 Snowflake 中维护版本,并且允许位于原始数据库中的版本过时。Snowflake 数据库中提供以下具体化的视图。有关特定表或表组的详细信息,请参阅 ODS 架构

activity_accumulator_archive(替换 activity_accumulator
ods_aa_content_activity
ods_aa_course_activity
ods_aa_session_activity
ods_answer_dim
ods_cbe_rubric_eval_dim
ods_content_alignment_fact
ods_course_content
ods_course_content_score
ods_course_item
ods_course_sog_fact
ods_course_tool
ods_deployment_dim
ods_distr_list_dim
ods_group
ods_group_user
ods_institution_role
ods_instrument_dim
ods_instrument_rubric
ods_learning_standard
ods_learning_std_inactive
ods_lrn_std_align
ods_ls_course
ods_ls_course_node
ods_ls_course_user
ods_ls_user
ods_node
ods_person_dim
ods_person_dim_extra
ods_question_dim
ods_question_sog
ods_question_tag
ods_rubric
ods_rubric_align_fact
ods_rubric_cell_dim
ods_rubric_cell_points
ods_rubric_column
ods_rubric_course_content
ods_rubric_eval_cell_fact
ods_rubric_eval_crs_node
ods_rubric_eval_dim
ods_rubric_eval_usr_node
ods_rubric_row
ods_rubric_row_align_fact
ods_rubric_row_max_points
ods_sog
ods_std_category
ods_submission
ods_submission_fact
ods_submission_node
ods_submission_role
ods_survey_answer_fact
ods_sv_visual_element
ods_term
rpt_course_sog_fact
rpt_learning_standard