一、 数据库 (Databases)
1. 关系型数据库 (RDBMS) - 通过 JDBC
所有提供 JDBC 驱动的数据库都可以直接操作。这是 Java 最核心的优势领域。
-
MySQL / MariaDB
-
PostgreSQL
-
Oracle Database
-
Microsoft SQL Server
-
IBM Db2
-
SQLite
-
H2 Database (嵌入式/内存,常用于测试)
-
HSQLDB / HyperSQL (嵌入式/内存)
-
Apache Derby
-
Firebird
-
Informix
2. NoSQL 数据库
-
键值存储 (Key-Value)
-
Redis: 通过 Jedis 或 Lettuce (推荐) 这两个主流的 Java 客户端。
-
Amazon DynamoDB: 官方 AWS SDK for Java。
-
-
文档存储 (Document)
-
MongoDB: 官方 MongoDB Java Driver。
-
Couchbase: 官方 Couchbase Java SDK。
-
-
列式存储 (Column-Family)
-
Apache Cassandra / ScyllaDB: 官方 Cassandra Java Driver。
-
Apache HBase: 官方 HBase Java API。
-
-
图数据库 (Graph)
-
Neo4j: 官方 Neo4j Java Driver。
-
JanusGraph / Apache TinkerPop: 通过 Gremlin Java API 进行查询。
-
-
搜索引擎 (Search Engine)
-
Elasticsearch: 官方 Java High Level REST Client (旧版的 Transport Client 已废弃)。
-
Apache Solr: 通过 SolrJ 客户端访问。
-
-
时序数据库 (Time-Series)
-
InfluxDB: 通过其 HTTP API (使用 OkHttp 等客户端) 或 influxdb-java 库。
-
Prometheus: 主要通过 HTTP API 拉取数据,也可使用 client_java 库推送指标。
-
3. 分布式与云原生数据库
-
ClickHouse: 官方 ClickHouse JDBC Driver 或 HTTP API。
-
CockroachDB: 兼容 PostgreSQL 协议,可使用 PostgreSQL JDBC 驱动。
-
TiDB: 兼容 MySQL 协议,可使用 MySQL JDBC 驱动。
-
YugabyteDB: 兼容 PostgreSQL 协议,可使用 PostgreSQL JDBC 驱动。
二、 大数据计算与查询引擎 (Big Data Compute & Query Engines)
Java 是大数据领域的基石,绝大多数顶级计算引擎都是用 Java 或 JVM 语言(如 Scala)编写的,因此天然提供原生 Java API。
1. 批处理引擎 (Batch Processing)
-
Apache Hadoop MapReduce: 原生 Java API,是 Hadoop 生态的基石。
-
Apache Spark: 虽然核心是 Scala,但提供功能完整的 Java API,Java 开发者可以无缝使用。
-
Apache Flink: 核心用 Java 编写,提供一流(first-class)的 Java API。
-
Apache Beam: 统一编程模型,其 Java SDK 是最成熟和功能最全面的,用于在 Spark, Flink 等引擎上运行。
2. 流处理引擎 (Stream Processing)
-
Apache Kafka: 核心用 Java/Scala 编写。其流处理组件 Kafka Streams 是一个 Java 库,提供极佳的 Java API。
-
Apache Flink (见上): 流处理的领导者,Java API 非常强大。
-
Apache Spark Structured Streaming (见上): 提供 Java API。
-
Hazelcast Jet (现已融入 Hazelcast Platform): 提供 Java API 的分布式流处理引擎。
-
Apache Storm: 老牌的流处理系统,提供 Java API。
3. 交互式查询引擎 (Interactive Query)
-
Apache Hive: 可通过 Hive JDBC Driver 或 HiveServer2 的 REST API 进行查询。
-
Trino (formerly PrestoSQL): 提供 Trino JDBC Driver。
-
Apache Impala: 提供 Impala JDBC Driver。
-
Apache Druid: 提供 JDBC Driver 和 HTTP API。
4. 其他大数据生态系统工具
-
Apache Hadoop HDFS: 通过 Hadoop Java Client API 进行文件操作。
-
Apache Oozie (工作流调度): 可通过 Java API 或 HTTP 客户端操作。
-
Apache Airflow: 虽然用 Python 编写,但可以通过 Java 调用其 API 或使用 BashOperator 执行 Jar 包。
三、 Java 生态的数据库操作工具库
这些库简化了 Java 与数据库的交互:
-
JDBC: 最基础和标准的方式。
-
JPA (Java Persistence API): ORM 规范,实现包括:
-
Hibernate: 最流行的 JPA 实现。
-
EclipseLink
-
-
MyBatis: 半自动化的 ORM 框架,将 SQL 与代码分离,非常灵活。
-
JOOQ: 基于代码生成的框架,允许你用 Java 以类型安全的方式编写 SQL。
-
Spring Data: Spring 生态的顶级项目,为上述众多数据源(RDBMS, MongoDB, Cassandra, Redis, Elasticsearch 等)提供了一致的、基于 Repository 的抽象接口,极大减少了模板代码。
-
连接池库: 如 HikariCP (最快), Apache DBCP, C3P0 等,用于管理数据库连接,是生产环境必备。
总结
| 类别 | 代表技术 | Java 支持特点 |
|---|---|---|
| 关系型数据库 | MySQL, PostgreSQL, Oracle... | 通过 JDBC 通用支持,行业标准。拥有 Hibernate, MyBatis 等大量成熟 ORM 框架。 |
| NoSQL 数据库 | MongoDB, Cassandra, Redis, Elasticsearch... | 官方或事实标准的 Java 客户端(如 Jedis, MongoDB Driver)。Spring Data 项目提供了统一的访问抽象。 |
| 计算引擎 (核心) | Apache Hadoop, Apache Kafka, Apache Flink | 多数用 Java 编写,提供原生且功能最全的 Java API。Java 是这些系统的一等公民。 |
| 计算引擎 (其他) | Apache Spark, Apache Beam | 提供功能完整、稳定可靠的 Java API,虽然并非原生语言,但支持力度非常大。 |
| 查询引擎 | Trino, Hive, Druid | 普遍提供 JDBC Driver,可以通过标准 SQL 接口访问。 |
| 开发框架 | Spring Data, JPA (Hibernate), MyBatis, JOOQ | 生态成熟度无可比拟,提供了从底层连接到底层连接、SQL 生成、对象映射等全方位的解决方案,极大提升开发效率。 |
核心结论:
Java 在数据库和计算引擎领域的支持是全面且强大的。其优势不在于某个特定方面,而在于其无与伦比的广度、稳定性和成熟度。
-
标准驱动 (JDBC): 为关系型数据库访问设立了行业标准。
-
原生客户端: 几乎所有重要的非关系型数据存储都有官方或社区维护的高质量 Java 客户端。
-
底层核心: 大数据生态的基石(Hadoop, Kafka, Flink, Elasticsearch 等)都由 Java/JVM 语言编写,使得 Java 在与它们交互时具有天然优势和最高级别的支持。
-
强大生态: 拥有 Spring Data、Hibernate 等顶级框架,将数据库操作抽象化、简单化。
对于企业级应用开发和大数据开发,Java 仍然是最安全、最稳定、选择最多的技术选型之一

被折叠的 条评论
为什么被折叠?



