Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 高读写数据存储_Sql_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch - Fatal编程技术网 elasticsearch,Sql,elasticsearch" /> elasticsearch,Sql,elasticsearch" />

Sql 高读写数据存储

Sql 高读写数据存储,sql,elasticsearch,Sql,elasticsearch,我正在设计一个短链接服务。当人们点击我的一个短链接时,我想收集一些数据,如ip地址、用户代理等,然后将它们转发到他们的目的地。如果我的链接表增长到数千万,存储这些数据的最佳方式是什么。我不确定是否要使用弹性搜索之类的sql。这是一个基于观点的问题,但我会尝试回答。 操作的性能主要取决于将要进行的查询类型。所以真正的问题是你想用这些数据做什么?在处理大量数据时,一些概念如下: 批量插入 如果一次请求需要保存大量数据记录,则RDBMS和elasticsearch都为您提供了实现这一点的方法。(,)

我正在设计一个短链接服务。当人们点击我的一个短链接时,我想收集一些数据,如ip地址、用户代理等,然后将它们转发到他们的目的地。如果我的链接表增长到数千万,存储这些数据的最佳方式是什么。我不确定是否要使用弹性搜索之类的sql。

这是一个基于观点的问题,但我会尝试回答。 操作的性能主要取决于将要进行的查询类型。所以真正的问题是你想用这些数据做什么?在处理大量数据时,一些概念如下:

批量插入 如果一次请求需要保存大量数据记录,则RDBMSelasticsearch都为您提供了实现这一点的方法。(,)

数据分区 如果您处理的数据量很大,而且数据量不断增大,那么查询的执行时间会随着数据量的增加而增加。在某个时候,你可能会意识到,你需要申请

使用elasticsearch,您可以创建:您可以将此“流量分析”保存到2018-03-traffic、2018-04-traffic等索引中。。然后,您可以使用一个名称引用它们。请参阅问题。 Postgres,这也为您提供了

到目前为止还不错,让我们看看其他方面:

数据结构
  • 您的模式是否包含strong预定义的复杂规则?
    如果不是(我想这就是你的情况),你可以使用elasticsearch

  • 您将来是否需要将字段添加/删除到您的 现有模式?
    Elasticsearch更灵活地接受现有索引中的新字段,实际上您不需要做任何事情,在RDMS中,您应该自己管理它,或者更新表定义

  • 基于意见的结论 上述假设以及您希望在某个时候运行数据分析并将其可视化的假设使我得出结论,elasticsearch可能更适合您的情况。有了它,你就可以把它从盒子里拿出来


    注:
    1。我对给定的RDBMS链接使用PostgreSQL,因为我对此很熟悉。
    2。你也应该考虑RDBMS和弹性搜索。 非常感谢您或详细回答@Eirini。我主要关心的是缩短搜索时间。我希望能够尽快从传入uri中找到转发链接。这也取决于写操作(如果必须与读操作同时进行:)无论如何,如果使用正确的索引和适当的系统调优,您可以使用这两种方法实现目标。我希望,我帮了点忙