【产品调研】你有需要 TiDB 支持物化视图吗?参与调研可获得 100分,双肩包抽奖送!

场景描述:报表功能,单个物化视图基表为4–6张,有数据持续写入但是写入不是很频繁,能够接受物化视图更新延迟小时为单位,数据量大约30w,相关表只涉及查询。
痛点描述:目前是通过定时任务视图转换成实体表,提高效率,但是维护成本高,运维较为复杂
功能描述:手动更新能力有一定的价值
使用意向:使用需求强,可以接受手动更新能力。

场景描述:您当前业务中的哪些场景需要物化视图功能?统计用户数据
单个物化视图的基表(数据源)有几张表?三四个
是否有持续数据写入?每天定时写一次
相关表是否存在更新或者删除操作?有删除操作

痛点描述:您的系统是如何支持这些业务的,有遇到哪些痛点? 当前都是定时任务来算

功能描述:物化视图你需要哪些功能?主要是关联计算(例如:过滤,关联,聚集,分区等)手动更新能力对于您的业务有价值吗?有

使用意向:在提供自动更新能力之前,先提供手动更新功能,您会在业务中使用吗? 会
在优化器提供自动改写功能前,需要手动修改 SQL 以访问物化视图,您会在业务中使用吗? 会

  1. 场景描述
  • 当前的公司是做物联网,随着业务的扩展 ,越来越多的设备需要与数据库进行数据交互,需要使用到MV;
  • 单个物化视图的基表4~8张;
  • 数据写入需立即或者定时更新;
  • 延时不低于1h;
  • 单个视图数据在百万以上,存在大量更新操作;
  1. 痛点描述
    无法处理大规模的设备数据,复杂的查询操作困难,不方便分析和处理物联网领域的大数据。

  2. 功能描述

  • 过滤,关联,聚集,分区等都需要
  • 需要手动更新能力
  1. 使用意向
  • 会先使用手动更新,会在业务中使用

1.场景描述
业务需要多表关联取数据
2.痛点描述
多个大表关联导致数据库性能低,取数据慢
3.功能描述
物化视图增量的方式,类似oracle增量物化视图,比如按天增量物化视图
4.使用意向
会使用,首次取全量,后续通过增量方式同步物化视图,性能肯定有较大提升

可以直接参考starrocks/doris的增量物化视图,按分区来更新;
有了物化视图可以省去聚合表的烦劳;
或者改进tiflash的性能,使其能达到doris的高度

1.场景描述
需要多表计算数据
2.痛点描述
现在是大数据平台抽取后计算推会数据库
3.功能描述
类似oracle增量物化视图可以增量更新
4.使用意向
考虑系统稳定性,先观望

  1. 场景描述
    对外提供类似字典的数据,源表是从多个表中通过复杂逻辑组装的数据,数据有更新
  2. 痛点描述
    视图方法,运行较慢,频繁使用比较耗性能;
  3. 功能描述
    需要过滤,关联,聚集
  4. 使用意向
    会,总比现在的方式好;

需要,物化视图对于OLAP来说是很有必要的

  1. 场景描述
    每日定期提前算好多表join的数据,方便后续直接高效使用。

  2. 痛点描述
    只能从源表取数,慢,而且容易OOM

  3. 功能描述
    需要手动+定时更新的功能,可以进行多表的关联、过滤、聚集等

  4. 使用意向
    当然会考虑使用,现在是通过定时任务去更新集群上表

