[数据库] 什么是数据库?市面上常见的的数据库有什么?

542 0
Honkers 2026-1-4 21:36:17 来自手机 | 显示全部楼层 |阅读模式

数据库就是一个有组织、可高效访问和管理的电子化数据仓库

一个完整的数据库通常包含两部分

数据本身:存储的实际信息

管理系统:用于创建、访问、管理、搜索和保护这些数据的软件

数据库用来干什么

数据库的核心目标是解决传统文件存储方式在数据量庞大、多人协作时面临的难题。

用途

持久化存储

将数据长期保存在计算机硬盘上,即使断电或程序关闭,数据也不会丢失

对比文件:就像你把文件从内存保存在硬盘上一样,但数据库做的更专业、更可靠

高效的数据存取与查询

在海量数据中,快速定位到你所需的部分。这是数据库最核心的功能之一

通过索引,快速定位数据位置

数据共享与并发控制

允许多个用户或app同时访问和修改数据,而不会造成数据混乱

对比文件:如果多人同时修改一个excel文件,很容易产生冲突和覆盖

保证数据的一致性和完整性

确保数据的准确和可靠,遵守预定义的规则

一致性:银行转账A扣款,B加款,数据库确保两个步骤要么都成功,要么都失败。不会出现A扣了钱,B没收到的情况

完整性:可以设置规则,比如年龄不能为负数,数据库会拒绝不符合规则的数据存入

数据安全与权限管理

保护数据不被未授权的人访问或篡改

数据库开源设置不同用户和角色,并为它们分配精准的读写权限

减少数据冗余

通过合理的结构设计、尽量避免重复存储相同的数据

当用户信息存储一份后,用户使用后,不会再次读取全部信息,只会确定id,这样既节省空间,也保证了用户修改信息时,所有记录都能同步更新

数据库是现代所有软件系统的基石,是一个专门用于高效、安全、可靠地存储和管理大量结构化数据的系统。

数据库的分类

数据库主要分为两大类:关系型数据库和非关系型数据库

关系型数据库

这类数据库使用表格来存储数据,结构固定,支持SQL进行查询,以一致性、事务能力(ACID)闻名

常见的关系型数据库

MYSQL

特点:世界上最流行的开源关系型数据库。性能出色、可靠性高、成本低廉、社区活跃、生态系统完善

使用场景:WEB应用、内容管理系统(如博客(wordpress)、水滴(drupal))、线上交易处理。绝大多数创业公司和中小型项目的首选

postgresql

特点:功能最强大的开源关系型数据库,支持更复杂的数据类型(如JSON、数组)、高级SQL特性、以及强大的扩展能力。被公认在功能和标准符合度上优于MYSQL

使用场景:对数据完整性和复杂性要求高的应用,如地理信息系统、复杂科学计算、金融系统。近年来已成为许多技术驱动型公司的首选

oracle database

特点:商业数据库的王者。性能极强、稳定性超高、功能全面,价格昂贵。

使用场景:依赖微软技术栈的企业内部应用、中大型网站

SQLite

特点:轻量级、无服务器、零配置的嵌入式数据库。整个数据库就是一个文件

使用场景:移动应用(android/iapp)、桌面软件、、小型网站、嵌入式设备。它是世界上部署最广泛的数据库

非关系型数据库

这类数据库没有固定的表结构,通常不适用SQL,皆在解决特定场景下关系型数据库的瓶颈,如海量数据高并发、灵活schema

A.文档型数据库

特点:以类似JSON文档格式存储数据,结构灵活

代表:Mongodb

描述:最著名的NoSQL数据库。文档模型与编程语言中的对象模型非常接近,易于开发者理解和使用

使用场景:内容管理系统、用户配置、实时分析、物联网。适合数据模型变化快、结构不固定的场景

B.键值型数据库

特点:结构最简单,通过唯一的Key来快速查询Value,性能极高

代表:Redis

描述:数据存储在内存中,读写速度极快,支持数据持久化到硬盘

使用场景:缓存、会话存储、消息队列、排行榜等需要极高并发读写的场景

C.列式数据库

特点:按列而不是按行存储数据,非常适合对海量数据进行聚合和分析

代表: Apache Cassandra,HBase

描述:可扩展性极好,适合处理超大规模数据集,并保证高可用性

使用场景:日志记录、时间序列数据、大数据分析平台。比如存储从数以亿计的物联网设备发来的传感器数据

D.图数据库

特点:专注于存储实体之间的关系,并能以高性能对这些关系进行遍历和查询

代表:Neo4j

描述:使用图论理论,将数据表示为节点、边和属性

使用场景:社交网络(好友推荐)、欺诈检测(分析异常关系网络)、知识图谱、网络拓扑分析

那么这么多的数据库我们应该如何选择

关系型代表MYSQL,Postgresql优势在于强一致性、事务、SQL标准。典型场景:传统业务系统、金融交易、内容管理。

文档性(非关系)代表MongoDB优势在于灵活Schema(模式),开发快速。典型场景:用户配置、内容目录、实时分析。

键值型(非关系)代表redis优势极高性能、低延迟。典型场景:缓存、会话存储、消息队列。

列式(非关系)代表Cassandra优势在于海量数据写入、可扩展性。典型场景:日志、物联网、时间序列数据。

图数据库(非关系)代表Neo4j优势在于高效处理复杂关系。典型场景:社交网络、推荐系统、欺诈检测。

现代的架构中,常常使用多模数据库或混合使用多种数据库(polygot persistence),让不同的数据库各司其职,发挥最大的优势。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

中国红客联盟公众号

联系站长QQ:5520533

admin@chnhonker.com
Copyright © 2001-2026 Discuz Team. Powered by Discuz! X3.5 ( 粤ICP备13060014号 )|天天打卡 本站已运行