没有找到匹配的数据库
关系型数据库
🌟
MySQL
关系型 开源
全球最流行的开源关系型数据库,由Oracle公司维护。以简单易用、性能优秀著称,是LAMP架构的核心组件,被广泛应用于Web应用开发。
核心特点
  • 支持ACID事务(InnoDB引擎)
  • 支持主从复制、读写分离
  • 丰富的存储引擎(InnoDB、MyISAM等)
  • 完善的社区生态和文档
  • 支持分区表、外键约束
适用场景
Web应用、CMS系统、电商平台、社交网络、中小型企业级应用
免费开源、性能优秀、社区活跃、学习成本低、部署简单
不支持JSON高级查询、窗口函数较晚引入、大规模集群方案复杂
对比要点
相比PostgreSQL,MySQL在简单查询和读密集场景性能更优;但PostgreSQL在复杂查询、数据完整性和扩展性方面更强。
基本使用
mysql -u root -p CREATE DATABASE mydb; USE mydb; CREATE TABLE users (id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(50)); INSERT INTO users (name) VALUES ('Alice'); SELECT * FROM users;
https://www.mysql.com/
📊
PostgreSQL
关系型 开源
功能最强大的开源对象关系型数据库,以扩展性强、标准兼容性好著称。支持丰富的数据类型和高级特性,被誉为"世界上最先进的开源数据库"。
核心特点
  • 支持JSON/JSONB、数组、HStore等丰富数据类型
  • 完善的窗口函数和CTE支持
  • 强大的扩展系统(PostGIS地理数据、pg_vector向量搜索)
  • 支持MVCC多版本并发控制
  • 表继承、分区表、逻辑复制
适用场景
复杂业务系统、地理信息系统(GIS)、数据分析、金融系统、需要JSON+关系混合存储的应用
功能强大、扩展性好、标准兼容、数据类型丰富、开源免费
配置复杂、读写性能略低于MySQL、学习曲线较陡、社区规模小于MySQL
对比要点
相比MySQL,PostgreSQL在复杂查询、数据完整性、扩展性方面更强。适合需要高级特性的项目,MySQL更适合快速开发和简单场景。
基本使用
psql -U postgres CREATE DATABASE mydb; \c mydb CREATE TABLE users (id SERIAL PRIMARY KEY, name VARCHAR(50), data JSONB); INSERT INTO users (name, data) VALUES ('Alice', '{"age": 30}'); SELECT * FROM users WHERE data->>'age' = '30';
https://www.postgresql.org/
🗃
SQLite
关系型 嵌入式 开源
轻量级嵌入式关系型数据库,整个数据库存储在单个文件中。零配置、无服务端,是全球部署量最大的数据库引擎,内置在Android、iOS、浏览器等中。
核心特点
  • 零配置,无需安装服务端
  • 整个数据库存储在单个跨平台文件中
  • 支持大部分SQL标准语法
  • 事务支持ACID
  • 极小的体积(约600KB)
适用场景
移动应用(Android/iOS)、桌面应用、嵌入式设备、测试环境、小型网站、浏览器本地存储
零配置、体积小、速度快、跨平台、嵌入式、无需服务器
不支持高并发写入、无用户权限管理、不支持网络访问、不适合大型应用
对比要点
与MySQL/PostgreSQL不同,SQLite是嵌入式数据库,无需服务端进程。适合单机/单用户场景,不适合需要高并发和网络访问的场景。
基本使用
sqlite3 mydb.db CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT); INSERT INTO users VALUES (1, 'Alice'); SELECT * FROM users; .tables .schema users .quit
https://www.sqlite.org/
🏛
Oracle Database
关系型 商业
全球领先的商业关系型数据库,由Oracle公司开发和维护。以极高的稳定性、安全性和性能著称,广泛用于大型企业级应用和关键业务系统。
核心特点
  • 强大的企业级特性(RAC集群、Data Guard容灾)
  • PL/SQL存储过程语言
  • 完善的分区表和表空间管理
  • 高级安全特性(透明数据加密、审计)
  • 出色的OLTP和OLAP混合处理能力
