
数据库
文章平均质量分 93
Dontla
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
postgresql入门(postgresql教程)
检查服务登录身份是否为“本地系统账户”(Windows)或依赖项是否安装(Linux/macOS)。PostgreSQL 是开源关系型数据库,采用 BSD 协议,支持商业化使用。,重启服务后登录并重置密码。原创 2025-08-21 14:41:27 · 756 阅读 · 0 评论 -
JSONB(JSON Binary)介绍(在PostgreSQL引入的二进制存储格式JSON数据类型,高效存储和查询半结构化数据)支持B-tree索引、GIN索引、Gist索引、原子更新、索引优化
JSONB通过二进制存储和索引优化,解决了传统JSON类型在性能和灵活性上的不足,成为处理半结构化数据的理想选择。它在日志分析、动态配置、实时查询等场景中表现尤为突出,是现代数据库(如PostgreSQL)中处理复杂数据的重要工具。原创 2025-08-19 21:53:07 · 716 阅读 · 0 评论 -
动态字段表(EAV 模型,Entity-Attribute-Value Model,实体表-属性表-值表)(灵活数据库设计方法,适用于动态扩展属性或稀疏数据处理场景)
EAV模型通过动态扩展性和存储效率解决了传统关系型数据库在处理稀疏数据和动态属性时的局限性,但其查询复杂性和性能瓶颈也需通过优化策略(如索引、缓存、混合存储)来缓解。在实际应用中,需根据业务需求权衡灵活性与性能,选择是否采用EAV模型或结合其他方案(如JSON字段、NoSQL数据库)。原创 2025-08-19 20:31:06 · 875 阅读 · 0 评论 -
多租户架构(Multi-tenancy)(指使用同一套系统或服务但相互隔离的不同客户或组织)(租户Tenant)动态字段表(EAV 模型)、JSON字段/XML字段、规则引擎、插件化架构
这里的“租户”指的是:为了避免频繁修改表结构,常见的解决方案包括:优点:灵活扩展,无需修改表结构。缺点:查询效率较低,需处理复杂的数据关系。2. JSON/XML 字段在数据库表中增加一个 JSON/XML 类型字段,存储租户的自定义配置。示例:优点:结构简单,易于实现。缺点:查询和索引效率较低,数据一致性较难保证。3. 规则引擎将业务规则(如校验逻辑、计算公式)以配置化的方式存储,通过规则引擎动态执行。示例:优点:规则与代码解耦,支持动态调整。缺点:需要实现规则引擎或原创 2025-08-19 19:55:16 · 503 阅读 · 0 评论 -
Python Alembic介绍(数据库迁移工具,专为配合SQLAlchemy(ORM库)设计,用于管理数据库模式的变更)upgrade升级数据库、downgrade回滚数据库、env.py
生产部署。原创 2025-08-18 20:47:22 · 713 阅读 · 0 评论 -
Python SQLALchemy介绍(提供完整SQL抽象层和ORM功能,允许通过Python对象操作数据库,同时保留对原生SQL的访问能力)
关系映射6. 使用示例(1)定义模型(2)CRUD 操作。原创 2025-08-18 14:07:17 · 692 阅读 · 0 评论 -
OLTP(联机事务处理:处理高并发的实时事务操作,确保数据的一致性和完整性) / OLAP(联机分析处理:支持复杂的数据分析和决策支持,处理海量历史数据的多维分析)介绍(两种不同类型数据库处理模式)
OLTP(联机事务处理)和OLAP(联机分析处理)是两种不同类型的数据库处理模式,分别服务于不同的业务需求和技术场景。原创 2025-08-11 21:01:11 · 601 阅读 · 0 评论 -
ORM介绍(Object-Relational Mapping,对象关系映射)一种程序技术,用于解决面向对象编程语言与关系型数据库之间数据交互问题、SQLAlchemy
什么是 ORM?ORM(,对象关系映射)是一种程序技术,用于解决面向对象编程语言(如 Java、Python、C# 等)与关系型数据库(如 MySQL、PostgreSQL、Oracle 等)之间的数据交互问题。核心思想:将数据库表映射为程序中的类(对象),表中的行映射为对象实例,列映射为对象属性。作用:通过操作对象的方式操作数据库,无需直接编写 SQL 语句,从而简化开发流程,提高代码可维护性。ORM 的核心原理。原创 2025-08-11 19:28:53 · 584 阅读 · 0 评论 -
SQL joins介绍(数据库操作,将两个或多个表中数据基于它们之间关联关系进行组合。通过JOIN,可合并来自不同表的数据,生成更完整的结果集)内连接、左外连接、右外连接、全外连接、交叉连接
是一种数据库操作,用于将两个或多个表中的数据基于它们之间的关联关系进行组合。通过 JOIN,可以合并来自不同表的数据,从而生成更完整的结果集。JOIN 操作允许根据表之间的关联字段(如主键和外键)将这些表的数据合并,从而查询更复杂的数据。不同的 JOIN 类型决定了如何处理不匹配的行(即某些表中没有对应数据的情况)。在关联列(如主键、外键)上创建索引,可以显著提升 JOIN 的执行速度。返回右表的所有行,以及左表中与右表匹配的行。,以及右表中与左表匹配的行。(通常是主键和外键的对应关系)将表连接在一起。原创 2025-08-04 20:56:11 · 898 阅读 · 0 评论 -
Database(数据库)、Data Warehouse(数据仓库)、Data Library(数据资源库)、Data Bank(数据银行)、Data Pool(数据池)区别
英文术语中文翻译主要用途数据类型是否强调事务是否用于分析常见场景Database数据库实时事务处理(OLTP)结构化✅❌电商系统、银行交易数据仓库分析与决策支持(OLAP)结构化(历史数据)❌✅BI 报表、市场分析数据资源库数据管理与共享混合(结构/非结构)❌✅科研数据、开放数据平台Data Bank数据银行特定领域数据存储结构化✅(部分)❌医疗档案、DNA 数据库Data Pool数据池临时数据共享与处理混合❌✅(临时)原创 2025-07-24 15:18:13 · 543 阅读 · 0 评论 -
Dropbox介绍(云存储和协作平台:通过云计算技术提供文件存储、同步、共享和团队协作功能)
Dropbox 是一款全球知名的云存储和协作平台,成立于2007年,总部位于美国。它通过云计算技术提供文件存储、同步、共享和团队协作功能,广泛应用于个人用户和企业用户。原创 2025-07-20 16:04:32 · 634 阅读 · 0 评论 -
Postgres介绍(PostgreSQL)(开源对象关系型数据库管理系统)(与Mysql对比)
PostgreSQL 是一个功能强大的开源对象关系型数据库管理系统(ORDBMS),以其可靠性、高性能和丰富的特性而闻名。插件扩展可通过扩展(Extensions)添加新功能,例如:PostGIS:地理空间数据处理。:时序数据优化。cstore_fdw:列存储压缩。支持自定义数据类型、函数、操作符、过程语言(如 Python、JavaScript)等。存储过程:支持多种编程语言(PL/pgSQL、PL/Python、PL/JavaScript 等)编写存储过程。原创 2025-07-15 14:19:13 · 1243 阅读 · 0 评论 -
SaaS介绍(Software as a Service)软件即服务(云计算三大服务模式之一)一种软件交付模式(SaaS应用托管在云服务商基础设施上,通过互联网提供给用户)Sass
SaaS模式彻底改变了软件交付和使用方式,通过多租户架构、按需付费和持续更新等特性,为企业提供了更高效、灵活的IT解决方案。随着技术不断演进,SaaS将与AI、区块链等前沿技术深度融合,创造更多创新应用场景。企业在选择或构建SaaS解决方案时,需要平衡技术架构、安全性、可扩展性和用户体验等多方面因素,才能获得最佳应用效果。原创 2025-03-21 16:56:24 · 1914 阅读 · 0 评论 -
非关系型数据库NoSQL(Not Only SQL)(非关系型数据库非常灵活)
这个术语最早出现在1998年,但真正流行是在2009年左右,主要是为了解决传统关系型数据库在处理大规模数据时的局限性。类似于一个巨大的哈希表,适合存储简单的数据结构。理解了这些特点后,你就能更好地判断在什么场景下使用NoSQL数据库,以及如何充分发挥它的优势。随着用户增长,你可以通过添加更多服务器节点来提升系统容量,这在NoSQL中是自然且简单的。如果你的应用主要是简单的增删改查操作,NoSQL的性能优势会很明显。原创 2025-01-24 06:30:00 · 1170 阅读 · 0 评论 -
关系型数据库(RDBMS:Relational Database Management System)与非关系型数据库(NoSQL:Not Only SQL)区别(各自应用场景)
它可以是键值对存储(如Redis),文档存储(如MongoDB),列式存储(如Cassandra),或图形数据库(如Neo4j)。每张表都有固定的列和数据类型。非关系型数据库通常遵循BASE理论(基本可用、软状态、最终一致性),在某些情况下会牺牲强一致性来换取更高的性能和可用性。关系型数据库主要进行垂直扩展(纵向扩展),即通过提升单台服务器的配置(CPU、内存、存储)来提高性能。关系型数据库(RDBMS)和非关系型数据库(NoSQL)是两种主要的数据库类型,它们在设计理念和应用场景上有着显著的差异。原创 2025-01-23 08:15:00 · 846 阅读 · 0 评论 -
mysql数据库锁以及用cp命令或rsync命令拷贝数据库数据时的注意事项(共享锁 Shared Locks、排他锁 Exclusive Locks)
例如,事务A等待事务B释放的锁,而事务B又在等待事务A释放的锁。等文件),这种操作确实可能会因为数据库的锁定状态而受到影响,尤其是在数据库运行时直接拷贝这些文件可能会导致拷贝出的数据文件不一致或损坏。如果你的数据存储在支持快照的文件系统上(如 LVM 或使用某些类型的 SAN),可以创建一个一致性的快照,并从快照中拷贝数据。定期监控数据库的锁状态和性能指标,分析锁竞争的热点,适时调整索引策略或查询逻辑,减少锁的争用。,拷贝的瞬间可能正好数据库正在写入数据,这就可能导致拷贝的文件是不完整或损坏的。原创 2024-09-26 14:40:24 · 1209 阅读 · 0 评论 -
python sqlite3数据库介绍(如何使用参数化查询防止SQL注入攻击)(直接通过网络让其他主机访问某台主机上的SQLite数据库是不被直接支持的,可以通过文件访问,但可能面临数据库锁等问题)
在 SQL 注入攻击中,攻击者通过将恶意 SQL 代码嵌入到应用程序预期接收为数据的输入中,企图控制应用程序的数据库查询或命令。在参数化查询中,SQL 命令在发送给数据库之前,已经定义了结构,并且只接受指定的参数。这种方式保护了程序免受 SQL 注入攻击,因为即使用户的输入中包含了 SQL 代码片段,它们也会被数据库视为普通数据而不是可执行的 SQL 代码。SQLite 是一个轻量级的数据库,内嵌于应用程序中,不需要单独的服务器进程,使用方便,非常适合小型应用、开发和测试环境。从表中查询数据,并打印结果。原创 2024-09-19 16:07:55 · 1762 阅读 · 0 评论 -
数据冗余(data redundant)现象介绍
数据冗余是指在数据库或其他数据存储系统中重复存储相同信息的情况。这可能是因为设计不当、数据合并或者操作错误等原因造成的。虽然某些情况下数据冗余可能有其正面作用,比如数据备份和恢复,但大部分时候,它会导致存储空间浪费,增加数据管理的复杂性,并可能引发数据一致性问题。原创 2023-12-11 17:36:08 · 5088 阅读 · 0 评论 -
黑马mysql教程笔记(mysql8教程、数据库教程)基础篇——事务(Transaction)数据不一致问题:脏读、不可重复读、幻读;四种隔离级别:读未提交、读已提交、可重复读、序列化
注意:默认MySQL的事务是自动提交的,也就是说,当执行一条DML语句,MySQL会立即隐式的提交事务。:最低级别,允许脏读、不可重复读和幻读。:允许不可重复读和幻读,但不允许脏读。:MySQL默认隔离级别,不允许脏读和不可重复读,但可能允许幻读。:最高级别,完全遵循ACID原则,不允许脏读、不可重复读和幻读,但会大幅降低并发性能。选择适当的事务隔离级别需要在并发性能和数据正确性之间做出权衡。原创 2023-11-09 22:41:57 · 188 阅读 · 0 评论 -
黑马mysql教程笔记(mysql8教程、数据库教程)基础篇——多表查询(内连接inner join、外连接left outer join、自连接、联合查询union all、子查询)查看表结构
子查询外部的语句可以是 INSERT / UPDATE / DELETE / SELECT 的任何一个。原创 2023-11-04 19:39:08 · 518 阅读 · 1 评论 -
Mysql与SeaweedFS数据不同步问题产生原因及解决办法
在使用Mysql管理元数据,SeaweedFS负责存储文件数据的架构中,可能会出现数据不同步的情况,例如,Mysql数据库中的记录与SeaweedFS中的文件数据无法匹配。另一个可能的原因是缺乏适当的事务管理。总的来说,解决Mysql和SeaweedFS数据不同步的问题需要对分布式系统的特性有深入的理解,包括网络延迟、系统故障等可能导致数据不一致的因素。这篇文章将专注于Mysql和SeaweedFS(一种快速、简单和高效的分布式存储系统)之间数据不同步的问题,探讨可能的原因并提出相应的解决策略。原创 2023-11-01 21:26:25 · 577 阅读 · 0 评论 -
Ubuntu MySQL客户端功能介绍(mysql-client)mysql命令(mysql客户端命令)数据库导出、数据库导入
在数据驱动的世界中,MySQL作为最流行的开源关系数据库管理系统之一,无疑占据了重要的地位。对于Ubuntu用户来说,使用MySQL客户端是与MySQL服务器交互的主要方式。本文将介绍Ubuntu MySQL客户端(mysql-client)的功能,并提供相关命令和代码示例。原创 2023-11-01 14:30:21 · 7116 阅读 · 0 评论 -
MySQL索引解析
想象你正在查找一本书中的特定信息,如果没有目录或者索引,你可能需要一页一页地翻看,这会耗费大量时间。但是如果有了目录,你就可以快速找到所需的信息。同样的道理,数据库索引也是用来提高数据查询速度的一种方法。通过深入理解MySQL的索引机制,我们可以更好地利用索引提高数据库的查询性能。但是,也要注意索引的使用并非没有代价,过多的索引可能会降低写操作的性能并占用额外的存储空间。因此,我们需要根据实际情况,选择合适的索引类型和字段,以及合理的索引数量,从而达到最优的性能。原创 2023-10-30 23:43:47 · 458 阅读 · 1 评论 -
Python嵌入式数据库 / 轻量级数据库 / 小型数据库介绍(SQLite、Pandas DataFrame、TinyDB)(python数据库)
在构建应用程序时,数据存储是必不可少的一部分。传统的方式是使用如MySQL、PostgreSQL这样的重量级数据库。然而,这种方法需要安装和管理数据库服务器,可能会带来额外的复杂性。Python提供了多种嵌入式数据库或轻量级数据库的选择,它们可以直接集成到应用程序中,无需单独的服务器进程。嵌入式数据库或轻量级数据库是指那些可以直接嵌入到应用程序中的数据库,它们通常更小、更简单,易于安装和管理。原创 2023-10-30 21:21:26 · 2421 阅读 · 0 评论 -
黑马mysql教程笔记(mysql8教程、数据库教程)基础篇——约束(constraint)(主键约束、NOT NULL、自动增长、非空约束、唯一约束、检查约束、默认约束、外键约束、自动增长)级联
行为说明NO ACTION当在父表中删除/更新对应记录时,首先检查该记录是否有对应外键,如果有则不允许删除/更新(与RESTRICT一致)RESTRICT当在父表中删除/更新对应记录时,首先检查该记录是否有对应外键,如果有则不允许删除/更新(与NO ACTION一致)CASCADE当在父表中删除/更新对应记录时,首先检查该记录是否有对应外键,如果有则也删除/更新外键在子表中的记录SET NULL。原创 2023-10-26 22:15:13 · 1199 阅读 · 0 评论 -
黑马mysql教程笔记(mysql8教程、数据库教程)基础篇——函数(字符串函数、数值函数、日期函数、流程函数)
【代码】黑马mysql教程笔记(mysql8教程)基础篇——函数(字符串函数、数值函数、日期函数、流程函数)原创 2023-10-16 19:52:55 · 366 阅读 · 2 评论 -
黑马mysql教程笔记(mysql8教程、数据库教程)基础篇——数据库相关概念、安装mysql安装及mysql卸载mysql、数据模型、SQL通用语法及分类(DDL、DML、DQL、DCL)
先登录数据库:mysql - u root - pSELECT * FROM 表名 WHERE name LIKE '/_张三' ESCAPE '/'之后的不作为通配符在SQL查询中,LIKE操作符用于搜索某列的模式。其中,百分号(%)和下划线(_)是特殊字符。百分号表示任意数量的字符,包括零字符;而下划线代表一个单独的任意字符。有时,我们可能需要搜索包含这些特殅字符的数据。为了使这些特殊字符被识别为普通字符,我们需要使用ESCAPE关键字。原创 2023-10-02 02:47:38 · 1169 阅读 · 0 评论 -
mysql8.0数据库无法被远程连接问题排查(mysql远程连接设置方法)‘root‘@‘localhost‘和‘root‘@‘%‘(无法连接mysql无法远程连接、mysql连接被拒绝)
同时,‘root’@‘localhost’ 仍然存在,它只允许从Ubuntu服务器本地进行连接。命令,但在做这个操作之前,请确保 ‘root’@’%’ 可以正常工作,并且不需要 ‘root’@‘localhost’ 这个用户。如果还有问题,可能需要查看更详细的日志信息,比如MySQL的错误日志,通常位于。如果防火墙启用了,并且没有允许3306端口(默认的MySQL端口),则需要添加规则允许此端口。如果root用户的host字段是localhost,那么你需要更改权限让root用户可以从任何主机登录。原创 2023-09-23 19:02:36 · 17655 阅读 · 0 评论 -
mysql键、数据库表中数据约束(PRIMARY KEY、UNIQUE、NOT NULL、DEFAULT、CHECK、FOREIGN KEY)复合主键约束、唯一约束、默认约束、检查约束、外键约束。级联
在构建一个数据库模型时,一项重要的任务是确保数据的完整性和准确性。为了实现这个目标,MySQL 提供了多种约束类型来限制对表中数据的修改。这些约束包括主键约束、唯一约束、非空约束、默认约束、检查约束和外键约束。原创 2023-09-23 13:32:49 · 557 阅读 · 0 评论 -
mysql常用数据类型(mysql数据类型)字符集
如何确定数据是文本还是二进制,主要看这个数据是否能直接被人类阅读和理解,以及这个数据的使用方式。例如,姓名、地址、描述等都是文本数据。例如,INT用于存储整数,VARCHAR用于存储可变长度的字符串,DATE用于存储日期等。总的来说,字符集和数据类型是在创建数据库或表时必须考虑的两个因素,正确的选择可以提高数据库的性能和准确性。字符集和数据类型是MySQL数据库中的两个重要概念,它们各自有不同的作用,但也有一定的联系。注意,为了获得最佳性能和正确的排序/查询结果,选择最适合你数据的数据类型是非常重要的。原创 2023-09-20 19:17:48 · 445 阅读 · 0 评论 -
SeaweedFS容器部署(seaweed部署、seaweedfs部署)(文件块chunks概念)(master节点与volume节点通信原理)(seaweed上传seaweed下载)
SeaweedFS 是一个简单且高度可扩展的分布式文件系统。存储数十亿个文件!快速提供文件!SeaweedFS 最初是作为一个对象存储系统,用于高效处理小文件。与其在中央主服务器上管理所有文件元数据,不如让中央主服务器只管理卷服务器上的卷,而这些卷服务器负责管理文件及其元数据。这样可以减轻中央主服务器的并发压力,将文件元数据分散到卷服务器中,从而实现更快的文件访问(O(1),通常只需要一个磁盘读取操作)。每个文件的元数据只需要 40 字节的磁盘存储开销。原创 2023-05-12 20:54:11 · 3720 阅读 · 0 评论