Listing Thumbnail

    FerroDruid - Rust-native Apache-Druid-compatible OLAP

     Info
    Deployed on AWS
    Free Trial
    FerroDruid is a Rust-native, Apache-Druid-compatible real-time OLAP database that runs as a single JVM-free, ZooKeeper-free binary and boots in under a second on under 200 MB of RAM. This listing delivers a hardened, AWS-security-scanned AMI of FerroDruid v1.2.0. Now source-available under BUSL-1.1.

    Overview

    FerroDruid is a Rust-native, Apache-Druid-spec-compatible real-time OLAP database. It speaks the Druid REST API, native query JSON, and Druid SQL, and it reads Apache Druid segment v9 binary files (read compatibility verified against segments written by Druid 31.0.2 and 35.0.1, on local disk) - without a JVM, without ZooKeeper, and without a six-process control plane to operate. A classic Apache Druid cluster needs six or more JVM processes plus ZooKeeper plus an external metadata database, and 16 GB or more of RAM, before it serves a single query. FerroDruid's single-binary mode replaces all of that with one process that starts in under a second, uses under 200 MB of RAM, and ships as a self-contained AMI. What FerroDruid does today (v1.2.0): it serves all eight Druid native query types (timeseries, topN, groupBy, scan, search, segmentMetadata, dataSourceMetadata, timeBoundary); it runs Druid SQL with SELECT, WHERE, GROUP BY, HAVING, ORDER BY, LIMIT, more than 30 functions, EXPLAIN PLAN FOR, and an MSQ task endpoint (core SQL parity approximately 95 percent); it exposes more than 40 Druid-compatible REST endpoints; it reads Apache Druid segment v9 binaries - verified against segments written by Druid 31.0.2 and 35.0.1 - and writes segments in its own native format (the supported single-binary path uses SQLite metadata plus local-filesystem deep storage); it ingests from Kafka and Kinesis supervisors and via native batch; and it enforces Basic authentication (Argon2id) with role-based access control on by default and TLS via rustls. Admin password security: on first boot the AMI generates a NEW RANDOM admin password UNIQUE to that instance (never a default or shared password) and writes it once to the instance system log. The admin account is flagged must-change, so EVERY API endpoint returns HTTP 403 until the operator rotates the password by POSTing a new one to /druid-ext/basic-security/authentication/db/basic/users/admin/credential; the rotated credential is persisted and survives restarts. This enforces a password change on first login. Hardening posture: every crate uses forbid(unsafe_code); clippy is clean at -D warnings workspace-wide; 57k+ test functions in-tree; 21 fuzz targets on a continuous 24h farm; CycloneDX SBOM in CI; cargo-audit 0 advisory. Live wire deep-match is clean against Apache Druid 31.0.2, 32.0.1, 33.0.0, 34.0.0, 35.0.1 and 36.0.0: on each version, 42 of 48 deep-compared queries match byte-for-byte with 0 mismatches (Sections 1 through 4 are 30 of 30 deep on every version), plus 5 of 5 with an Apache Superset connector; Druid 30.0.1 is the one partial version at 24 of 48, where every diff is Druid 30's own upstream empty-result behaviour for SQL window functions, not a FerroDruid defect. New in v1.2.0: SQL UNION ALL with Druid-compatible positional column mapping; a null-generation load path so NULL-typed columns round-trip faithfully; fail-closed Historical segment routing with exact O(1) cache-limit accounting; and a verified read of a real Apache Druid v9 segment round-tripped through real AWS S3 deep storage. 3-host EC2 nemesis matrix (sym-partition, asym-partition, leader-kill, disk-full, OOM, corrupted-segment, clockskew multi-host) all PASS at the safety layer with dup_leader_terms=0 term_regressions=0 recovery_ok=1. Cluster-wire mTLS election-storm root-caused (Wave 2 W2-E) and source-fixed (Wave 2 continuation B1+B2): cluster-wire promotions per second collapsed from 0.93-1.20 to 0.19 on same-shape 3-host c7g.large re-fire, a 4.9x reduction, within 19 percent of the PSK-baseline 0.16 per second. Honest scope: single-binary mode is the supported Marketplace topology, with the multi-node classic 6-role topology in scope in-tree; multi-node deployments fail closed by default. Per-version residuals and honest limitations are disclosed in docs/known-limitations.md. Honest limitations carried forward for v1.x are enumerated in the release notes and in the in-tree docs/known-limitations.md file: CL-A1-R-mTLS-residual-churn (post-fix 0.19 per second cluster-wide steady-state, safety intact), CL-1.0-in-memory-raft (single-binary Raft log is in-memory), CL-A1-R-oomkill-choom-need-workload-rss, CL-5-R-longrun-chaos-2h-window, TG-1-finding-W2A-1-index-drd, CL-1-R1 multi-broker Kafka MSK, CL-B5 mTLS CRL-OCSP, CL-J1-R2 broker-to-coordinator wire, CL-J1-R4 single-port permissive. This listing sells a hardened, scanned, supported distribution built from the Business Source License 1.1 source at a pinned release version (github.com/abyo-software/ferrodruid; each release converts to Apache-2.0 four years after publication). The AMI is metered automatically by AWS per running instance-hour, with no metering code in the product.

    Highlights

    • One binary, not six JVMs: FerroDruid needs no ZooKeeper and no external metadata database in single-binary mode, and it boots in under a second on under 200 MB of RAM.
    • Druid wire-compatible: speaks the Druid REST API, native query JSON, and Druid SQL, and reads Apache Druid segment v9 (verified against Druid 31.0.2 and 35.0.1, including one round-tripped through real AWS S3). Live wire deep-match is clean against Apache Druid 31.0.2 through 36.0.0 - 42 of 48 queries match byte-for-byte, 0 mismatched on each - and 5 of 5 with an Apache Superset connector (Druid 30.0.1 partial, from Druid 30's own window-function behaviour, not a FerroDruid defect).
    • Hardened: 3-host EC2 nemesis matrix all PASS at the safety layer (sym-partition, asym-partition, leader-kill, disk-full, OOM, corrupted-segment, multi-host clockskew); cluster-wire mTLS election-storm source-fixed (4.9x reduction on same-shape re-fire); 57k+ tests + 21 continuous fuzz targets + workspace clippy -D warnings + forbid(unsafe_code); CycloneDX SBOM; paid support SLA.

    Details

    Delivery method

    Delivery option
    64-bit (Arm) Amazon Machine Image (AMI)

    Latest version

    Operating system
    AmazonLinux 2023

    Deployed on AWS
    New

    Introducing multi-product solutions

    You can now purchase comprehensive solutions tailored to use cases and industries.

    Multi-product solutions

    Features and programs

    Financing for AWS Marketplace purchases

    AWS Marketplace now accepts line of credit payments through the PNC Vendor Finance program. This program is available to select AWS customers in the US, excluding NV, NC, ND, TN, & VT.
    Financing for AWS Marketplace purchases

    Pricing

    Free trial

    Try this product free for 14 days according to the free trial terms set by the vendor. Usage-based pricing is in effect for usage beyond the free trial terms. Your free trial gets automatically converted to a paid subscription when the trial ends, but may be canceled any time before that.

    FerroDruid - Rust-native Apache-Druid-compatible OLAP

     Info
    Pricing is based on actual usage, with charges varying according to how much you consume. Subscriptions have no end date and may be canceled any time. Alternatively, you can pay upfront for a contract, which typically covers your anticipated usage for the contract duration. Any usage beyond contract will incur additional usage-based costs.
    Additional AWS infrastructure costs may apply. Use the AWS Pricing Calculator  to estimate your infrastructure costs.

    Usage costs (18)

     Info
    Dimension
    Cost/hour
    c7g.xlarge
    Recommended
    $0.10
    c7g.medium
    $0.03
    t4g.medium
    $0.03
    t4g.large
    $0.05
    c7g.large
    $0.05
    m7g.large
    $0.05
    r7g.large
    $0.05
    m7g.xlarge
    $0.10
    c7g.2xlarge
    $0.15
    c7g.4xlarge
    $0.20

    Vendor refund policy

    FerroDruid software charges are metered by AWS Marketplace; stop or terminate the EC2 instances running the AMI to stop all charges (you pay only for instance-hours run). Already-incurred usage is generally non-refundable. If billed in error or a defect prevented normal use, contact aws-support@abyo.net  within 30 days and we will review; warranted refunds are processed through AWS Marketplace.

    How can we make this page better?

    Tell us how we can improve this page, or report an issue with this product.
    Tell us how we can improve this page, or report an issue with this product.

    Legal

    Vendor terms and conditions

    Upon subscribing to this product, you must acknowledge and agree to the terms and conditions outlined in the vendor's End User License Agreement (EULA) .

    Content disclaimer

    Vendors are responsible for their product descriptions and other product content. AWS does not warrant that vendors' product descriptions or other product content are accurate, complete, reliable, current, or error-free.

    Usage information

     Info

    Delivery details

    64-bit (Arm) Amazon Machine Image (AMI)

    Amazon Machine Image (AMI)

    An AMI is a virtual image that provides the information required to launch an instance. Amazon EC2 (Elastic Compute Cloud) instances are virtual servers on which you can run your applications and workloads, offering varying combinations of CPU, memory, storage, and networking resources. You can launch as many instances from as many different AMIs as you need.

    Version release notes

    FerroDruid v1.5.1 - legacy-Druid migration compatibility, aimed at migrating older Apache Druid deployments. New in 1.5.1: FerroDruid now reads the v1 numeric column serdes (long, double, float) that Apache Druid version 27 and earlier write for the time and metric columns, so ferrodruid-migrate attach and import-druid-metadata work on segments from a genuinely old Druid deployment (reverse-engineered clean-room and verified byte-exact against real Druid 27.0.0 dump-segment); Druid 31 and 35 reading is unchanged. Also in the 1.5.x line: (1) cross-engine hyperUnique read - FerroDruid now decodes Apache Druid's built-in classic-HLL hyperUnique distinct-count metric column (present in every Druid version, the standard before DataSketches), so hyperUnique native queries and SQL APPROX_COUNT_DISTINCT over such a column return estimates that match real Druid; verified against Druid 31.0.2 with the native double estimate bit-exact across single-row, rollup-folded, and multi-segment segmentations and the rounded SQL estimate exact. (2) Opt-in legacy null mode (useDefaultValueForNull, default off) that switches to Apache Druid version 27 and earlier default null semantics - string null equals empty string, numeric null becomes zero - across filters, aggregations, groupBy, COUNT DISTINCT, SQL rendering, and ingestion; verified with a legacy-versus-ANSI difference battery against real Druid 27.0.0 and 31.0.2; with the flag off, behaviour is byte-identical to the ANSI default. (3) Attach and import from S3 deep storage - ferrodruid-migrate attach --deep-storage s3://... and import-druid-metadata for an s3_zip loadSpec now stream segment artifacts directly from a Druid deployment on S3, with no local pull-first step; verified end-to-end against a real AWS S3 tree written by Druid 31.0.2. Carried forward from 1.4.0: attach an existing Druid on-disk segment v9 deployment (local or S3) so it becomes query-visible; import a Druid segment metadata table from PostgreSQL, MySQL, or SQLite; write segments in Druid's on-disk v9 format that Druid reads back (long and single-value string columns); durable Kafka and Kinesis supervisors; native batch index for local and inline JSON/CSV/TSV; and Druid segment reading of SQL-null numerics, longEncoding auto, nullable 64-bit integers above 2^53 exactly, multi-value string dimensions, and thetaSketch columns. Standing capabilities: single-binary mode runs one process - no JVM, no ZooKeeper, no external metadata database required - that boots in under a second on under 200 MB of RAM; 8/8 native query types; 40+ Druid-compatible REST endpoints; approximately 95 percent core Druid SQL parity; reads real Apache Druid segment v9 (verified against segments written by Druid 31.0.2 and 35.0.1); durable Kafka and Kinesis supervisors (PLAINTEXT or SASL_SSL/TLS) plus native batch; deep-storage persistence with fail-loud SHA-256 integrity and bootstrap reload; Basic auth (Argon2id) with RBAC on by default and TLS via rustls. Source available under the Business Source License 1.1 (github.com/abyo-software/ferrodruid; each release converts to Apache-2.0 four years after publication). Known limitations, including the migration scope, legacy-null coverage, and hyperUnique estimator scope, are published in docs/known-limitations.md. Metered automatically by AWS per instance-hour (no metering code in the AMI).

    Additional details

    Usage instructions

    Launch the self-contained FerroDruid AMI on EC2 (Graviton/arm64). The instance boots one process (single-binary mode) directly - no additional template or orchestration is required - with SQLite metadata and local-filesystem deep storage. Run it behind an Application Load Balancer, terminate TLS at the ALB, and do not expose the service port directly to the internet. Basic auth (Argon2id) plus RBAC are on by default, and a one-time admin password is written to the instance system journal on first boot (retrieve it with sudo journalctl -u ferrodruid or from the EC2 system log). Point your Druid clients (REST API, native query JSON, Druid SQL, or an Apache Superset connector) at the load balancer endpoint. The supported topology is single-binary single-node; multi-node configurations fail closed by default. See docs/known-limitations.md.

    Support

    Vendor support

    Support for FerroDruid is provided by abyo software LLC. Email aws-support@abyo.net  for support; we respond under the published SLA.

    AWS infrastructure support

    AWS Support is a one-on-one, fast-response support channel that is staffed 24x7x365 with experienced and technical support engineers. The service helps customers of all sizes and technical abilities to successfully utilize the products and features provided by Amazon Web Services.

    Similar products

    Customer reviews

    Ratings and reviews

     Info
    0 ratings
    5 star
    4 star
    3 star
    2 star
    1 star
    0%
    0%
    0%
    0%
    0%
    0 reviews
    No customer reviews yet
    Be the first to review this product . We've partnered with PeerSpot to gather customer feedback. You can share your experience by writing or recording a review, or scheduling a call with a PeerSpot analyst.