学习笔记:数据库简介
数据库是一系列可以方便的访问和修改的数据的集合。
所有数据库管理系统的主要工作都是可靠的存储数据并使其对用户可用。
目前最常见的数据库模型主要是两种,即关系型数据库和非关系型数据库。
一、按数据的组织方式
数据从组织的角度上,主要分为结构化数据和非结构化数据两类。
结构化数据是带有固定结构的数据,在组织形式上是整齐格式化的,同一数据对象的所有数据都具有完全相同的结构。比如人员信息数据,定义为“身份证号、姓名、籍贯、出生日期”这种结构后,所有人员的信息都会按照这个固定的格式来组织。结构化数据是数据库中最常见的数据,也是数据库最擅长处理的数据。
非结构化数据可以理解成结构化数据之外的一切数据,这类数据无法预先定义格式,其字段类型和数量是可变。比如qq聊天发送的数据可以是图片、文字、语音等等,非结构化数据是生活中数量最庞大的数据。
根据数据的组织方式,数据库可以分为结构化数据库和非结构化数据库。结构化数据库中通常会使用关系模型表达不同的结构化数据及其之间的关系,因此结构化数据库也被称为关系型数据库,对应的,非结构化数据库被称为非关系型数据库。
二、按存储介质
数据库存储和管理数据,一定离不开存储介质。从存储介质角度,数据库通常会为磁盘数据库和内存数据库两种,其中内存数据库被称为主存数据库。
磁盘数据库的数据都存储在磁盘上,具体在磁盘上的存储格式可以是文件系统、裸设备或云存储。磁盘数据库在数据的持久化保存上有明显优势。受限于硬件技术,磁盘数据库是当前的主流。
内存数据库的数据主要存储在内存中,因此有非常高的运算效率。内存数据库并非完全不使用磁盘,数据库的启动信息、初始数据等还是需要存储在磁盘上的,只是数据主要在内存中进行存储和运算。由于内存数据库的数据存储在内存中,数据库主机关机后数据会丢失,因此在数据库服务关闭前通常都需要把内存中的数据转储到磁盘上。
三、按数据处理场景
在业务上,传统的数据处理主要分为两类,一类是面向交易、产生数据的场景,业界称为“在线事务处理”场景,简称 OLTP;一类是面向分析、对既有数据进行分析利用的场景,业界称为“在线分析处理”场景,简称OLAP。对应的,分别面向这两种数据处理场景的数据库就是OLTP数据库和OLAP数据库。
OLTP数据库强调数据的强一致性和并发处理性能,这类数据库有强大的事务处理能力,适合处理事务密集型的应用场景,通常以每秒完成的事务数(TPS)来衡量数据库能力。OLTP数据库通常是以单机形式存在的,但在生产环境中往往需要部署高可用集群以保证数据库系统的可用性。
OLAP数据库强调基于海量数据的分析汇总能力,适合处理数据密集型的应用场景,通常需要数据库具备对海量数据进行随机查询、关联查询和分组统计查询的能力。OLAP数据库可以部署为单机形式,但更多的是以MPP集群的形式部署的。
HTAP数据库,通常是以“存算分离”的架构形式来同时满足OLTP和OLAP应用需要的,同时兼顾OLTP能力和OLAP能力。
四、按数据分布方式
据数据是如何被管理的,数据库可以分为集中式数据库和分布式数据库两类。
集中式数据库是数据被数据库实例集中管理的数据库类型,数据库实例可以看到和管理全部的数据。集中式数据库通常是以单机形式存在的,生产环境中往往部署为高可用集群。
布式数据库的数据是由不同实例以分布式的形式对全量数据进行管理的数据库,每个实例仅管理全量数据中的一部分(通常称为分片)。分布式数据库通常是以分布式集群的形式存在的。
五、数据库集群
数据库集群是由多个数据库实例组合在一起、以单一数据库形态对外提供数据服务的组合,在物理上通常由多个服务器组成,在逻辑上是一个数据库服务。集群中的单个数据库实例通常称为节点。数据库集群通常分为高可用集群和MPP集群。
高可用集群是以高可用为目标而构建的集群,根据高可用的实现机制,这类集群又可以分为主备集群和共享存储集群。主备集群中的节点有主次之分,集群中必须有一个主节点且只能有一个主节点,但可以有一到多个备节点。共享存储集群的节点可以有主次之分,也可以完全对等,由集群的具体的实现技术决定。
MPP集群是为应对基于海量数据的存储和管理需要而构建的集群,这类集群中有多个计算节点,可能有一个或一组管理节点,也可能没有管理节点。
关系型和非关系型数据库
关系型数据库模型是将复杂的数据结构用较为简单的二元关系(二维表)来表示。在该类型数据库中,对数据的操作基本上都建立在一个或多个表格上,我们可以采用结构化查询语言(SQL)对数据库进行操作。关系型数据库(RDBMS)目前主流的数据可技术。具有代表性的数据库管理系统有:Oracle、DB2、SQL Server、MySQL等。 简记:关系 = 二维表 关系型数据库都是把数据保存在硬盘上,不会随着关机而丢失数据
非关系型数据库(NoSql)Redis 键值存储数据库Mongo db 文档数据库Hbase 列存储数据库Column-oriented 列存储数据库Neo4J 图形数据库 非关系型数据库是把数据保存在内存中,电脑一旦关机数据也会丢失。 非关系型数据库严格上不是一种数据库,应该是一种数据结构化存储方法的集合,可以是文档或者键值对等.存储数据的格式可以是key,value形式、文档形式、图片形式等等
磁盘数据库和内存数据库
磁盘数据库需要频繁地访问磁盘来进行数据的操作,处理速度较慢 典型的磁盘数据库就是最常用的 Oracle,Mysql,Mongodb、postgresql等。
内存数据库数据处理速度比传统数据库的数据处理速度要快很多常用内存数据库Redis
OLTP数据库、OLAP数据库及HTAP数据库
联机分析处理OLAP,系统强调数据分析 OLAP的特点:实时性要求不高。数据量大,例如时间序列分析等,处理的数据量很大。决策支持,查询一般是动态的,也就是说允许用户随时提出查询的要求
联机事务处理OLTP也称为面向交易的处理系统,其基本特征是顾客的原始数据可以立即传送到计算中心进行处理,并在很短的时间内给出处理结果。OLTP是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易。 OLTP的特点:实时性要求高;数据量不是很大;交易一般是确定的,所以OLTP是对确定性的数据进行存取;并发性要求高并且严格的要求事务的完整,安全性。
相关文章:
学习笔记:数据库简介
数据库是一系列可以方便的访问和修改的数据的集合。 所有数据库管理系统的主要工作都是可靠的存储数据并使其对用户可用。 目前最常见的数据库模型主要是两种,即关系型数据库和非关系型数据库。 一、按数据的组织方式 数据从组织的角度上,主要分为结…...

