MySQL、PostgreSQL、ClickHouse、MongoDB区别,适用场景
关于数据库,大学时候我们只知道MySQL,稍微深入点再加上Redis、MongoDB等非关系型数据库。然而,进入公司接手一个项目,发现其中用到多种数据库,每种数据库都有自身的优势和局限性,故在此梳理下日常常用数据库、对应区别以及各自的适用场景。 mysql、postgresql、clickhouse、mongodb有什么区别,各自适合在什么场景下使用 一、常用数据库概览 1.1 关系型数据库 关系型数据库通常是业务型项目的主力数据库,原因以下: 方便业务建模,表的关系和业务之间的关联是类似的 数据一致性,关系型数据库一般支持ACID特性,可用于核心业务场景的数据持久化 关系型数据库的基本单位是表,表与表之间通过键关联,比如学生表和班级表,可以通过班级ID,把学生和班级关联起来。 关系型数据库的经典代表:MySQL、Orcle、PostgreSQL、SQLite等。 1.2 非关系型数据库 非关系型数据库其实只是一个比较笼统的叫法,实际分类下有非常多,这里只介绍键值对、文档、列式存储、图形结构等几种。 1.2.1...
安装Nvidia-Docker
Docker 和 NVIDIA Docker(nvidia-docker)可以同时存在于同一系统中,并且通常是这样配置的。 NVIDIA Docker 是在标准 Docker 的基础上添加的一个扩展,使得 Docker 容器可以访问 NVIDIA GPU。 检查 NVIDIA Docker 组件是否已安装 可以使用以下命令来检查 nvidia-container-toolkit 或 nvidia-docker2 是否已安装: 对于Ubuntu,使用: 1dpkg -l | grep nvidia-docker 或者: 1dpkg -l | grep nvidia-container-toolkit 下面是一些关于这两者关系和安装方式的详细解释: NVIDIA Docker 是什么? NVIDIA Docker(特别是 nvidia-docker2 或 NVIDIA Container Toolkit)不是替代 Docker 的独立应用,而是一套工具和插件,使得 Docker 容器能够以支持 CUDA 和其他 NVIDIA 库的方式,安全地访问宿主机上的 NVIDIA...
docker中图形化界面的转发
在Docker中默认情况下是没有图形化界面的,因为Docker主要是为无头(headless)环境设计的。如果想在Docker容器中运行图形化程序,并且希望这些程序的窗口显示在宿主机上,可以通过以下几种方式实现。 一、 使用X11转发(适用于Linux系统) Linux系统中通常使用X11作为显示服务器,可以通过X11转发来将容器内的图形化程序窗口显示到宿主机上 1.允许宿主机的X11连接: 在宿主机上执行以下命令,允许X11接受来自Docker容器的连接 1xhost + 注意:xhost + 会允许任何客户端访问宿主机的X服务器,可能存在安全风险。为了更安全的操作,可以指定特定的主机,例如: 1xhost +local:docker 2.运行Docker容器并设置DISPLAY变量: 在运行容器时,需要将宿主机的X11 socket目录映射到容器内,并设置DISPLAY变量,指定宿主机的X显示服务 1234docker run -it --rm \ -e DISPLAY=$DISPLAY \ -v...
Fast DDS入门-Fast DDS介绍
1 前言 Fast DDS是DDS(数据分发服务)规范的C++实现,DDS是由对象管理组(OMG)定义的协议。Fast DDS库提供应用程序编程接口(API)和通信协议,用于部署以数据为中心的发布-订阅(DCPS)模型,目的是在实时系统之间建立高效可靠的信息分发。Fast DDS在资源处理方面具有可预测性、可扩展性、灵活性和高效性。为了满足这些要求,它使用了类型化接口,并依赖于一个多对多的分布式网络范例,该范例巧妙地允许将通信的发布方和订阅方分离。Fast DDS包括: DDS API实现。 Fast DDS-Gen,一种用于桥接类型化接口和中间件实现的生成工具。 底层RTPS有线协议实现。 除了以上内容,Fast DDS已被选为Robot Operating System 2(ROS 2)在每个长期(LTS)版本和大多数非LTS版本中支持的默认中间件。 2...
fastDDS学习记录
一. Windows系统下fastDDS使用 官网下载fastDDS,已经是编译好的二级制安装文件,安装好之后,对应的fastDDS gen和需要的环境变量已经自动装好了。 直接按照网上教程,先写一个idl后缀文件,用来设置传输的数据类型 1struct HelloSeven { string sevenData; }; 然后运行:fastddsgen -example CMake...
VS2019安装配置QT插件
1、介绍 Windows的Qt开发,一般采用Visual Studio安装Qt插件的方法开发Qt程序,毕竟VS开发工具还是比QtCreator开发工具强大、好用的多。 本教程采用VS2019安装配置Qt插件(qt-vsaddin-msvc2019-2.6.0.vsix),默认已经安装了VS2019(已安装“MSVC V141-VS 2017 C++ x64/x86 生成…”选项)和Qt5.14(已安装“msvc2017 32-bit”和“msvc2017 64-bit”选项)。 如果未安装则需安装VS2019和Qt5.14,安装VS2019和Qt5.14需要注意以下: 安装VS2019,则需选择“MSVCV141-VS 2017 C++ x64/x86 生成…”选项,以支持VS2017的编译器,因为Qt5.14最高支持VS2017版本编译的Qt基础库。 安装Qt5.14,选中msvc201732-bit和msvc2017 64-bit选项,VS安装Qt插件后才能配置使用Qt的基础库(包括msvc201732-bit和msvc2017...
1553B命令字与消息传输
>>1553B简要介绍 ①1553B终端类型有总线控制器BC、远程终端RT和总线监视器MT。 ②1553B字类型有命令字、数据字、状态字。 ③1553B通讯方式为命令响应式,因此所有消息传输都必须由总线控制器发出的命令字来进行控制。 >>1553B 命令字定义 ①调制信号为曼彻斯特码,信号电平由高到低为“1”,由低到高为“0”。 ②总线传输速率为1Mb/s,即1us/位。 ③同步头由高到低占3位,共3微秒,与状态字同步头相同,与数据字同步头相反。 ④RT地址为11111时表示广播命令,此时T/R=0; ⑤方式域为全0(00000)或全1(11111)时表示方式命令,具体由方式码决定。 ⑥校验位为奇校验,当1—19位1的个数为偶数时校验位P=1;否则P=0。 >>1553B十种消息格式 说明:** 表示状态响应时间 #...
MIL-STD-1553B特性必知必会
基本概念 1553B是MIL-STD-1553B 的简称,MIL-STD-1553B是一种指令/响应式串行总线标准。该总线标准由美国国防部于 1973 年制定并颁布,全称为飞机内时分制指令/响应式复用数据总线。 使用光缆代替电缆的版本称为MIL-STD-1773B。 历史背景 在20世纪60年代以前,飞机机载电子系统没有 标准的通用数据通道,各个电子设备单元之间连接往往需要大量的电缆。随着机载电子系统的不断复杂化,这种通信方式所用的电缆将会占用很大的空间和重量,而且对传输线的定义和测试也较为复杂,费用较高。为了解决这一问题,美国 SAE A2K委员会在军方和工业界的支持下于1968年决定开发标准的信号多路传输系统,并于1973年公布了MIL-STD-1553B标准。1973年的1553B多路传输数据总线成为了未来军机将采用的技术,它取代了在传感器、计算机、指示器和其他飞机设备间传递数据的庞大设备,大大减少了飞机重量,并且使用简单、灵活,此标准的修订本于1978年公布,即MIL-STD-1553B标准。1980年,美国空军又对该标准作了局部修改和补充推出了...
1553B通信项目开发
最近接了个项目,需要用1553B协议通信,仅作为RT端口进行通信,控制器采用ARM。 使用芯片为国产的BU61580芯片,功能和引脚和DDC。 系统组成 MIL-STD-1553B时分制指令/响应多路传输数据总线采用半双工传输方式。MIL-STD-1553B数据总线上的节点分为三种不同的终端类型:总线控制器BC( Bus controller)、 远程终端RT ( Remote Terminal) 及监视器MT ( MonitorTerminal),典型拓扑结构见图 总线控制器BC:1553B 总线上的重要组成部分,唯一且不可或缺。一个1553B总线网络上只能有一个终端工作于BC模式,它用来启动和控制数据的传输。总线控制器按功能可分为普通模式和增强模式两种。其中,增强模式还提供了帧自动重复、自动重试及由处理器编程设置消息时间间隔等功能。 远程终端RT:各个子系统与整个1553B...
1553B总线使用介绍
(1)常用场景 MIL-STD-1553B总线标准已广泛用于飞机综合航电系统、装甲车辆综合电子系统、舰船综合电子系统等航空、航天、船舶、兵器、电子等领域。 国外航电系统起步较早,MIL-STD-1553B以其高可靠、稳定的特性,在美国等早已得到认可,且对1553B总线的使用已由军用飞机扩展到坦克、船舶、卫星、导弹等领域。 我国于90年代开始进行1553B协议的研究与产品研制工作,且目前已广泛应用。 (2)总线拓扑及终端 1553B总线拓扑结构如图1所示,从图可以看出,总线包含总线控制器(BC)、远程终端(RT)或总线监控器(BM)、耦合器、终端电阻、总线组成。 BC负责总线的调度、管理,是总线通讯的发起者和组织者**。**由于1553B总线采用中央集权式的总线管理, 在整个通讯过程中, 只有总线控制器是主动参与总线通讯的,...