适用场景
银行金融系统、电信计费系统、大型ERP、政府核心系统、高可用性要求的关键业务
稳定性极高、功能全面、安全性强、企业级支持、性能卓越
授权费用昂贵、学习曲线陡、硬件要求高、运维复杂、闭源
对比要点
相比开源数据库,Oracle提供更完善的企业级特性(RAC、Data Guard等),但授权费用高昂。适合预算充足的大型企业。
基本使用
sqlplus user/password@localhost:1521/orcl CREATE TABLE users (id NUMBER PRIMARY KEY, name VARCHAR2(50)); INSERT INTO users VALUES (1, 'Alice'); COMMIT; SELECT * FROM users;
https://www.oracle.com/database/
💻
SQL Server
关系型 商业
微软开发的企业级关系型数据库,与Windows生态和.NET技术栈深度集成。提供Express免费版和商业版,以易用性和出色的管理工具著称。
核心特点
  • SSMS管理工具功能强大、操作友好
  • 与.NET、Azure、Power BI深度集成
  • T-SQL存储过程语言
  • 支持Always On高可用组
  • 内置全文搜索、报表服务(SSRS)
适用场景
.NET技术栈企业应用、Windows环境部署、中小型企业、数据分析与报表、Azure云数据库
管理工具优秀、.NET集成好、有免费Express版、文档完善、BI工具链完整
商业版费用高、跨平台支持有限、社区不如MySQL活跃、Windows依赖性强
对比要点
相比Oracle,SQL Server更易用且成本更低;相比MySQL,在Windows/.NET生态中集成更好。适合微软技术栈的企业。
基本使用
sqlcmd -S localhost -U sa -P password CREATE DATABASE mydb; GO USE mydb; GO CREATE TABLE users (id INT PRIMARY KEY IDENTITY, name NVARCHAR(50)); INSERT INTO users (name) VALUES (N'Alice'); SELECT * FROM users;
https://www.microsoft.com/sql-server
🍃
MariaDB
关系型 开源
MySQL的社区分支,由MySQL原开发者创建。保持与MySQL的高度兼容性,同时提供更多存储引擎和性能优化,是MySQL的理想替代方案。
核心特点
  • 与MySQL高度兼容,可无缝迁移
  • 更多存储引擎(ColumnStore、Spider等)
  • 更活跃的开源社区开发
  • 内置Galera集群同步复制
  • 更好的性能优化(线程池、查询优化器)
适用场景
MySQL替代方案、需要更高性能的Web应用、Linux发行版默认数据库、开源项目
完全开源、MySQL兼容、性能更优、社区活跃、更多存储引擎
企业级支持不如MySQL、部分高级特性有差异、市场份额较小
对比要点
MariaDB与MySQL语法基本兼容,但提供了更多优化和新特性。在开源社区中越来越受欢迎,许多Linux发行版已默认使用MariaDB。
基本使用
mysql -u root -p CREATE DATABASE mydb; USE mydb; CREATE TABLE users (id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(50)); INSERT INTO users (name) VALUES ('Alice'); SELECT * FROM users;
https://mariadb.org/
非关系型数据库
🌱
MongoDB
文档型 开源
最流行的文档型NoSQL数据库,以JSON/BSON格式存储数据。Schema-free的设计让数据结构灵活多变,适合快速迭代开发。
核心特点
  • JSON/BSON文档存储,Schema-free
  • 强大的聚合管道(Aggregation Pipeline)
  • 支持二级索引、全文索引、地理空间索引
  • 内置副本集和分片集群
  • 支持事务(4.0+)
适用场景
内容管理系统、物联网数据存储、实时分析、用户画像、日志存储、快速迭代的Web应用
Schema灵活、水平扩展好、开发速度快、JSON原生支持、查询表达力强
多文档事务性能一般、JOIN能力弱、内存占用大、免费版功能受限
对比要点
相比关系型数据库,MongoDB无需预定义Schema,适合数据结构频繁变化的场景。但缺乏关系型数据库的强一致性和复杂JOIN能力。
基本使用
mongosh use mydb db.users.insertOne({name: "Alice", age: 30, tags: ["dev", "golang"]}) db.users.find({age: {$gt: 25}}) db.users.createIndex({name: 1}) db.users.updateOne({name: "Alice"}, {$set: {age: 31}})
https://www.mongodb.com/
Redis
键值型 开源
最流行的内存键值对数据库,支持多种数据结构(String、List、Set、Hash、Sorted Set等)。单线程模型保证原子性,读写速度极快,是缓存领域的首选方案。
核心特点
  • 丰富的数据结构(String/List/Set/Hash/ZSet/Stream)
  • 单线程模型,操作原子性
  • 支持持久化(RDB快照/AOF日志)
  • 支持发布/订阅、Lua脚本
  • 支持主从复制、哨兵模式、集群模式
