Что это такое?
Druid — это open-source пул соединений с базой данных и SQL-парсер на Java с высокой производительностью, созданный командой DataWorks из Alibaba. Библиотека объединяет пул JDBC-соединений, парсер SQL с поддержкой нескольких диалектов и анализатор AST, SQL-файрвол и статистику мониторинга.
Это отдельное приложение или библиотека, которую нужно добавить в мой Java-проект?
Это Java-библиотека (JAR), которую вы подключаете через Maven, а не самостоятельное приложение. В основном она поставляется как пул соединений DruidDataSource и отдельный модуль SQL-парсера.
Как добавить Druid в мой проект?
Добавьте Maven-зависимость druid напрямую или, если проект на Spring Boot, используйте подходящий стартер: druid-spring-boot-starter для Spring Boot 2.x, druid-spring-boot-3-starter для 3.x и druid-spring-boot-4-starter для 4.x. Также можно создать DruidDataSource напрямую, без Spring.
Есть ли подводные камни при подключении к приложению на Spring Boot?
Нужно выбрать стартер, который соответствует основной версии Spring Boot (2.x, 3.x или 4.x). Эти три стартера не взаимозаменяемы, поэтому использование неподходящего приведёт к поломке интеграции.
Какие диалекты SQL поддерживает парсер?
Поддерживается 30 диалектов, включая MySQL, PostgreSQL, Oracle, SQL Server, DB2, ClickHouse, Hive, Spark, Presto, BigQuery и Snowflake. Для каждого есть свой лексер, парсер, AST и visitor.
Что делает SQL-файрвол?
WallFilter анализирует AST каждого SQL-запроса и блокирует попытки SQL-инъекций и другие опасные операции до того, как они дойдут до базы данных.
Можно ли отслеживать пул соединений и выполнение SQL?
Да, встроенный StatFilter собирает в реальном времени статистику выполнения SQL и пула и предоставляет готовую веб-страницу мониторинга.
Поддерживает ли Druid отказоустойчивость между несколькими базами данных?
HighAvailableDataSource добавляет балансировку нагрузки, проверки состояния и автоматическое переключение между несколькими базовыми источниками данных.
Which topics is it in?
sql-injection, jdbc, oracle, health, analysis, alibaba, clickhouse, parsing, firewall, spring-boot, parser, high-performance