需要有关数据存储选择的建议

Need advice on datastore selection

要求

必须有

可选

不需要

查询模式

{
  "item_id": "1234",
  "brand": "adidas",
  "average_price": 123,
  "rate_of_sale": 123,
  "visual information": {
    "img_url": "http://imgsdsd",
    "color": "red"
  }
}

由于您需要水平可伸缩性,因此 Mysql 等事务性存储不起作用。

既然要复合索引,那么Redis、Aerospike等键值存储和HBase、Cassandra等扩展键值存储就可以去掉了。

如果你有很多复合索引,MongodB效率低下。

Elastic search 或 Solr 支持所有用例(原子批量更新除外),尽管如果您要更新整个索引,这可以通过使用别名来解决。

Solr 通常可以多次更新文档。

如果复合索引数量不多,也可以考虑使用Mysql,做应用层分片

https://db-engines.com/en/ranking 是比较数据存储的好网站。