2016-11-25 89 views
0

目前,我正在使用時間序列數據庫來存儲跨不同商店的銷售。我有一個稱爲sales的測量,其中我有一個store_id標記,並且字段count設置爲1。我正在使用InfluxDB的下采樣功能來總結所有的count字段,以便每天只有一個計數。這很好。在這種情況下是否使用時間序列DB?

我的問題在於,我需要能夠在特定的時間範圍內在X軸上繪製所有產品的圖形,以及每個產品在Y軸上的售價。我在想,product_id將是標籤,count=1將是該領域。通過這種方式,我可以在規定的時間範圍內繪製出售的所有產品。但是,我擁有數十萬種產品,我不確定Influx如何對這些系列產品做出反應。

我是否應該使用別的方法來獲得在X時間內銷售的產品,或者有更好的方法來測量這種涌入量,還是我正確地做對了?

回答

1

這裏有一些變數參與其中。

  1. 什麼樣的硬件你運行InfluxDB上。
  2. 您擁有的商店數量。
  3. 您將針對您的實例運行什麼類型的查詢。
  4. 您正在使用的InfluxDB版本。
  5. 你的實例有什麼樣的讀/寫負載。

以我的經驗,一個1.1 InfluxDB實例可以在單一實例句柄約2-5億一系列的RAM 16G光讀/寫負載(假設你沒有做這樣的事情GROUP BY product_id)。

因此,您在很大程度上決定了這種模式的可行性。 〜10店應該可以。 ~100可能不是。

這就是說,這種模式應該在InfluxDB的1.2+版本中完全正常,因爲support for high cardinality tags and series is being added

+0

如果您無法通過產品ID進行分組,那麼您將如何瞭解只有多少銷售量的X產品? –

+0

你可以做'SELECT count(count)FROM sales where product_id ='X'',但是'SELECT count(count)FROM sales GROUP BY product_id'會有問題,只是因爲你要求數百萬個點返回一旦。 –