Sql和NoSql

本文讨论了SQL在处理大量更新和事务需求上的优势,以及在水平扩展和大数据场景中的局限性。同时,介绍了NoSQL数据库如MongoDB和InfluxDB在解决水平扩展、数据存储和查询效率方面的优势,以及在数据采集入库设计中的应用。

Sql和NoSql

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

SQL遇到的瓶颈:水平扩展

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

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

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

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

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

数据采集入库设计:

mysql:实时数据

influxdb:时序数据库,历史设备点位数据

monogdb/litedb:分组数据

https://github.com/lidanger/LiteDB.wiki_Translation_zh-cn/wiki

InfluxDB的写性能是MongoDB的2.4倍,存储效率是MongoDB的20倍,查询效率是MongoDB的5.7倍

InfluxDB函数:https://blog.csdn.net/yao_wen_yu/article/details/118182220

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值