Sql和NoSql

发布时间 2023-09-28 12:01:19作者: CHHC

Sql和NoSql

SQL使用:如果有大量的更新操作,一定要使用事务,效率高。大数据情况下,要对表字段建索引。比nosql好的地方:有事务,能回滚。

SQL遇到的瓶颈:水平扩展

场景:不同设备(水泵,流量计),不同属性的数据采集,统计分析

水泵表(泵id,组id,泵状态,选择开关,故障状态)
流量计表(泵id,组id,瞬时流量,累计流量)
水泵历史数据表(泵id,泵状态,选择开关,故障状态)
流量计历史数据表(泵id,瞬时流量,累计流量)

数据展示:联表查询(问题:大数据下,查询慢)
1. 同类型不同品牌的设备,有各自的属性,就得水平扩充字段
2. 数据量大,为减少联表查询的耗时,会将同组设备的所有字段入库(方案1:建字段(参数值需跟设置属性值对应,做好对照表);方案2:用json存储),哪种方案都得水平扩充,受关系型数据库最大字段数,字符串最大长度限制

而nosql可以很好的解决水平扩展问题。

nosql,不仅可以存key/value,文档,文件,更加容易的分表(本地文件:lietedb,服务器:monogdb),缓存:redis