day18_集合
今日内容 零、 复习昨日 一、集合框架体系 二、Collection 三、泛型 四、迭代 五、List 六、ArrayList 七、LinkedList 零、 复习昨日 晨考 一、集合框架体系 数组: 是一个容器,用来存放数据的 定长只能存储同一种数据类型的数据int[] 可以存储int值,Student[] 可以存储引用类型…...
Go面试必会基础题
文章目录 1.下面代码有什么错误?2.下面代码有什么问题?3.下面代码输出什么?4.下面这段代码输出什么? 1.下面代码有什么错误? func main() {one : 0one : 1 }参考答案及解析:变量重复声明。不能在单独的声…...

发送封包协议实现XXZ批量秒分解装备
通过发送封包,我们可以让一些反复的枯燥的行为变的简单,高效。 比如XXZ的萃取装备,我们可以一瞬间萃取大量的装备,而省去读条的过程。 我们来萃取一下看看效果 手动萃取是有读条的,那么如果很多装备的话,…...

Spring学习——Nginx
Nginx概述 Nginx介绍 Nginx是一款轻量级的web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx的网…...

记录 vue-cli 安装过程
1. VueCli CLI 是 Commond-Line Interface 的缩写 如果开发大型项目,肯定需要考虑代码目录结构、项目结构和部署、热加载、代码单元测试等事情,那么你必然需要使用 VueCLI,使用 VueCLI 可以快速搭建 vue 开发环境以及对应的 webpack 配置。 …...

