数据库设计,用于大流媒体数据,延迟最小

时间:2017-12-01 08:41:25

标签: database mongodb postgresql cassandra

以下是该场景: 客户下订单。 订单类型:物理/可下载。 订单来自:Web / App。 订单来自位置:英国,澳大利亚等。 将来可以有更多的维度。

考虑所有维度在每个订单中经常变化。而且数据非常庞大,每小时约有130万条记录。

想要以报告应该能够深入了解每个客户的任何请求维度的方式来设计它。

实施例: - 客户' A'已经下了多少订单类型'物理'来自' AUS' - 客户' A'已经下了多少订单。 - 客户' A'已经下了多少来自类型&'39;可下载'的订单。从' APP&#39 ;. 等

需要这些实时报告,因此低延迟写入和读取是必须的。什么nosql数据库可以很好地适应。如何将这些数据结构良好,以便能够在任何所需尺寸上切片和切块,以及多个维度的组合。

1 个答案:

答案 0 :(得分:0)

如果您需要高性能,那么我建议ScyllaDB可以处理超过1M ops/s per node(在一个好的硬件上)。它与Cassandra共享数据模型,因此您可以使用CQL对数据进行建模和查询。只需点击几下here即可为其提供免费试用。

关于建模:一种有用的技术是围绕您的查询进行建模。因此,如果您有特定的查询,则应准备一个以最有效的方式提供此查询的表。在这种技术中,您可以通过创建与您拥有的许多不同类型的查询具有相同数据的表来复制数据。复制数据需要付出代价,因此您需要根据需要权衡性能和成本。您可以阅读更多相关信息here