Ответ
Работал с реляционными и NoSQL СУБД.
Реляционные (SQL):
- PostgreSQL, MySQL — для большинства веб-приложений.
- Oracle — в корпоративных проектах.
NoSQL:
- MongoDB (документная) — для гибких схем данных и JSON-документов.
- Cassandra (колоночная) — для работы с большими объемами данных и высокой записной нагрузкой.
Пример низкоуровневого подключения через JDBC (PostgreSQL):
String url = "jdbc:postgresql://localhost:5432/mydb";
String user = "user";
String password = "pass";
// try-with-resources для автоматического закрытия ресурсов
try (Connection conn = DriverManager.getConnection(url, user, password);
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT id, name FROM users")) {
while (rs.next()) {
int id = rs.getInt("id");
String name = rs.getString("name");
System.out.printf("User: %d - %s%n", id, name);
}
} catch (SQLException e) {
e.printStackTrace(); // В реальном проекте — структурированное логирование
}
Для повышения продуктивности использовал:
- ORM: Hibernate, JPA (Java Persistence API).
- Библиотеки высокого уровня: Spring Data JPA, MyBatis.
- Миграции схемы: Liquibase, Flyway.
Опыт включает проектирование схем, оптимизацию запросов, настройку индексов и работу с транзакциями.