存储数TB的数据,然后导入到elasticsearch

时间:2016-06-04 09:28:52

标签: elasticsearch amazon-s3 redis relational-database google-cloud-storage

我正在寻找一种在云端存储多达20 TB数据(社交媒体帖子,推特数据等)的好方法,并逐步将其输入Elasticsearch(以启用分面搜索),以便快速搜索。我打算把它分成两步。将数据保存到存储,然后将其编入索引(第二天或下个月)。我见过提到Redis。这是否合适?使用AWS和S3或Google做这件事会更好吗?有没有更好的方法来使用Redis呢?数据编入索引后,我就不再需要原始数据了。

1 个答案:

答案 0 :(得分:2)

AWS非常适合,S3上传是免费的。他们有一个托管的ElasticSearch和Redis / ElasticCache,或者您可以在EC2上托管自己的。 Redis是一个不太适合动态搜索的内存中键值存储,而ElasticSearch是一个完全适合搜索和聚合的持久文档存储。

如果启用S3 Events,则文件创建事件可能会触发以Python或其他语言编写的AWS Lamba,以便在文件出现时自动读取数据并使用ElasticSearch http API进行插入。每月首批100万次Lamba执行是免费的。 ElasticSearch索引属性允许您选择将自动为搜索编制索引的字段。

完成AWS数据后,将其删除或将其存储类型更改为不常访问或减少冗余以节省您的帐单。我使用http://www.insight4storage.com/通过跟踪我的存储使用趋势来降低我的S3成本。