我有一个“数据库选择”和arhitecture问题。
使用例:
我的要求:
数据库应具有可扩展性和容错能力。因为可以很容易地上传大量的GB数据,所以如果存储空间不足,我应该很容易实现自动添加新的商品实例(使用AWS)。
数据库应该有一种复制方式,因为我们不想丢失数据。
由于我们只是流式传输数据,因此无需索引。
对于这个问题,您对数据库有什么建议?我们尝试将其上传到Amazon S3并让它们处理缩放等问题,但是存在读取/流式传输速度慢的问题。
谢谢, 伊万
答案 0 :(得分:0)
最初将文件上传到S3是可以的,但是先将它们拾取,然后将每一行都推送到Kinesis(如果需要,也可以将其推送到EC2上的Kafka);从那里,您可以连接您选择的流处理框架(Flink,Spark Streaming,Samza,Kafka Streams,Kinesis KCL)进行转换和扩充,最后您需要将结果通过管道传递到存储堆栈中允许流附加。一些明显的候选人:
您选择的哪一种在查询灵活性,延迟,集成选项/标准等方面都能满足下游需求。