将本地 ThoughtSpot Falcon 数据库迁移到亚马逊 Redshift - AWS Prescriptive Guidance

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

将本地 ThoughtSpot Falcon 数据库迁移到亚马逊 Redshift

由 Battulga Purevragchaa () 和 Antony Prasad Thevaraj (AWS) 创作 AWS

环境:PoC 或试点

来源:本地 ThoughtSpot Falcon 数据库

目标:Amazon Redshift

R 类型:重构

工作负载:所有其他工作负载

技术:迁移;数据库

AWS服务:AWSDMS; 亚马逊 Redshift

Summary

本地数据仓库需要大量时间和资源进行管理,大型数据集更是如此。此外,构建、维护和扩建这些仓库的财务成本很高。为了帮助管理成本,降低提取、转换和加载 (ETL) 的复杂性,并随着数据的增长提供性能,您必须不断选择要加载的数据和要存档的数据。

通过将您的本地 ThoughtSpot Falcon 数据库迁移到 Amazon Web Services (AWS) 云,您可以访问基于云的数据湖和数据仓库,这些数据湖和数据仓库不仅可以提高业务灵活性、安全性和应用程序的可靠性,还可以降低总体基础设施成本。Amazon Redshift 有助于显著降低数据仓库的成本与运营开销。您还可以使用 Amazon Redshift Spectrum 分析大量原生格式的数据,而无需加载数据。

此模式描述了将 ThoughtSpot Falcon 数据库从本地数据中心迁移到云端的 Amazon Redshift 数据库的步骤和过程。AWS

先决条件和限制

先决条件

  • 一个活跃的AWS账户

  • 托管在本地数据中心的 ThoughtSpot Falcon 数据库

产品版本

  • ThoughtSpot 版本 7.0.1 

架构

将 ThoughtSpot Falcon 数据库从本地数据中心迁移到 Amazon Redshift。

图表显示了以下工作流:

  1. 将数据托管至本地关系数据库。

  2. AWSSchema Conversift Tool (AWSSCTDDL) 转换与 Amazon Redshift 兼容的数据定义语言 ()。

  3. 创建表后,您可以使用 Datab AWS ase Migration Service (AWSDMS) 迁移数据。

  4. 数据已加载至 Amazon Redshift。

  5. 如果您使用 Redshift Spectrum 或已经在 Amazon S3 中托管数据,则数据将存储至 Amazon Simple Storage Service (Amazon S3)。

工具

  • AWSDMS— AWS 数据迁移服务 (AWSDMS) 可帮助您快速安全地将数据库迁移到AWS。

  • Amazon Redshift – Amazon Redshift 是一种快速且完全托管的 PB 级数据仓库,可让您使用现有的商业智能工具轻松且经济高效地分析所有数据。

  • AWSSCT— AWS Schema Conversion Tool (AWSSCT) 将现有数据库架构从一个数据库引擎转换为另一个数据库引擎。

操作说明

任务描述所需技能

确定适当的 Amazon Redshift 配置。

根据您的要求和数据量确定适当的 Amazon Redshift 集群配置。 

有关更多信息,请参阅 Amazon Redshift 文档中的 Amazon Redshift 集群

DBA

研究 Amazon Redshift,以评估其是否符合您的要求。

使用亚马逊 Redshift FAQs 来了解和评估亚马逊 Redshift 是否符合你的要求。

DBA
任务描述所需技能

创建一个 Amazon Redshift 集群。

登录AWS管理控制台,打开 Amazon Redshift 控制台,然后在虚拟私有云中创建亚马逊 Redshift 集群 ()。VPC 

有关更多信息,请参阅 Amazon Red shift VPC 文档中的在中创建集群

DBA

为您的 Amazon Redshift 数据库设计进行 PoC。

通过对数据库设计进行概念验证 (PoC) 遵循最佳 Amazon Redshift 实践。 

有关更多信息,请参阅 Amazon Redshift 文档中的对 Amazon Redshift 执行概念验证

DBA

创建数据库用户。

在您的 Amazon Redshift 数据库中创建用户,并授予其相应的角色,以访问架构和表。 

有关更多信息,请参阅 Amazon Redshift 文档中的向用户或用户组授予访问权限

DBA

将配置设置应用至目标数据库。

根据您的要求将配置设置应用至 Amazon Redshift 数据库。 

有关启用数据库、会话和服务器级参数的更多信息,请参阅 Amazon Redshift 文档中的配置参考

DBA
任务描述所需技能

在 Amazon Redshift DDL 中使用手动创建表格。

(可选)如果您使用 AWSSCT,则会自动创建表。但是,如果复制失败DDLs,则必须手动创建表

DBA

为 Redshift Spectrum 创建外部表。

为 Amazon Redshift Spectrum 创建带外部架构的外部表。若要创建外部表,您必须是外部架构的所有者或数据库超级用户。 

有关更多信息,请参阅 Amazon Redshift 文档中的为 Amazon Redshift Spectrum 创建外部表

DBA
任务描述所需技能

用于AWSDMS迁移数据。

