我们正在评估Amazon Redshift的实时数据仓库。如何实时加载到Amazon Redshift?
数据将通过Java服务进行流式处理和处理,并且应该存储在数据库中。我们逐行处理(实时),我们将只为每个事务插入一行。
将实时数据加载到Amazon Redshift的最佳做法是什么?
我们应该使用JDBC并执行INSERT INTO
语句,或尝试使用Kinesis Firehose或AWS Lambda吗?
我很担心使用这些服务之一,因为它们都将使用Amazon S3作为中间层,并执行COPY
命令,该命令适用于较大的数据集,而不适用于“单行”插入。
我们在几个维度表(100k-600k行)中拥有大约1TB的数据表,而AWS Redshft看起来像是合适的解决方案。但是,实时加载是必须的。 – fenix
另一个选择是[Amazon Athena](http://docs.aws.amazon.com/athena/latest/ug/what-is.html)(目前处于有限展示中),它使用Presto扫描存储在Amazon中的数据S3。您只需将数据存储在S3中,然后在其上运行雅典娜查询。如果可以压缩和分区数据,或以ORC/Parquet格式存储数据,则效果最佳。仅适用于查询,不适用于更新 - 您可以通过直接将其存储在S3中来更新数据。 –