Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Druid Php Laravel Package

pixelfederation/druid-php

A PHP client for Apache Druid, the real-time analytics database. Build and run native JSON queries against Druid datasources through a fluent interface, letting your PHP backend fetch analytical results without hand-writing raw HTTP requests.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

  • Architecture fit: Low for a modern Laravel application. pixelfederation/druid-php is a thin PHP client for Apache Druid, likely aimed at querying Druid’s native JSON API. In Laravel, it would sit in the analytics/service layer rather than the transactional domain. It does not appear to offer Laravel-native integration (service provider, facade, config publishing), so adoption requires manual wiring. Druid itself remains a separate OLAP cluster, so the package only solves the HTTP/query-construction layer.
  • Integration feasibility: Poor without forking. The package is archived, its last release was 2017-06-16, and it has zero dependents. PHP and Guzzle constraints are likely from the PHP 5.6/7.0 era, which conflicts with Laravel 9/10/11 and PHP 8.1+. The license is NOASSERTION, creating legal ambiguity before any production use. Modern Druid deployments favor SQL over HTTP or updated native query endpoints; this client predates those changes.
  • Technical risk: High. Abandoned code means no security patches, no PHP 8 compatibility guarantees, no Druid API updates, and no upstream bug fixes. The query builder may not support current Druid SQL, authentication, or response formats. Forking shifts maintenance burden in-house. The low opportunity score (0.12) reinforces that this is not a strategic dependency.
  • Key questions: Which Druid version and query interface (SQL vs. native JSON) are required? Is the license acceptable to legal? Can the team fork and maintain the client, or is direct HTTP via Laravel’s HTTP client sufficient? What Laravel/PHP versions must be supported? Are advanced features like retries, timeouts, auth, and async queries needed? Is analytics core to the product or an auxiliary reporting concern?

Integration Approach

  • Stack fit: Weak for a greenfield Laravel stack. Prefer Laravel’s Http client or a maintained PSR-18 client to call Druid’s SQL endpoint directly. If the package must be used, isolate it behind an application-owned interface (e.g., DruidQueryService) so it can be replaced without touching controllers or jobs. Do not expose package classes throughout the domain.
  • Migration path: For existing users, wrap current calls behind an interface, add contract tests against the target Druid version, then replace with direct HTTP or a maintained fork. Because the package is a thin client, migration is mostly reimplementing query serialization and response mapping. For new work, do not adopt; treat it as a reference implementation only.
  • Compatibility: Expect Composer conflicts with modern Laravel due to old PHP/Guzzle constraints. Druid compatibility is likely limited to circa-2017 APIs; newer Druid releases may reject or ignore generated queries. Authentication, TLS, and proxy behavior may be absent. Verify against the exact Druid version in the environment before committing.
  • Sequencing: 1) Legal review of NOASSERTION license. 2) Time-boxed spike against current Druid and Laravel versions. 3) If viable, fork, update PHP/Guzzle constraints, add tests, and tag an internal release. 4) Introduce behind an interface with feature flags. 5) Build integration tests for query correctness, timeouts, and auth. 6) Define a replacement roadmap toward direct HTTP or a supported client.

Operational Impact

  • Maintenance: High. The upstream is archived, so the team owns all fixes, PHP upgrades, dependency updates, and Druid API adaptations. Budget ongoing maintenance rather than one-time integration. A fork must be patched for security and compatibility on the same cadence as the application.
  • Support: None official. Community support is minimal (33 stars, zero dependents). Internal Druid and PHP expertise is required. Legal ambiguity may block production use entirely. If adopted, document ownership and escalation paths explicitly.
  • Scaling: The client is unlikely to provide connection pooling, retries, circuit breaking, or async query support. Scaling depends on Druid cluster capacity and the application’s HTTP handling. For high-throughput analytics, direct HTTP with Laravel’s retry/timeout configuration or a maintained client is safer. Add caching and query limits to protect Druid.
  • Failure modes: Druid outages, query timeouts, malformed or unsupported query JSON, authentication changes, PHP fatal errors from outdated dependencies, and Composer resolution failures. Without built-in resilience, failures propagate to user-facing analytics. Implement timeouts, retries with backoff, fallback responses, and observability around query latency and error rates.
  • Ramp-up: Moderate to high. Developers need Druid query semantics plus familiarity with legacy PHP code. Documentation is likely sparse and outdated. If using direct HTTP instead, ramp-up is lower because Laravel’s HTTP client is familiar. For the package, allocate spike time, fork setup, test coverage, and knowledge transfer before production commitment.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
mydnic/volet-feature-board-filament-plugin
wmde/email-address
refinery29/test-util
dees040/laravel-api-responses
teamzac/geocoder
ideatica/config-writer
keaton-php/pipe-dream
jacksonwebservices/laravel-user-suite
maksimru/conditional-laravel-debugbar
gismatul/nova-support-chat
gismatul/laravel-support-chat
networkrailbusinesssystems/oracle-api
alphabalex/messaging-made-easy
rawphp/warp
shootkiran/merobug
narakode/fineauth
numencode/wn-syncops-plugin
ibnnajjaar/mib-global-pay
refinery29/php-cs-fixer-config
parsnick/steak