适用场景
缓存、会话管理、排行榜、消息队列、限流器、实时计数器、分布式锁
性能极高(10万+ QPS)、数据结构丰富、功能全面、社区活跃
内存成本高、数据量受内存限制、单线程CPU利用率有限、持久化可能丢数据
对比要点
相比Memcached,Redis支持更多数据结构和持久化,功能更全面。相比关系型数据库,Redis适合对性能要求极高的热数据场景。
基本使用
redis-cli SET user:1 "Alice" GET user:1 HSET user:1 name "Alice" age 30 HGETALL user:1 LPUSH mylist "a" "b" "c" LRANGE mylist 0 -1 ZADD leaderboard 100 "Alice" 200 "Bob" ZRANGE leaderboard 0 -1 WITHSCORES EXPIRE user:1 3600
https://redis.io/
🔍
Elasticsearch
搜索引擎 开源
基于Lucene的分布式搜索引擎,以全文搜索、实时分析和水平扩展能力著称。是ELK技术栈(Elasticsearch + Logstash + Kibana)的核心组件。
核心特点
  • 基于Lucene的全文搜索引擎
  • RESTful API,JSON格式交互
  • 分布式架构,自动分片和副本
  • 近实时搜索(NRT)
  • 支持聚合分析、地理搜索
适用场景
全文搜索、日志分析(ELK)、应用性能监控、电商商品搜索、安全情报分析
搜索能力强大、分布式扩展好、实时性好、生态完善(Kibana可视化)
资源消耗大、学习曲线陡、不适合事务、写入性能一般、7.x后部分功能收费
对比要点
相比传统数据库的LIKE查询,Elasticsearch在全文搜索性能上高出几个数量级。但资源消耗大,不适合作为主数据库。
基本使用
# 创建索引并插入文档 PUT /users/_doc/1 {"name": "Alice", "age": 30} # 搜索 GET /users/_search {"query": {"match": {"name": "Alice"}}} # 聚合 GET /users/_search {"aggs": {"avg_age": {"avg": {"field": "age"}}}}
https://www.elastic.co/
🗃
Memcached
缓存型 开源
高性能分布式内存缓存系统,设计简洁,专注于简单的键值对缓存。多线程模型,在纯缓存场景下性能极高。
核心特点
  • 纯内存键值存储,设计简洁
  • 多线程模型,高并发性能好
  • 支持LRU淘汰策略
  • 客户端一致性哈希分片
  • 协议简单,易于集成
适用场景
数据库查询缓存、Session缓存、页面片段缓存、API结果缓存
性能极高、设计简洁、多线程、稳定可靠、内存利用率高
仅支持String类型、不支持持久化、不支持复制、功能单一
对比要点
相比Redis,Memcached更简单纯粹,在纯String缓存场景性能更优。但Redis支持更多数据结构和持久化,功能更全面。
基本使用
telnet localhost 11211 set user:1 0 3600 5 Alice get user:1 delete user:1 stats
https://memcached.org/
🌏
Cassandra
列族型 开源
Apache开源的分布式列族数据库,设计目标是高可用性和线性可扩展性。无单点故障,支持多数据中心复制,适合处理海量数据。
核心特点
  • 无中心架构,所有节点对等
  • 线性可扩展,支持PB级数据
  • 多数据中心复制
  • 可调一致性级别(ONE/QUORUM/ALL)
  • 高写入性能,适合时间序列数据