我能想到一个问题就是原来oracle下会生成海量规定日志,不知道tidb物化视图会不会生成很多binlog。希望产品经理在设计过程中要注意。

  1. 场景描述
    主要还是实时数据场景。单个物化视图的基表2-4张左右,不能太大。有实时的也有每天统一处理的。秒级延迟吧。单个物化视图的数据量不多100多G。删除更新均有一些,不多。
  2. 痛点描述
    管理复杂度问题吧,刷新策略的配置。
  3. 功能描述
    物化视图你需要哪些功能?越多越好吧,标准化配置,简单上手。
  4. 使用意向
    在提供自动更新能力之前,先提供手动更新功能,您会在业务中使用吗?在优化器提供自动改写功能前,需要手动修改 SQL 以访问物化视图,您会在业务中使用吗? 基本都是靠DBA人肉。
  1. 场景描述
    推广网站需要统计VU/PV、用户数据分析等,物化视图的基表5~10张左右,单个表的数据量大概在1000万左右,数据需要实时更新;
  2. 痛点描述
    数据量大运行较慢,存在多表join操作,对数据库性能产生较大影响;
  3. 功能描述
    需要过滤,关联,聚集等
  4. 使用意向

一、场景描述

每天处理大量的用户行为数据。需要经常对不同用户进行用户行为等进行深入分析,制定考核指标。同时,运营团队也需要实时了解关键业务指标的变化,以便快速做出决策。

二、痛点描述

  1. 数据查询缓慢:在处理大规模数据时,常规的查询操作可能非常耗时,导致分析和决策的延迟。特别是在高峰时段,多个用户同时进行复杂查询时,系统响应时间过长。
  2. 资源消耗大:频繁进行复杂查询会消耗大量的计算资源和存储资源,影响系统的整体性能和稳定性。
  3. 数据不一致:由于数据不断更新,不同时间点的查询结果可能不一致,给决策带来困扰。

三、功能描述

  1. 预先计算和存储:物化视图可以根据特定的查询需求,预先计算并存储结果。这样,在实际查询时,可以直接从物化视图中获取结果,大大提高查询速度。
  2. 自动更新:可以设置物化视图的更新策略,确保其数据与源数据保持同步。例如,可以定时更新或在源数据发生重大变化时自动更新。
  3. 优化查询性能:通过合理设计物化视图,可以针对特定的查询场景进行优化,减少查询的复杂性和资源消耗。
  4. 数据一致性保证:确保物化视图中的数据与源数据的一致性,提供可靠的分析基础。

四、使用意向

积分奖励已发放 :partying_face:
另恭喜 @MrSylar 参与调研并中奖获得 TiDB 2024 双肩包!

请联系 TiDB Robot 微信(tidbai),私信邮寄信息哟 :cowboy_hat_face:

img_v3_02et_76bc82ea-1f54-4c26-a860-dc2140bbcebg

菜鸟小白不懂什么叫物化视图,但是搜索了下,并且在一排评论看下来之后,也明白了一些。
这就是我一直想要的功能
1、 解释:对于普通视图而言,其真实数据在基表中,即每次查询视图都是需要执行查询语句。
有时候为了防止每次都查询,将结果集存储起来,这种有真实数据的视图,称为物化视图。

2、现状1:目前很多ap类在tidb上查不出结果,只能移交大数据做处理,优点是可以统一大模型提供给业务方使用。缺点也很明显:大数据人员有限,ap类报表分析在工单里排得遥遥无期。往往要延两周才有结果,还要时不时面对业务方报表加塞。

3、现状2:业务数据需要我们出逻辑,大数据处理数据。逻辑变动就需要再次排期。对于双方而言都是非常痛苦的过程

4、现状3:能在tidb中实现的报表,担心影响到数据库使用性能。专门走单独部署的节点做计算,但与其他节点内存共用,业务高峰期依旧不敢使用。因此都是定时任务处理之后新塞到一张表中。有需要每天重算的数据为了防止冗余还要每天清理,经常会导致表健康度快速下降。

5、结论:基于这些情况,如果有物化视图,从技术实现上来讲,简直不要太美好。必然会使用

2 个赞

我可以不用,你不能没有。 :sunglasses:

需要需要,社区版还需要全文检索、存储过程、同义词、dblink等等。

此话题已在最后回复的 7 天后被自动关闭。不再允许新回复。