我们计划为我们的平台提供分析服务。到目前为止,数据位于关系数据库中,并且当前的小规模分析正在此关系数据之上运行。大部分分析数据都是经过预先计算的,以减少延迟。
随着我们的成长,我们看到数据量呈指数级增长,并且分析也变得更加动态(使预计算变得困难)。
我们面临的问题是如何在不进行架构修改的情况下有效地进行扩展。要添加更多上下文,我们有〜30个表,其中10个表具有〜50M行和〜50列的行,其余的列和行数较小。我们的分析查询在这些较大的表上运行,并在情况下连接2-3个表。当前,由于数据量小,一切都在限制之内,但无法继续扩展。
我们解决问题的想法
将10个较大的表中的数据平铺到1-2个表中,这将避免我们的联接
使用方法1的分片
将数据放入NoSQL / Columnar解决方案,并依靠其高效的列级搜索优势
我知道,没有上下文和更多信息,这听起来可能是模糊或笼统的问题,但是我提供了我们问题的要点。我希望能从社区中获得指导或指示,这些社区是数据库管理方面的专家或曾经遇到过类似情况。