# pravega/pravega

Pravega - Streaming as a new software defined storage primitive

Repository: https://github.com/pravega/pravega
Canonical: https://ross.abutalabs.com/products/pravega
Homepage: http://pravega.io
Language: Java
License: Apache-2.0
License Family: permissive
Topics: streaming, streaming-data, distributed-storage, real-time-data, data-ingestion
Last push: 2025-03-02T17:39:21+00:00

## Health v2 (maintenance only)
Score: 27/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 9, release rhythm 8, longevity 100
- inputs: {"age_days": 3705, "days_push": 549, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1997, forks 399 (observed 2026-08-28T04:06:03.541920+00:00)

## What it is
Pravega is an open-source distributed storage service that implements Streams as a first-class primitive: durable, elastic, append-only, unbounded byte streams with strict ordering, consistency, and exactly-once semantics. It tiers data from a low-latency durable log (Tier 1, e.g., BookKeeper) to scalable long-term storage (Tier 2, e.g., HDFS, S3), and offers client APIs for event streaming, batch reads, byte streams, and key-value tables.

## Use cases
- ingest IoT sensor data into a durable event stream
- replace Kafka with auto-scaling streams and long-term retention
- build a Flink stream processing pipeline with exactly-once guarantees
- store and replay video feeds for computer vision analytics
- implement pub/sub messaging with strong ordering and consistency
- store application state and key-value tables alongside event streams
- unify batch and real-time access to the same data without duplication

## When to choose
- you need durable, ordered event streams with exactly-once semantics
- your ingestion rate fluctuates and you want automatic stream scaling
- you need both real-time streaming and batch access to historical data in one system
- you want transparent tiering from low-latency storage to cheap cloud object storage
- you operate at high partition counts where Kafka-style systems degrade

## When to avoid
- you need a simple, lightweight message queue with a large ecosystem of connectors
- your team cannot operate a JVM-based cluster with ZooKeeper and BookKeeper dependencies
- you only need short-lived pub/sub without long-term retention
- you require non-JVM first-class client support for production workloads

## Facets
- artifact type: service
- maturity: active
- function: streaming, message-queue, database, caching
- domain: big-data, microservices, iot, analytics
- platform: jvm, self-hosted, cloud
- tags: stream-storage, event-streaming, tiered-storage, exactly-once, append-only-log, pub-sub, flink-integration, storage, data-engineering, real-time, linux, docker, kubernetes

## Member repositories
- pravega/pravega (main) score 27

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:06:03.541920+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T03:02:16.750489+00:00, confidence not recorded.
  - readme: https://github.com/pravega/pravega (fetched 2026-08-28T04:06:03.541920+00:00, sha 5858c5eaf6b8)
  - homepage: http://pravega.io (fetched 2026-08-29T10:42:24.493418+00:00, sha 44d548972a26)
  - site_page: https://pravega.io/docs/latest/segment-store-service (fetched 2026-08-29T10:42:24.512138+00:00, sha f96d9b93b786)
  - site_page: https://pravega.io/docs/latest/controller-service (fetched 2026-08-29T10:42:24.514795+00:00, sha 5cf59bff3a24)
  - site_page: https://pravega.io/docs/latest/javadoc (fetched 2026-08-29T10:42:24.518816+00:00, sha c44e3e42c2c6)
  - site_page: https://pravega.io/docs/latest (fetched 2026-08-29T10:42:24.502637+00:00, sha d3963e4222e1)
  - site_page: https://pravega.io/docs/latest/getting-started/quick-start (fetched 2026-08-29T10:42:24.504589+00:00, sha dc96a1a5d6c5)
  - site_page: https://pravega.io/docs/latest/admin-guide/cluster-dependencies (fetched 2026-08-29T10:42:24.506214+00:00, sha 40b351c75a6c)
  - site_page: https://pravega.io/docs/latest/beginner_dev_guide (fetched 2026-08-29T10:42:24.507835+00:00, sha 3c116ca0fdbf)
  - site_page: https://pravega.io/docs/latest/pravega-concepts (fetched 2026-08-29T10:42:24.509610+00:00, sha c5562ede6161)
- Data as of 2026-08-30T08:39:29.467469+00:00.