含氢微网优化调度模型matlab
目录 1 主要内容 模型示意图 目标函数 2 部分程序 3 程序结果 4 下载链接 1 主要内容 最近咨询含氢微网优化调度模型的同学较多,本次就分享一个高质量的源码资源。该程序方法复现《Simulation of design and operation of hydrogen energy utilization syste…...

【springcloud开发教程】路由网关——zuul
官方资料:https://github.com/Netflix/zuul/ 什么是Zuul? Zuul包含了两个主要的功能:路由和过滤 路由功能将外部请求转发到具体的微服务实例上,是实现外部访问统一入口的基础,而过滤器功能则负责对请求的处理过程进行干预&#…...

DF竞赛平台携手嬴彻科技与清华大学智能产业研究院,助力自动驾驶挑战赛圆满落幕!
由DataFountain竞赛平台(简称DF平台)提供办赛支持的「首届“嬴彻-清华AIR杯”自动驾驶挑战赛:决策规划算法」已圆满落幕。作为一场前沿性自动驾驶类比赛,本次大赛立足“高速道路”和“城市道路”两大真实场景,选择“半…...

234:vue+openlayers 加载本地shp数据,在map上显示图形
第234个 点击查看专栏目录 本示例的目的是介绍演示如何在vue+openlayers中利用shapefile读取本地的shp数据,并在地图上显示图形。 直接复制下面的 vue+openlayers源代码,操作2分钟即可运行实现效果 文章目录 示例效果安装引用配置方式示例源代码(共143行)相关API参考:专栏…...

网络模型-网络体系结构(OSI、TCP/IP)
网络模型(网络体系结构) 网络模型网络的体系结构OSI模型TCP/IP模型OSI和TCP/IP模型对应关系图 常见网络协议 网络模型 网络的体系结构 1、网络采用分而治之的方法设计,将网络的功能划分为不同的模块,以分层的形式有机组合在一起…...

园区智慧导览地图软件,智慧工厂导航定位怎么解决方案的
智慧工厂导航定位怎么解决方案的地图新基建是行业的核心数字基础需求之一,行业内中已构建了较为完整的城市级地理信息系统。园区管理涉及众多方面,因此园区的智慧信息化建设至关重要,需求越来越广泛。在智慧园区中,基于园区的电子…...

Redis高可用之3种集群方案对比
Redis集群方案使用建议: Redis cluster:除非是1000个节点以上的超大规模集群,优先考虑使用Redis clustercodis:旧项目如果仍在使用codis,可继续使用,但也推荐迁移到Redis clustertwemproxy:不建…...
java 线程唤醒于阻塞的常用方法
1.分类描述 1.sleep() 休眠2.suspend() 暂停和 resume() 继续3.yield() 让步 就是我放弃本次执行,但继续排队,下一次有机会在执行。 4.wait() 和 notify() notifyAll() 注:这两个方法,属于Object类,而不属于Thread…...

面包多面包多面包多面包多面包多面包多
1.背景 1.摘要 本文是针对智慧政务中的文本数据挖掘应用的研究。通过建立基于三层网络结构的fastText文本分类模型,聚类量化模型,熵权评估模型解决了群众留言分类,热点问题挖掘,答复意见评价等问题。 针对群众留言分类问题&#…...

windows下Tomcat安装
目录 1.安装java环境 2.配置Tomcat环境变量 3.安装服务 4.启动前修改配置文件 (1)设置tomcat端口 (2)设置临时日志等文件夹的位置 5.放入应用 6.启动Tomcat服务 1.安装java环境 安装tomcat版本对应的JDK 比如:…...

4月17号软件资讯更新合集.....
CrateDB 5.3.0 发布,分布式 SQL 数据库 CrateDB 是一个分布式的 SQL 数据库,使得实时存储和分析大量的机器数据变得简单。CrateDB 提供了通常与 NoSQL 数据库相关的可扩展性和灵活性,最小的 CrateDB 集群可以轻松地每秒摄取数万条记录。这些…...

