Sql和NoSql

news/2024/12/29 8:45:54/

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


http://www.ppmy.cn/news/1143736.html

相关文章

LVGL8.3.6 Flex(弹性布局)

使用lv_obj_set_flex_flow(obj, flex_flow)函数 横向拖动 LV_FLEX_FLOW_ROW 将子元素排成一排而不包裹 LV_FLEX_FLOW_ROW_WRAP 将孩子排成一排并包裹起来 LV_FLEX_FLOW_ROW_REVERSE 将子元素排成一行而不换行,但顺序相反 LV_FLEX_FLOW_ROW_WRAP_REVERSE 将子元素…

修炼k8s+flink+hdfs+dlink(三:安装dlink)

一:mysql初始化。 mysql -uroot -p123456 create database dinky; grant all privileges on dinky.* to dinky% identified by dinky with grant option; flush privileges;二:上传dinky。 上传至目录/opt/app/dlink tar -zxvf dlink-release-0.7.4.t…

Pytorch-学习记录-1-Tensor

1. 张量 (Tensor): 数学中指的是多维数组; torch.Tensor data: 被封装的 Tensor dtype: 张量的数据类型 shape: 张量的形状 device: 张量所在的设备,GPU/CPU requires_grad: 指示是否需要计算梯度 grad: data 的梯度 grad_fn: 创建 Tensor 的 Functio…

跨平台应用开发比较,QT还是Electron

开发技术比较 在技术选择中,我们选中了两个技术路线,一个是基于C的QT,一个是基于nodejs的electron,我们仔细比价了两个产品的优缺点。 electronQT开发简单,上手快速上手慢,但是性能高适用于一些单一功能的…

[Android] Input事件分发流程之InputDispatcher(3)

InputDispatcher线程 先看看notifyMotion方法,因为是从InputReader中传递过来的,并携带了NotifyMotionArgs实体 void InputDispatcher::notifyMotion(const NotifyMotionArgs* args) {...// 日志输出ALOGD("notifyMotion - id%" PRIx32 &quo…

spring 事物源码阅读之传播特性实现

Spring事务传播特性是指在多个事务操作之间如何管理事务的行为。Spring框架提供了不同的事务传播特性,用于定义事务的边界和隔离级别。先来回顾下spring事务传播有哪些类型 传播类型 PROPAGATION_REQUIRED(默认):如果当前存在事…

Windows环境下下载安装Elasticsearch和Kibana

Windows环境下下载安装Elasticsearch和Kibana 首先说明这里选择的版本都是7.17 ,为什么不选择新版本,新版本有很多坑,要去踩,就用7就够了。 Elasticsearch下载 Elasticsearch是一个开源的分布式搜索和分析引擎,最初由…

【Kotlin精简】第1章 基础类型

1 Kotlin基础类型 Kotlin中,我们可以调用任何变量的成员函数和属性,从这个角度来说,一切皆对象。某些类型可以有特殊的内部表现。例如:数字、字符和布尔型在运行时可以表现为基础类型(primitivetypes)。 …