【问题标题】:Amazon Datawarehouse architecture and design亚马逊数据仓库架构和设计
【发布时间】:2014-05-12 20:13:29
【问题描述】:

我在 Sql 服务器表中有一些航班预订数据,其中包含一位乘客的预订。

以下查询突出显示所有涉及的表以及连接

"SELECT distinct * FROM 
Booking B 
JOIN BookingPassenger BP
    ON B.BookingId = BP.BookingId
JOIN PassengerJourneyLeg PJL
    ON PJL.PassengerId = BP.PassengerId
JOIN InventoryLeg IL
    ON IL.InventoryLegId = PJL.InventoryLegId
join passengerjourneysegment ps
    on ps.PassengerId=  BP.PassengerId
WHERE IL.departuredate = '2014/03/26' and il.flightnumber = 123
AND B.CreatedDate < '2014/03/22'"

现在,税务部门需要将这些数据放入数据仓库,以便他们可以计算任何一天的每个航班或任何一天或特定日期内的所有航班的预订曲线。目前他们正在通过 excel 执行此操作,该操作通过 sql 获取数据,但它非常耗时且不提供实时数据。后来他们想从我们的公司预订网站收集数据,并想在这个数据仓库上管理客户资料,这将是我们的主要分析平台。我刚接触数据仓库,学习和研究如何实施有效的数据仓库以满足他们的需求。

有人可以帮助我如何收集数据吗?我应该将它上传到 dynamodb 还是 s3,作为一次性工作和经常性工作的最佳方法是什么?

此数据仓库的后续目标是绘制与 PNR 相关的所有信息。按天、按舱位、按子舱位、按事件等划分的航班收入。

后期,每次用户与我们的网站交互时,我都想将其存储在 redshift 中。那么我应该什么时候将文件写入 S3 或 dynamodb?有多少?即:-如果我确实在每个用户事件上将文件写入 S3,我最终会得到数百个文件,这似乎不是一个好的解决方案。引入 RDS 或 dynamodb 来存储每笔交易怎么样?或者是否可以允许服务器日志文件存储信息(用户在网站上的交互)并将任何事件(预订、取消等)记录到 RDS 或 Dynamodb 中?

什么是最佳实践?在我的特定场景中,最好的设计可能是什么?另外,如果有人可以请进一步说明如何实施?

在几分钟或几秒钟内返回包含 1-5 TB 数据的报告并避免任何重复或延迟的最佳做法是什么?

还有人可以建议如何易于维护并具有成本效益并与一些最佳解决方案相提并论?

我将非常感谢任何针对我的要求的数据仓库、亚马逊(Redshift、s3、Dynamo Db)技术主题的帮助、链接和建议。

【问题讨论】:

    标签: amazon-s3 data-warehouse


    【解决方案1】:

    有很多问题,我怀疑其中一些问题由于经过的时间而得到了回答。无论如何,让我解释一下我的想法。

    后来他们想从我们的公司预订网站收集数据,并想在这个数据仓库上管理客户资料,这将是我们的主要分析平台

    • 建立一个暂存区数据库是一个好主意,一个“草稿数据库”。您可以创建简单的表格来处理这些数据。

    有人可以帮助我如何收集数据吗?我应该将它上传到 dynamodb 还是 s3,作为一次性工作和经常性工作的最佳方法是什么?

    • 一个好的方法是使用一些 ETL 工具来收集数据。我喜欢 Pentaho CE 及其 PDI。

    后期,每次用户与我们的网站交互时,我都想将其存储在 redshift 中。那么我应该什么时候将文件写入 S3 或 dynamodb?有多少?即: - 如果我确实在每个用户事件上将文件写入 S3,我最终会得到数百个文件,这似乎不是一个好的解决方案。引入 RDS 或 dynamodb 来存储每笔交易怎么样?或者是否可以允许服务器日志文件存储信息(用户在网站上的交互)并将任何事件(预订、取消等)记录到 RDS 或 Dynamodb 中?

    • 我更喜欢最后一个想法。将您的服务器日志和时间副本存储到暂存数据库中,以便在暂存区域中保留更多的日志以用于统计目的。在我看来,这是最常见的做法。

    什么是最佳实践?在我的特定场景中,最好的设计可能是什么?另外,如果有人可以请进一步说明如何实施?

    在几分钟或几秒钟内返回包含 1-5 TB 数据的报告并避免任何重复或延迟的最佳做法是什么?

    • 有很多方法可以做到这一点,基本上是使用复制,延迟是性能的对应物。您确实需要选择分析数据所需的时间。前一天,也称为 D-1 是正常的。

    也有人可以建议如何易于维护并具有成本效益并与一些最佳解决方案相提并论?

    • 做好模型设计并保持简单,就像 IT 上的一切一样。

    希望对你有帮助

    【讨论】:

      猜你喜欢
      • 2013-12-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-15
      • 2017-02-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多