数据库的种类及常见类型

一,数据库的种类

最常见的数据库类型分为两种,关系型数据库和非关系型数据库。

二,关系型数据库介绍

生产环境主流的关系型数据库有 Oracle、SQL Server、MySQL/MariaDB等。

  • 关系型数据库在存储数据时实际就是采用的一张二维表(和 Word 和 Excell 里表格几乎一样)。
  • 市场占有量较大的是 MySQL 和 Oracle 数据库,而互联网场景最常用的是 MySQL 数据库。
  • 通过 SQL 结构化查询语言来存取、管理关系型数据库的数据。
  • 关系型数据库在保持数据安全和数据一致性方面很强,遵循 ACID 理论

非关系型数据库介绍

生产环境主流的非关系型数据库有 MongoDB、Memcached、Redis 。
非关系型数据库也叫NoSQL数据库
NoSQL:“的本意是 “Not Only SQL”,指的是非关系型数据库,主要是对于规模很大的海量数据,和高并发SNS(Social Networking Services,即社交网络服务。”

  • NoSQL 格式灵活:存储数据的格式可以是key-value形式、文档形式、图片形式等等使用灵活,应用场景广泛。
  • NoSQL 数据库为了灵活及高性能、高并发、速度快而产生。
  • NoSQL 数据库领域,当今的最典型产品为 Redis(持久化缓存)、MongoDB、Memcached(纯内存)等。
  • NoSQL 数据库没有标准的查询语言(SQL)。
  • NoSQL 成本低:nosql数据库部署简单,基本都是开源软件。

常见的关系型数据库管理系统

1、Oracle 数据库

  • Oracle 公司是目前全球最大的数据库软件公司。

  • 主要应用范围:传统大企业,大公司,政府,金融,证券等等。

2,MySQL数据库

  • MySQL 数据库主要应用范围:互联网领域,大中小型网站,游戏公司,电商平台等等。

3,MariaDB数据库

  • MariaDB 数据库管理系统是 MySQL 数据库的一个分支,主要由开源社区维护。

  • 开发 MariaDB 数据库的目的是完全兼容 MySQL 数据库,包括 API 和命令行,使之能轻松的成为 MySQL 的代替品。

4,SQL Server 数据库

  • Microsoft SQL Server是微软公司开发的大型关系型数据库系统。1989年,微软发布了 SQLServer1.0 版。

  • SQL Server 可以与 Windows 操作系统紧密集成。SQL Server 的缺点是只能在 Windows 系统下运行。

  • 主要应用范围:部分企业电商,使用windows服务器平台的企业

非关系型数据库管理系统

1,Memcached(Key-Value)

  • Memcached 是一个开源的、高性能的、具有分布式内存对象的缓存系统。通过它可以减轻数据库负载,加速动态的 Web 应用,注意:Memcache 是这个项目的名称,而Memcached 是服务器端的主程序文件名。

  • 缓存一般用来保存一些经常被存取的对象或数据(例如,浏览器会把经常访问的网页缓存起来一样),通过缓存来存取对象或数据要比在磁盘上存取快很多,Memcached 是一种纯内存缓存系统,把经常存取的对象或数据缓存在 Memcached 的内存中,数据以 Key-Value 的方式存储。Memcached 通过缓存经常被存取的对象或数据,从而减轻频繁读取数据库的压力,提高网站的响应速度.官方:http://Memcached.org/

  • 由于Memcached 为纯内存缓存软件,一旦重启所有数据都会丢失。所以最近几年逐渐被其他的持久化产品替代例如Redis。

2,Redis(Key-Value)

  • Redis 是一个Key-Value 型存储系统。但Redis支持的存储value 类型相对更多,包括 string(字符串)、list(链表)等。Redis 的数据都是缓存在内存中,区别是 Redis 会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了 Master-Slave(主从)同步。
  • Redis 是一个高性能的 Key-Value 数据库。它提供了 Python,Ruby,Erlang,PHP 客户端,使用很方便。
  • 官方:http://www.Redis.io/documentation
  • Redis 特点:
    1. 支持内存缓存,同时也支持持久化存储。
    3. 数据类型更丰富。比其他 Key-Value 库功能更强。
    4. 支持主从同步、cluster分布式集群。
  • 应用:缓存从存取 Memcached 更改存取 Redis。

3,MongoDB(Document-Web)

  • MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。MongoDB 最大的特点是他支持查询语言非常强大,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。它的特点是高性能、易部署、易使用,存储数据非常方便。

  • MongoDB 服务端可运行在 Linux、Windows 或 OS X 平台,支持32位和64位应用,默认端口为 27017。推荐运行在64位平台。

  • McmgoDB 把数据存储在文件中(默认路径为:/data/db)。

关系型数据和非关系型数据库的区别

1.关系型数据库:
优点:
1、易于维护:都是使用表结构,格式一致;
2、使用方便:SQL语言通用,可用于复杂查询;
3、复杂操作:支持SQL,可用于一个表以及多个表之间非常复杂的查询。
缺点:
1、固定的表结构,灵活度稍欠;
2、高并发读写需求,传统关系型数据库来说,硬盘I/O是一个很大的瓶颈。
2.非关系型数据库严格上不是一种数据库,应该是一种数据结构化存储方法的集合,可以是文档或者键值对等。
优点:
1、格式灵活:存储数据的格式可以是key,value形式、文档形式、图片形式等等,使用灵活,应用场景广泛。
2、速度快:nosql可以使用硬盘或者随机存储器作为载体,而关系型数据库只能使用硬盘;
3、高扩展性;
4、成本低:nosql数据库部署简单,基本都是开源软件。
缺点:
不提供sql支持;

什么是sql

SQL代表结构化查询语言(Structured Query Language)。SQL是用于访问数据库的标准化语言。

SQL包含三个部分:

  • 数据定义语言包含定义数据库及其对象的语句,例如表,视图,触发器,存储过程等。
  • 数据操作语言包含允许您更新和查询数据的语句。
  • 数据控制语言允许授予用户权限访问数据库中特定数据的权限。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/901421.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PE文件(十五)绑定导入表

我们在分析Windows自带的一些程序时,常常发现有的程序,如notepad,他的IAT表在文件加载内存前已经完成绑定,存储了函数的地址。这样做可以使得程序是无需修改IAT表而直接启动,这时程序启动速度变快。但这种方式只适用于…

计算机网络分层模型:架构与原理

前言 计算机网络通过不同的层次结构来实现通信和数据传输,这种分层设计不仅使得网络更加模块化和灵活,也使得不同类型的通信能够顺利进行。在网络协议和通信体系中,最广为人知的分层模型有 OSI模型 和 TCP/IP模型。这两种模型分别定义了计算…

Ollama模型显存管理机制解析与Flask部署方案对比

一、Ollama显存释放机制 Ollama部署模型后,显存占用分为两种情况: 首次调用后短暂闲置(约5分钟内): • 释放KV Cache等中间计算数据(约回收30%-50%显存)。 • 模型权重仍保留在显存中&#xf…

KWDB创作者计划—KWDB技术重构:重新定义数据与知识的神经符号革命

引言:数据洪流中的范式危机 在AI算力突破千卡集群、大模型参数量级迈向万亿的时代,传统数据库系统正面临前所未有的范式危机。当GPT-4展现出跨领域推理能力,AlphaFold3突破蛋白质预测精度时,数据存储系统却仍在沿用基于关系代数的…

Unified Modeling Language,统一建模语言

UML(Unified Modeling Language,统一建模语言)是一种标准化的图形化建模语言,用于可视化、规范和文档化软件系统的设计。UML 提供了一套通用的符号和规则,帮助开发者、架构师和团队成员更好地理解和沟通软件系统的结构…

IO模式精讲总结

一、IO模型概述 Java中的IO模型主要分为BIO(同步阻塞IO)、NIO(同步非阻塞IO)和AIO(异步非阻塞IO)三种。它们分别适用于不同的业务场景,理解其核心机制对高性能网络编程至关重要。 二、BIO&…

使用pybind11开发c++扩展模块输出到控制台的中文信息显示乱码的问题

使用pybind11开发供Python项目使用的C++扩展模块时,如果在扩展模块的C++代码中向控制台输出的信息中包含中文,python程序的控制台很容易出现乱码。以如下C++扩展框架代码为例(这是对上一篇文章简明使用pybind11开发pythonc+扩展模块教程-CSDN博客中的C++扩展框架代码进行少量…

通过jstack分析线程死锁场景

死锁的四个必要条件:互斥、持有并等待、不可抢占、循环等待。 死锁场景是两个线程各自持有某个锁,并试图获取对方持有的锁,导致互相等待。 创建死锁示例代码 package io.renren.controller;import org.springframework.web.bind.annotation…

PyTorch梯度:深度学习的引擎与实战解析

一、梯度:深度学习中的指南针 1.1 什么是梯度? 梯度是函数在某一点变化率最大的方向及其大小,就像爬山时最陡峭的上坡方向。在深度学习中,梯度告诉我们如何调整神经网络参数,使损失函数最小化。 1.2 梯度的重要性 …

【Python爬虫】详细入门指南

目录 一、简单介绍 二、详细工作流程以及组成部分 三、 简单案例实现 一、简单介绍 在当今数字化信息飞速发展的时代,数据的获取与分析变得愈发重要,而网络爬虫技术作为一种能够从互联网海量信息中自动抓取所需数据的有效手段,正逐渐走入…

Golang|Channel 相关用法理解

文章目录 用 channel 作为并发小容器channel 的遍历channel 导致的死锁问题用 channel 传递信号用 channel 并行处理文件用channel 限制接口的并发请求量用 channel 限制协程的总数量 用 channel 作为并发小容器 注意这里的 ok 如果为 false,表示此时不仅channel为空…

Windows单机模拟MySQL主从复制

这里写自定义目录标题 下载MySQL ZIP压缩包安装主库1、创建配置文件2、安装服务3、初始化数据库4、启动服务5、配置主库 安装从库1、配置ini文件2、安装服务3、初始化数据库4、启动服务5、配置从库6、验证从库状态 操作主库验证 下载MySQL ZIP压缩包 https://dev.mysql.com/do…

OSPF路由引入

一、基本概念与作用 1.OSPF路由引入指通过自治系统边界路由器(ASBR)将外部路由(如BGP、RIP、静态路由或其他OSPF进程的路由)注入当前OSPF域,实现跨协议或跨区域的网络互通‌。 其核心作用包括: ‌扩展网…

弱口令爆破

1.简单介绍 弱口令是指一些简单易猜的密码,可通过社工方式和一些爆破工具进行破解,以下介绍一款爆破工具的用法。burpsuite简称BP,一款可以利用字典破解账户密码的工具。 2.部署网站 可以使用PHPstudy的Apache服务,也可以使用I…

Vue3+Vite前端项目部署后部分图片资源无法获取、动态路径图片资源报404错误的原因及解决方案

目录 Vue3vite前端项目部署后部分图片资源无法获取、动态路径图片资源报404错误的原因及解决方案 一、情景介绍 1、问题出现的场景 2、无法加载的图片写法 二、反向代理原理简介 三、造成该现象的原因 四、解决方案 1、放弃动态渲染 2、在页面挂载的时候引入图片资源 …

详解如何从零用 Python复现类似 GPT-4o 的多模态模型

🧠 向所有学习者致敬! “学习不是装满一桶水,而是点燃一把火。” —— 叶芝 我的博客主页: https://lizheng.blog.csdn.net 🌐 欢迎点击加入AI人工智能社区! 🚀 让我们一起努力,共创…

榕壹云无人共享系统:基于SpringBoot+MySQL+UniApp的物联网共享解决方案

无人共享经济下的技术革新 随着无人值守经济模式的快速发展,传统共享设备面临管理成本高、效率低下等问题。榕壹云无人共享系统依托SpringBootMySQLUniApp技术栈,结合物联网与移动互联网技术,为商家提供低成本、高可用的无人化运营解决方案。…

基于PHP的酒店网上订房系统(源码+lw+部署文档+讲解),源码可白嫖!

摘要 酒店服务是旅游行业的一个重要组成部分,它的作用已经从过去的单一的住宿、结算帐务向全面、高水平的服务型酒店转变。酒店的服务工作贯穿于整个酒店的市场营销、预定、入住、退房、结账等环节,酒店要提高整体工作水平,简化工作程序&…

【Linux生成SSH秘钥实现远程连接】Linux生成SSH秘钥对与修改服务配置文件实现无密码远程连接

文章目录 前言1. Linux 生成SSH秘钥对2. 修改SSH服务配置文件3. 客户端秘钥文件设置4. 本地SSH私钥连接测试5. Linux安装Cpolar工具6. 配置SSHTCP公网地址7. 远程SSH私钥连接测试8. 固定SSH公网地址9. 固定SSH地址测试 前言 在数字化江湖中,企业对各种技术的需求就…

# linux 设置宽容模式

linux 设置宽容模式 在Linux系统中,通常没有直接称为“宽容模式”的设置选项,但你可以通过几种方式来模拟或调整系统行为,使其表现得更加“宽容”,特别是在处理错误、权限问题或其他潜在问题时。以下是一些常见的方法&#xff1a…