当前位置: 首页 > news >正文

学习笔记:数据库简介

数据库是一系列可以方便的访问和修改的数据的集合。

所有数据库管理系统的主要工作都是可靠的存储数据并使其对用户可用。

目前最常见的数据库模型主要是两种,即关系型数据库和非关系型数据库。

一、按数据的组织方式

数据从组织的角度上,主要分为结构化数据和非结构化数据两类。

结构化数据是带有固定结构的数据,在组织形式上是整齐格式化的,同一数据对象的所有数据都具有完全相同的结构。比如人员信息数据,定义为“身份证号、姓名、籍贯、出生日期”这种结构后,所有人员的信息都会按照这个固定的格式来组织。结构化数据是数据库中最常见的数据,也是数据库最擅长处理的数据。

非结构化数据可以理解成结构化数据之外的一切数据,这类数据无法预先定义格式,其字段类型和数量是可变。比如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用于按照索引范围修剪…...

C++初阶-list的底层

目录 1.std::list实现的所有代码 2.list的简单介绍 2.1实现list的类 2.2_list_iterator的实现 2.2.1_list_iterator实现的原因和好处 2.2.2_list_iterator实现 2.3_list_node的实现 2.3.1. 避免递归的模板依赖 2.3.2. 内存布局一致性 2.3.3. 类型安全的替代方案 2.3.…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院查看报告小程序

一、开发环境准备 ​​工具安装​​: 下载安装DevEco Studio 4.0(支持HarmonyOS 5)配置HarmonyOS SDK 5.0确保Node.js版本≥14 ​​项目初始化​​: ohpm init harmony/hospital-report-app 二、核心功能模块实现 1. 报告列表…...

现代密码学 | 椭圆曲线密码学—附py代码

Elliptic Curve Cryptography 椭圆曲线密码学(ECC)是一种基于有限域上椭圆曲线数学特性的公钥加密技术。其核心原理涉及椭圆曲线的代数性质、离散对数问题以及有限域上的运算。 椭圆曲线密码学是多种数字签名算法的基础,例如椭圆曲线数字签…...

三体问题详解

从物理学角度,三体问题之所以不稳定,是因为三个天体在万有引力作用下相互作用,形成一个非线性耦合系统。我们可以从牛顿经典力学出发,列出具体的运动方程,并说明为何这个系统本质上是混沌的,无法得到一般解…...

稳定币的深度剖析与展望

一、引言 在当今数字化浪潮席卷全球的时代,加密货币作为一种新兴的金融现象,正以前所未有的速度改变着我们对传统货币和金融体系的认知。然而,加密货币市场的高度波动性却成为了其广泛应用和普及的一大障碍。在这样的背景下,稳定…...

ip子接口配置及删除

配置永久生效的子接口,2个IP 都可以登录你这一台服务器。重启不失效。 永久的 [应用] vi /etc/sysconfig/network-scripts/ifcfg-eth0修改文件内内容 TYPE"Ethernet" BOOTPROTO"none" NAME"eth0" DEVICE"eth0" ONBOOT&q…...

Mobile ALOHA全身模仿学习

一、题目 Mobile ALOHA:通过低成本全身远程操作学习双手移动操作 传统模仿学习(Imitation Learning)缺点:聚焦与桌面操作,缺乏通用任务所需的移动性和灵活性 本论文优点:(1)在ALOHA…...

CVE-2020-17519源码分析与漏洞复现(Flink 任意文件读取)

漏洞概览 漏洞名称:Apache Flink REST API 任意文件读取漏洞CVE编号:CVE-2020-17519CVSS评分:7.5影响版本:Apache Flink 1.11.0、1.11.1、1.11.2修复版本:≥ 1.11.3 或 ≥ 1.12.0漏洞类型:路径遍历&#x…...

从面试角度回答Android中ContentProvider启动原理

Android中ContentProvider原理的面试角度解析,分为​​已启动​​和​​未启动​​两种场景: 一、ContentProvider已启动的情况 1. ​​核心流程​​ ​​触发条件​​:当其他组件(如Activity、Service)通过ContentR…...

AI语音助手的Python实现

引言 语音助手(如小爱同学、Siri)通过语音识别、自然语言处理(NLP)和语音合成技术,为用户提供直观、高效的交互体验。随着人工智能的普及,Python开发者可以利用开源库和AI模型,快速构建自定义语音助手。本文由浅入深,详细介绍如何使用Python开发AI语音助手,涵盖基础功…...