[java基础]面向对象(五)
访问控制修饰符:--------------保护数据的安全(隐藏数据、暴露行为),实现封装 public:公开的,任何类 private:私有的,本类 protected:受保护的,本类、派生类、同包类 默认的&…...

React应用(基于React脚手架)
目录 前言:一、使用create-react-app创建react应用1、什么是 react 脚手架?2. 创建 cli 脚手架方式13. 创建 cli 脚手架方式24. npx:5. react脚手架项目结构6. 功能界面的组件化编码流程(通用)7. 如何更改脚手架版本 二、React 组…...
Redis(03)List--附有示例
文章目录 reids-listBLMOVEBLMPOPBLPOPBRPOPBRPOPLPUSHLINDEXLINSERTLLENLMOVELMPOPLPOPLPOSLPUSHLPUSHXLRANGELREMLSETLTRIMRPOPRPOPLPUSHRPUSHRPUSHX reids-list 本文介绍了Redis中的表命令。LSET用于设置列表中指定索引位置的元素的值;LTRIM用于按照索引范围修剪…...
浏览器访问 AWS ECS 上部署的 Docker 容器(监听 80 端口)
✅ 一、ECS 服务配置 Dockerfile 确保监听 80 端口 EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]或 EXPOSE 80 CMD ["python3", "-m", "http.server", "80"]任务定义(Task Definition&…...
Java 语言特性(面试系列1)
一、面向对象编程 1. 封装(Encapsulation) 定义:将数据(属性)和操作数据的方法绑定在一起,通过访问控制符(private、protected、public)隐藏内部实现细节。示例: public …...

1.3 VSCode安装与环境配置
进入网址Visual Studio Code - Code Editing. Redefined下载.deb文件,然后打开终端,进入下载文件夹,键入命令 sudo dpkg -i code_1.100.3-1748872405_amd64.deb 在终端键入命令code即启动vscode 需要安装插件列表 1.Chinese简化 2.ros …...

[10-3]软件I2C读写MPU6050 江协科技学习笔记(16个知识点)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...

新能源汽车智慧充电桩管理方案:新能源充电桩散热问题及消防安全监管方案
随着新能源汽车的快速普及,充电桩作为核心配套设施,其安全性与可靠性备受关注。然而,在高温、高负荷运行环境下,充电桩的散热问题与消防安全隐患日益凸显,成为制约行业发展的关键瓶颈。 如何通过智慧化管理手段优化散…...

HBuilderX安装(uni-app和小程序开发)
下载HBuilderX 访问官方网站:https://www.dcloud.io/hbuilderx.html 根据您的操作系统选择合适版本: Windows版(推荐下载标准版) Windows系统安装步骤 运行安装程序: 双击下载的.exe安装文件 如果出现安全提示&…...

Ascend NPU上适配Step-Audio模型
1 概述 1.1 简述 Step-Audio 是业界首个集语音理解与生成控制一体化的产品级开源实时语音对话系统,支持多语言对话(如 中文,英文,日语),语音情感(如 开心,悲伤)&#x…...

用docker来安装部署freeswitch记录
今天刚才测试一个callcenter的项目,所以尝试安装freeswitch 1、使用轩辕镜像 - 中国开发者首选的专业 Docker 镜像加速服务平台 编辑下面/etc/docker/daemon.json文件为 {"registry-mirrors": ["https://docker.xuanyuan.me"] }同时可以进入轩…...

LLMs 系列实操科普(1)
写在前面: 本期内容我们继续 Andrej Karpathy 的《How I use LLMs》讲座内容,原视频时长 ~130 分钟,以实操演示主流的一些 LLMs 的使用,由于涉及到实操,实际上并不适合以文字整理,但还是决定尽量整理一份笔…...

GO协程(Goroutine)问题总结
在使用Go语言来编写代码时,遇到的一些问题总结一下 [参考文档]:https://www.topgoer.com/%E5%B9%B6%E5%8F%91%E7%BC%96%E7%A8%8B/goroutine.html 1. main()函数默认的Goroutine 场景再现: 今天在看到这个教程的时候,在自己的电…...