V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
MySQL 5.5 Community Server
MySQL 5.6 Community Server
Percona Configuration Wizard
XtraBackup 搭建主从复制
Great Sites on MySQL
Percona
MySQL Performance Blog
Severalnines
推荐管理工具
Sequel Pro
phpMyAdmin
推荐书目
MySQL Cookbook
MySQL 相关项目
MariaDB
Drizzle
参考文档
http://mysql-python.sourceforge.net/MySQLdb.html
longmeier90
V2EX  ›  MySQL

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

  •  
  •   longmeier90 · 2023-10-18 10:44:06 +08:00 · 1915 次点击
    这是一个创建于 387 天前的主题,其中的信息可能已经有所发展或是发生改变。
    先介绍一下 技术栈

    python + mysql

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

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

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

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


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

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

    多进行总结,预提报告数据,同时后台不断学习,创建预设维度自动跑,同时调度响应各种筛选维度
    superchijinpeng
        7
    superchijinpeng  
       2023-10-18 12:31:05 +08:00
    CK Starrocks
    bjzhush
        8
    bjzhush  
       2023-10-18 12:36:39 +08:00
    如果说做数据统计和聚合,我之前的项目用的是 apache kylin ,还不错
    这玩意没法查出具体某一条数据,但是拿来做数据统计非常合适,有兴趣可以了解一下
    SD10
        9
    SD10  
       2023-10-18 12:51:50 +08:00 via iPhone
    先搞清楚是做 OLAP 还是 OLTP ,解决方案不一样的。
    MaxFang
        10
    MaxFang  
       2023-10-18 13:32:22 +08:00
    报表业务不要直接使用业务表,使用业务表就导致 join 漫天飞。
    需要合理的规划表维度,从业务表抽取数据到报表,ETL 这类的。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2962 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 239ms · UTC 10:59 · PVG 18:59 · LAX 02:59 · JFK 05:59
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.