适用场景
物联网数据、时间序列数据、消息系统、推荐系统、大规模日志存储
高可用无单点、线性扩展、多数据中心、写入性能极高
查询灵活性差、不适合复杂查询、学习曲线陡、数据建模复杂
对比要点
相比MongoDB,Cassandra在写入性能和可扩展性方面更强,但查询灵活性差。适合写多读少、数据量巨大的场景。
基本使用
cqlsh CREATE KEYSPACE myks WITH replication = {'class': 'SimpleStrategy', 'replication_factor': 1}; USE myks; CREATE TABLE users (id UUID PRIMARY KEY, name TEXT, email TEXT); INSERT INTO users (id, name, email) VALUES (uuid(), 'Alice', 'alice@example.com'); SELECT * FROM users;
https://cassandra.apache.org/
🔗
Neo4j
图数据库 开源
最流行的原生图数据库,使用节点、关系和属性来存储和查询数据。Cypher查询语言表达力强,擅长处理复杂的关系网络。
核心特点
  • 属性图模型(节点+关系+属性)
  • Cypher声明式查询语言
  • 索引加速的图遍历
  • 支持ACID事务
  • 可视化数据展示
适用场景
社交网络、推荐引擎、知识图谱、欺诈检测、权限管理、网络拓扑分析
关系查询高效、Cypher语言直观、可视化好、ACID事务、表达力强
分布式扩展差、不适合海量数据、商业版收费、学习成本高、集群方案复杂
对比要点
相比关系型数据库的多表JOIN,Neo4j在深度关系查询上性能优势巨大。但非关系型查询性能不如传统数据库。
基本使用
cypher-shell CREATE (a:Person {name: 'Alice', age: 30}) CREATE (b:Person {name: 'Bob', age: 25}) CREATE (a)-[:KNOWS]->(b) MATCH (p:Person) RETURN p MATCH (a:Person)-[:KNOWS]->(b:Person) RETURN a, b MATCH (a:Person {name: 'Alice'})-[:KNOWS*1..3]->(friend) RETURN friend
https://neo4j.com/
时序数据库
InfluxDB
时序型 开源
专为时间序列数据设计的开源数据库,由InfluxData开发。针对时间序列数据的写入和查询做了深度优化,是监控和IoT领域的热门选择。
核心特点
  • 专为时间序列数据优化
  • Flux查询语言(2.x),支持函数式数据处理
  • 自动数据降采样和保留策略
  • 内置连续查询(CQ)和任务引擎
  • 高写入性能,数据压缩率高
适用场景
DevOps监控、IoT传感器数据、应用性能监控(APM)、金融行情数据、环境监测
时序写入性能高、压缩率高、内置降采样、生态完善(Telegraf+Grafana)
2.x改动大不兼容1.x、社区版功能受限、不适合非时序数据、Flux学习成本高
对比要点
相比传统数据库,InfluxDB在时序数据的写入和查询上性能优势明显。相比TDengine,InfluxDB生态更成熟但国产化支持较弱。
基本使用
influx v2 shell # 写入数据 influx write 'measurement,host=server1 value=0.64' # 查询数据(Flux) from(bucket: "my-bucket") |> range(start: -1h) |> filter(fn: (r) => r._measurement == "measurement")
https://www.influxdata.com/
🇨🇳
TDengine
时序型 开源 国产
涛思数据开发的国产高性能时序数据库,专为物联网、工业互联网和IT运维设计。创新的超级表设计大幅简化了时序数据建模。
核心特点
  • 创新的超级表(STable)设计,一个设备一张子表
  • 支持SQL查询,学习成本低
  • 内置缓存、流计算、消息队列
  • 支持集群,高可用
  • 与InfluxDB对比写入性能提升数倍
适用场景
物联网(车联网、工业物联网)、IT运维监控、电力能源、智慧城市、金融行情
性能极高、支持SQL、超级表设计巧妙、国产自主可控、功能集成度高
社区规模较小、国际生态不如InfluxDB、文档部分需完善、商业化较新
对比要点
相比InfluxDB,TDengine支持SQL语法学习成本更低,超级表设计更适合物联网场景。写入性能和压缩率表现优异。
基本使用
taos CREATE DATABASE power; USE power; CREATE STABLE meters (ts TIMESTAMP, current FLOAT, voltage INT) TAGS (location BINARY, groupId INT); CREATE TABLE d1001 USING meters TAGS ("Beijing", 1); INSERT INTO d1001 VALUES ("2024-01-15 00:00:00", 10.3, 219); SELECT * FROM meters WHERE location = "Beijing";
https://www.taosdata.com/