开个脑洞,假设有这么一个实时记录人体各项数据的设备 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
fileinthehole
V2EX    程序员

开个脑洞,假设有这么一个实时记录人体各项数据的设备

  •  1
     
  •   fileinthehole 2019-09-10 15:46:38 +08:00 3132 次点击
    这是一个创建于 2271 天前的主题,其中的信息可能已经有所发展或是发生改变。

    假设有这么一个实时记录人体各项数据的设备,每隔 10 秒采集一次佩戴者的心率,血压等共计 30 多项(实际有多少指标期待医学专业生回答),然后假设有这样一个实验组,实验组共计 12 人,假设有 100 个这样的实验组,都佩戴同样的设备。 那么问题来了: 1.使用 hibernate+mysql 怎么应该怎么设计数据库,要考虑到实验组的人数可能有变化,如果按人建表感觉不太现实,但所有人都放到一个表数据量将会非常庞大; 10 秒一采,100 组,每组 12 人,一天 86400s,要采集 8640 次那么将会产生 128640100 也就是 1000 多 W 条数据,这个数据在一天之内就破千万,会导致后面的查询变得很慢,有什么良好的解决方案? 2.假设采用了某种解决方案可以采集这些情况,以上的假设能否在生活中实现,是否可以根据佩戴者的数据变化及时发现病情,早发现早治疗从而延长人类寿命?

    11 条回复    2019-09-11 09:17:49 +08:00
    tubimasky
        1
    tubimasky  
       2019-09-10 16:23:55 +08:00
    时序数据库
    lihongjie0209
        2
    lihongjie0209  
       2019-09-10 16:31:06 +08:00
    1. 数据库设计和 hibernate 没关系
    2. 无非就是分表, 按人分可以, 按天分也可以, 看你的需求
    3. 如果一开始就预期到数据量非常大, 而且不需要事务, 那还是用 nosql,mongodb 之类的数据库
    lastpass
        3
    lastpass  
       2019-09-10 16:59:32 +08:00 via Android
    数据在一天之内就破千万并不是什么问题。
    我现在这 1 小时近一亿数据,也一样处理计算。
    不过不要直接使用 mysql,存储原生数据请使用时序数据库。
    mysql 可以用来存储预处理,计算之后的需要的少量数据。
    starsriver
        4
    starsriver  
       2019-09-10 17:06:25 +08:00 via Android
    千万级数据库根本不是什么问题。

    非要用 mysql,一般是分布式,索引做的好的话查询也是很快的,长期存储的话通常一个人使用一套系统,成本也不是很高。

    实际上难点在于如何实现稳定的数据并发。每秒一千多的并发要稳定下来不容易。
    lishunan246
        5
    lishunan246  
       2019-09-10 20:14:23 +08:00
    低配 InfluxDB
    硬件需求:
    CPU: 2-4 cores
    RAM: 2-4 GB
    IOPS: 500

    服务能力:
    writes per second < 5k
    Moderate queries per second < 5
    Unique series < 100k
    legiorange
        6
    legiorange  
       2019-09-10 20:49:21 +08:00
    每隔 10 秒采集一次佩戴者的心率,血压等共计 30 多项
    人数:12 人
    实验组:100 组

    1.使用 hibernte+mysql 怎么应该怎么设计数据库》和往常一样设计 ,但是我的想法是这样的

    传输协议:MQTT
    采集效率:10 秒 约 30 项
    文件格式:csv

    采集每一天活动的数据输入 csv 文件中。再将该文件同步到主机,主机取数据分析建模。存档备份。


    2.假设采用了某种解决方案可以采集这些情况,以上的假设能否在生活中实现,是否可以根据佩戴者的数据变化及时发现病情,早发现早治疗从而延长人类寿命?

    早已经有人实现了。
    opengps
        7
    opengps  
       2019-09-10 22:55:31 +08:00
    你来我这,参与下 GPS 实时定位系统的开发。硬件通信为 TCP 长连接,每隔 10s 一个定位点,随便一家平台设计承载量 10 万终端起步,这时候只用一台中等配置物理机就可以承载。

    关于连接数:负载均衡+多台虚拟机,用来共同承担连接数,需要注意的是网络设备不能限制并发连接数。比如硬件防火墙。

    关于数据库设计:传感器特点结构设计,能用时序数据库更省心,关系型数据库参考 https://www.opengps.cn/Blog/View.aspx?id=422

    关于读写性能:再好的设计也抵不过物理管道,好硬盘,多硬盘才是解决之道

    最后,这类系统都是需要在开发前就考虑横向扩展,推荐云架构。如果项目抵触公有云也可以自己搭建虚拟化用一堆虚拟机实现
    murmur
        8
    murmur  
       2019-09-10 23:21:08 +08:00
    1、需要储存的时候会做 24 小时心电图,这个是一人一台设备的,在医院集中监控没用,需要还原真实场景,而且还要记录下不适的时候,最后和医生的数据一起分析
    2、心率和血压实际上也就是苹果表那点东西,专业的心电图机是 12 导联的,没人愿意接那个东西,那东西测一次胸上俩印半天消不掉,而且心电图不是唯一的标准,实际上光一个基本的心脏检查就 100 多快,还得抽血看心肌酶,你 要是会连 12 导联的机器,现在稍微贵一点的机器都可以自动分析,问题是心电图现在还是要人工复查
    3、能实时监控,没用,你说的是护士站,机器实时分析+人工核对,什么心跳血氧血压都有,而且排除掉设备损坏或者接触不好的情况,那就请个医生来呗,现在设备早就不是问题,问题是怎么在你发病的时候正确进行心肺复苏,并且把你送到医院,要知道心电图异常可以非常严重,万一是个主动脉夹层啥的。。
    楼主怕是对心电图理解有什么问题,如果有问题要么是一瞬间的问题,这种需要做 24 小时心电,如果是毛病或者很严重随时去医院随时测,这不是股票行情,多少天多少个月的数据连起来可以分析出啥规律来
    xduanx
        9
    xduanx  
       2019-09-11 01:12:30 +08:00 via iPhone
    zabbix 监控就是 mysql,数据量也不小,我们 2T 的库默认配置,也没啥感觉
    fileinthehole
        10
    fileinthehole  
    OP
       2019-09-11 09:13:08 +08:00
    @legiorange 这种服务没有普及么?
    fileinthehole
        11
    fileinthehole  
    OP
       2019-09-11 09:17:49 +08:00
    @murmur 没有,我医学盲,我只是把我的实际问题抽象成大家能理解的一个方向,没想那么细- _ -
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2600 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 32ms UTC 05:38 PVG 13:38 LAX 21:38 JFK 00:38
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86