在 Amazon Redshift 数据库中创建表后,使用将您的数据迁移到亚马逊 Redshift。DDL AWS DMS

有关详细步骤和说明,请参阅文档AWSDMS中的使用 Amazon Redshift 数据库作为目标。AWS DMS

DBA

使用COPY命令加载数据。

使用 Amazon Redshift COPY 命令将数据从 Amazon S3 加载至 Amazon Redshift。

有关更多信息,请参阅 Amazon Redshift 文档中的使用COPY命令从亚马逊 S3 加载

DBA
任务描述所需技能

验证源记录和目标记录。

验证从源系统加载的源记录和目标记录表数。

DBA

实施 Amazon Redshift 最佳实践,以进行性能调整。

实施表和数据库设计的 Amazon Redshift 最佳实践。 

有关更多信息,请参阅博客文章 Amazon Redshift 的十大性能优化技术

DBA

优化查询性能。

Amazon Redshift 使用SQL基于查询与系统中的数据和对象进行交互。数据操作语言 (DML) 是可用于查看、添加、更改和删除数据的语言的子集。SQLDDL是用于添加、更改和删除数据库对象(例如表和视图)的子集。SQL

有关更多信息,请参阅 Amazon Redshift 文档中的优化查询性能

DBA

实施WLM。

您可以使用工作负载管理 (WLM) 来定义多个查询队列,并在运行时将查询路由到相应的队列。

有关更多信息,请参阅 Amazon Redshift 文档中的实施工作负载管理

DBA

使用并发扩展。

使用并发扩展功能,您可以支持几乎无限的并发用户和并发查询,同时提供始终如一的快速查询性能。

有关更多信息,请参阅 Amazon Redshift 文档中的使用并发扩展

DBA

使用设计表的 Amazon Redshift 最佳实践。

在规划数据库时,某些重要表设计决策对整体查询性能影响很大。

有关选择最合适的表设计选项的更多信息,请参阅 Amazon Redshift 文档中的设计表的 Amazon Redshift 最佳实践

DBA

在 Amazon Redshift 中创建实体化视图。

实例化视图包含基于对一个或多个基表的SQL查询而预先计算的结果集。您可以发出 SELECT 语句来查询实体化视图,这与查询数据库中的其他表或视图的方式相同。

有关更多信息,请参阅 Amazon Redshift 文档中的在 Amazon Redshift 中创建实体化视图

DBA

定义表与表之间的连接。

要在中同时搜索多个表 ThoughtSpot,必须通过指定包含跨两个表的匹配数据的列来定义表之间的联接。这些列表示联接的 primary keyforeign key

你可以使用 Amazon Redshif ALTER TABLE t 中的命令来定义它们,或者。 ThoughtSpot有关更多信息,请参阅亚马逊 Redshift 文档ALTERTABLE中的。

DBA
任务描述所需技能

添加 Amazon Redshift 连接。

向您的本地 F ThoughtSpot alcon 数据库添加 Amazon Redshift 连接。

有关更多信息,请参阅文档中的添加亚马逊 Redshift 连接。 ThoughtSpot

DBA

编辑 Amazon Redshift 连接。

您可以编辑 Amazon Redshift 连接以添加表和列。

有关更多信息,请参阅文档中的编辑 Amazon Redshift 连接。 ThoughtSpot

DBA

重新映射 Amazon Redshift 连接。

通过编辑您在添加 Amazon Redshift 连接时创建的源映射 .yaml 文件修改连接参数。 

例如,您可以将现有表或列重新映射到现有数据库连接中的其他表或列。 ThoughtSpot 建议您在重新映射连接中的表或列之前和之后检查依赖关系,以确保它们按需要显示。

有关更多信息,请参阅文档中的重新映射 Amazon Redshift 连接。 ThoughtSpot

DBA

从 Amazon Redshift 连接中删除表。

(可选)如果您尝试删除 Amazon Redshift 连接中的表,则 ThoughtSpot 会检查依赖关系并显示依赖对象列表。您可以选择列出的对象,以将其删除或移除依赖项。然后,您可以删除该表。

有关更多信息,请参阅文档中的从 Amazon Redshift 连接中 ThoughtSpot 删除表

DBA

从 Amazon Redshift 连接中删除含依赖对象的表。

(可选)如果您尝试删除包含依赖对象表,则阻止该操作。将显示 Cannot delete 窗口,其中包含指向依赖对象的链接列表。移除所有依赖项后即可删除该表

有关更多信息,请参阅文档中的从 Amazon Redshift 连接中删除包含依赖对象的 ThoughtSpot 表

DBA

删除 Amazon Redshift 连接。

(可选)由于一个连接可用于多个数据来源或可视化效果,因此必须先删除使用该连接的所有来源和任务,然后才能删除 Amazon Redshift 连接。

有关更多信息,请参阅文档中的删除亚马逊 Redshift 连接。 ThoughtSpot

DBA

请查看 Amazon Redshift 连接参考。

请务必使用文档中的连接参考提供您的 Amazon Redshift 连接所需的信息。 ThoughtSpot

DBA

其他信息