SQLServer 的多表查询,每个表百万条数据,增量不多,要求实时变化或者 5 分钟刷新一次,有啥好美国服务器的解决方案吗?
ES 适合做吗?(公司有 ES 集群,大数据框架我只接触过 es )
es 可以的,
实际上百万级我觉得 sql 数据库也完全能抗住... 毕竟数据量少
试试统计可以试试 flink
实时
sql 涉及各种计算,年度统计的时候很慢,报表太多,不想优化 SQL,想找一种统计方案(具体情况我不太清楚,领导给的信息比较少)
flink 需要其他关联的框架吗?学习成本怎么样?
才百万数据, 全部塞内存里就行了
接入难度一般,官方文档还算全。实时维表统计比较方便。现在也流行这么玩。可以搜下「 flink 批流一体」,有不少大厂的经验介绍。
/>年度统计不需要实时吧?截至到一个时间的统计,然后存统计结果
定时查询然后放到 Redis ?
/>你还是去问清楚详细需求吧,一般大周期(季、半年、年)的统计都是专门做报告的,实时的统计更多用于监测“异常”和分析变化趋向,年报数据每几分钟变一次是很奇怪的 —— 报告不可信
至于用什么,那不是我擅长的
百万级 数据库就可以,ES 完全无压力
百万很小量级了
我就是用的 es,一个索引十几亿条数据无压力
flink
没有关键词查询需求的话建议 Clickhouse,简单粗暴,性能强劲
15 楼的方案可以考虑
ClickHouse +1
分级汇总。简单的说就是今年之前的数据是不变的,可以按需求汇总之后存起来。然后今年 1 、2 月份的数据也是不变了,也可以按月 /日汇总后存起来。剩下的也就是查当月数据罢了。或者干脆连当月的数据也按天汇总存起来,竟只需查询当日数据就够了。
Clickhouse +2,而且还可以帮你涉及下新的领域?
巧了,我最近就在搞报表开发,大多是百万数据表,千万表目前有一张(但是这张表涉及的统计不多)
-------------------------------------------------
针对报表开发,我们单独弄了个库,把原始数据同步过来专门用于报表开发,在同步的过程中会把一些必要的字段进行冗余,连缓存都没用
现在那些百万表的关联查询,数据库完全能扛得住,适当的加些索引,当下一点问题都没有
--------------------------------------------------
当然你要问有没有隐患,那肯定有,过些年这些报表肯定越跑越慢,到时候肯定要优化,到时候分表、缓存之类的搞起来,基本上也能解决了,现阶段就不是我需要考虑的了,工期就这么多
百万级直接用关系型数据库都能扛得住…
搞聚合查询不算是 es 专长,可以考虑 clickhouse 或者 greenplum,甚至 flink
两位大哥。clickhouse 貌似不支持高并发的吧。
年报统计 5 分钟刷一次?定这技术需求的人是不是从来没有做过 OLAP ?月报年报根本不可能是实时报表,都是定期任务,明细数据输入截止后执行一晚上,第二天就能看所有报表了,即使单表上千万也足够。上亿数据就得用大数据计算框架,Spark/Flink 等都可以,但这得准备很多硬件资源
clickhouse 做 OLAP 比较合适,高并发这个要求得看具体场景,很多大厂还是有 clickhouse 的实践经验的。
公司应该是想做实时数据分析,这方面用什么框架?
Spark/Flink 都可以做实时流式计算,需要配合 Kafka,场景是类似用户行为分析(商用),交通流量分析(公共服务)这样,短时间窗口内快速计算较多数据(例如 10 秒 1000 下单的分析),几秒出结果。报表属于离线计算,针对每次几千万数亿或更多的数据量,可能要 10 几分钟甚至几小时才出结果。建议厘清实际技术需求做些调研。
好的,谢谢老哥解惑