请教一个问题,你们公司的统计中心是用什么数据库架构搭建的。

204 天前
 longmeier90
先介绍一下 技术栈

python + mysql

由于数据量大,而且跨很多表查询比较慢,统计维度多。就想着重构一下 看看有什么好的技术栈给推荐一下吗。

订单表、患者表、检查数据表、挂号信息表

筛选条件 例:0-18 岁、患者来源 xxx 、距上次检查超过半年且近视度数大于多少且没有买 xxx 商品、等一些复杂多维度的查询,一联跨很多张表,而且直接从 mysql 取出数据还需要再加工拼接,所以说比较慢,不能所见即所得那种。

有没有这方面的大佬,就像我这种需求的话哪些技术栈比较合适,给点建议怎么才能更好的实现。
1610 次点击
所在节点    MySQL
10 条回复
zhenjiachen
204 天前
同求架构,我们现在是把数据多的同步到 clickhouse ,然后查询相对 mysql 快很多,但是领导需求千奇百怪,每次改代码都好麻烦。
Fooooo0
204 天前
Google 一下 "OLAP 实时统计 数据库",目前比较热门的是 clickhouse 和 Doris 。
当然你说的要解决一些复杂多维度的查询可能需要引入 ETL 预处理或者一些 BI 工具,单纯数据库解决不了这个问题。
luoyou1014
204 天前
简单点的话,直接用 mysql 中的 json 字段,这样就不用多表联查了,缺点是 json 的联合索引仅支持一个 json 字段,可以考虑采用虚拟字段来支持多个 json 索引
realpg
204 天前
数据量多大?有一亿行么?
我这 mysql 8700 万行不分表 没觉得数据量大性能差
ISO8859
204 天前
为什么不用 ES 呢
realpg
204 天前
没打完就发出去了
你这种需求,不需要换技术栈
而是需要统计常见维度,做非实时调度查询系统,放在冷库里有调度的专门跑这些查询
冷库里去掉各种字符串字段,各种字段能数值化就数值化


比如你说的:
0-18 岁、患者来源 xxx 、距上次检查超过半年且近视度数大于多少且没有买 xxx 商品

业务部门显然是要筛用户进行推广或者营销,这种都是低响应要求的。
不会因为 0.5 秒没出结果客户就跑了,行政开销远高于系统开销

多进行总结,预提报告数据,同时后台不断学习,创建预设维度自动跑,同时调度响应各种筛选维度
superchijinpeng
204 天前
CK Starrocks
bjzhush
204 天前
如果说做数据统计和聚合,我之前的项目用的是 apache kylin ,还不错
这玩意没法查出具体某一条数据,但是拿来做数据统计非常合适,有兴趣可以了解一下
SD10
204 天前
先搞清楚是做 OLAP 还是 OLTP ,解决方案不一样的。
MaxFang
204 天前
报表业务不要直接使用业务表,使用业务表就导致 join 漫天飞。
需要合理的规划表维度,从业务表抽取数据到报表,ETL 这类的。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/983028

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX