前端常用的数据库
前端开发中常接触的数据库可分为服务端数据库(需通过后端接口交互)和客户端数据库(直接在浏览器/前端环境运行),以下是具体分类及特点:
一、服务端数据库(前端通过API交互)
1. 关系型数据库
MySQL
- 类型:关系型数据库(RDBMS)
- 特点:开源、成熟稳定,支持事务、索引,数据结构化存储(表+行+列)。
- 场景:Web应用核心数据存储(用户信息、订单等),前端通过Node.js/Java等后端接口调用。
PostgreSQL
- 类型:关系型数据库(RDBMS)
- 特点:支持复杂查询、JSON数据类型,扩展性强,更适合数据分析场景。
- 场景:需处理复杂关系或半结构化数据的应用(如地理信息、日志分析)。
2. NoSQL数据库
MongoDB
- 类型:文档型数据库(NoSQL)
- 特点:以BSON(类似JSON)格式存储, schema灵活,支持横向扩展,适合快速迭代。
- 场景:全栈开发(如MEAN/MERN栈)、社交平台、物联网数据存储。
Redis
- 类型:键值对数据库(NoSQL)
- 特点:内存存储,读写速度极快,支持持久化,常用作缓存或会话存储。
- 场景:前端页面缓存、用户Session管理、实时排行榜/计数器。
二、客户端数据库(前端直接操作)
1. 轻量级文件型数据库
SQLite
- 类型:关系型数据库(RDBMS)
- 特点:嵌入式数据库,无需独立服务器,数据存储在单个文件中,体积小、跨平台。
- 场景:Electron/Node.js桌面应用、移动端开发(如React Native本地存储)。
PouchDB
- 类型:文档型数据库(NoSQL)
- 特点:基于IndexedDB封装,支持离线存储,可与CouchDB同步数据。
- 场景:离线优先应用(如笔记工具、PWA应用)。
2. 浏览器原生数据库
- IndexedDB
- 类型:事务型数据库(浏览器原生)
- 特点:存储大量结构化数据(支持索引、事务),异步操作不阻塞主线程。
- 场景:浏览器端离线存储(如电商购物车、富文本编辑器数据)。
三、前端数据库选择建议
| 场景 | 推荐数据库 | 原因 |
|---|---|---|
| 全栈开发(Node.js) | MongoDB + MySQL | 灵活文档+结构化数据结合 |
| Electron桌面应用 | SQLite | 轻量、无需独立服务 |
| 浏览器离线存储 | IndexedDB/PouchDB | 支持大容量、同步能力 |
| 缓存/会话管理 | Redis | 高性能读写 |
前端通常无需直接部署数据库,而是通过后端接口或客户端封装库(如mongoose for MongoDB、sql.js for SQLite)交互。
前端常用的数据库
https://cszy.top/20250103-前端常用的数据库/