2017-07-11 82 views
0

我们可以将Teradata迁移到Amazon DynamoDB吗?我们可以将Teradata迁移到DynamoDB

说例如我在Teradata中有table_1,我需要在DynamoDB中创建相同的表table_1,并且我需要将Teradata table_1中的数据移动到dynamodb table_1。这是我可以实现的吗?

说我在Teradata有这张桌子。我可以在DynamoDB中创建此数据,并且可以将数据从Teradata移动到DynamoDB吗?

CREATE SET TABLE FDM_TABLES_DB.OA3NF_CUSTOMER , 
NO FALLBACK , 
    NO BEFORE JOURNAL, 
    NO AFTER JOURNAL, 
    CHECKSUM = DEFAULT, 
    DEFAULT MERGEBLOCKRATIO 
    (
     CUSTOMER_ID DECIMAL(18,0) NOT NULL, 
     CUSTOMER_NAME VARCHAR(360) CHARACTER SET LATIN CASESPECIFIC, 
     CUSTOMER_TYPE_CD VARCHAR(30) CHARACTER SET LATIN CASESPECIFIC NOT NULL, 
     OA_LAST_UPDATE_DTTM TIMESTAMP(6) FORMAT 'YYYY-MM-DDHH:MI:SS', 
     OA_YEAR_ESTABLISHED DECIMAL(4,0), 
     OA_CUSTOMER_STATUS_CD VARCHAR(10) CHARACTER SET LATIN CASESPECIFIC NOT NULL, 
     OA_CUST_FISCAL_YEAREND_MONTH VARCHAR(30) CHARACTER SET LATIN CASESPECIFIC, 
     CUSTOMER_NUMBER VARCHAR(30) CHARACTER SET LATIN CASESPECIFIC) 
PRIMARY INDEX OA3NF_CUSTOMER_1 (CUSTOMER_ID); 

我们之前做过CBS(哥伦比亚广播系统)项目。

在此项目中,我们使用Informatica PowerCenter将数据从Oracle迁移到Teradata。客户现在正在考虑将数据移动到AWS,我的经理要求我检查我们是否可以将数据从Teradata迁移到DynamoDB?如果是的话我们如何实现它?

例如,我在Teradata的3个表:

  1. 根据客户的客户,我们有列在下面根据产品

    • CUSTOMER_ID,CUSTOMER_NAME
  2. 产品,我们下面有列

    • PRODUCT_ID,PRODUCT_NAME,CUSTOMER_NAME地址表下

3.address我们有下面列

  • CUSTOMER_ID,customer_address,CUSTOMER_NAME

随着CUSTOMER_ID或CUSTOMER_NAME的帮助我可以一次从所有三个表中获取数据。

您是说我们无法在DynamoDB中实现此目的,因为它是NoSQL数据库。所以,如果我想从DynamoDB的所有三个表中获取数据,我需要做什么?

基于我们开发的项目,如果我们要从Teradata加载数据,我们需要将其加载到DynamoDB中,我们有维度表和事实表。我的问题是否可能?

幸运的是,我们也需要报告。

+0

你可能想要加载到Redshift中,不是吗? – Henry

+0

是的,团队正在研究@Henry,但我的任务是寻找第二个可以通过dynamodb实现的选项。 – sethu

+1

这就像要求替代飞机,但涉及一辆自行车。它根本不可行。是的,从技术上讲,您可以在DynamoDB中拥有数据仓库,但是您不必为其构建远程数据仓库。非Redshift的替代方案是Athena,EMR/Hive,并且可能在DynamoDB上有一个EMR/Hive。 – Henry

回答

0

Amazon DynamoDB是NoSQL数据库。

尽管您肯定可以将数据迁移到DynamoDB,但您无法对DynamoDB运行SQL命令。

传统上,SQL数据库(例如Teradata)用于报告。这是用简单的命令翻阅大量数据的好方法。但是,查询可能需要时间,从几秒到几分钟不等。

NoSQL数据库(如DynamoDB)不接受SQL。它通常以编程方式访问。但是,它的好处是它具有高度可扩展性,并且可以提供有保证的查询速度 - 但查询只是简单的Get/Put而不是复杂的查询。

所以...是的,你可以迁移它。但是,你是否希望这样做取决于你的用例。

+0

感谢你的回复@john Rotenstein,需要小小的帮助..我有几个更多的问题请好好回答我,这将帮助我很多.. – sethu

+0

1.so我们可以迁移teradata以dynamodb你能解释我怎么能够迁移2.我们需要哪个工具喜欢将数据从teradata迁移到dynamo db 3.在dynamodb中是否存在连接...?如果没有,我们需要如何定义一个表与另一个表之间的关系?假设我有“customer”表和“product”表,那么我可以从dynamodb中的两个表中获取数据,就像我可以在sql中获得的数据一样? – sethu

+0

SQL数据库是*关系数据库*。 Amazon DynamoDB不是关系数据库。因此,您无法定义表格之间的关系,并且一次只能从一个表格访问数据。我可以问......为什么您要考虑迁移到DynamoDB?你能告诉我们更多关于你的用例吗? (随意编辑问题以添加详细信息,而不是将其添加为注释。) –

相关问题