Description
Pravega is an open source distributed storage service implementing Streams. It offers Stream as the main primitive for the foundation of reliable storage systems: a high-performance, durable, elastic, and unlimited append-only byte stream with strict ordering and consistency.
To learn more about Pravega, visit http://pravega.io
Pravega alternatives and similar tools
Based on the "Distributed Filesystems" category.
Alternatively, view Pravega alternatives based on common mentions on social networks and blogs.
-
Go IPFS
IPFS implementation in Go [Moved to: https://github.com/ipfs/kubo] -
SeaweedFS
SeaweedFS is a fast distributed storage system for blobs, objects, files, and data lake, for billions of files! Blob store has O(1) disk seek, cloud tiering. Filer supports Cloud Drive, cross-DC active-active replication, Kubernetes, POSIX FUSE mount, S3 API, S3 Gateway, Hadoop, WebDAV, encryption, Erasure Coding. [Moved to: https://github.com/seaweedfs/seaweedfs] -
Alluxio (formerly Tachyon)
Alluxio, data orchestration for analytics and machine learning in the cloud -
Camlistore
Perkeep (née Camlistore) is your personal storage system for life: a way of storing, syncing, sharing, modelling and backing up content. -
Gluster
Gluster Filesystem : Build your distributed storage in minutes -
MooseFS
MooseFS – Open Source, Petabyte, Fault-Tolerant, Highly Performing, Scalable Network Distributed File System (Software-Defined Storage) -
lizardfs
LizardFS is an Open Source Distributed File System licensed under GPLv3. -
GlusterFS
Web Content for gluster.org -- Deprecated as of September 2017 -
Minio
Minio is an open source object storage server compatible with Amazon S3 APIs. (Source Code) Apache-2.0 Go -
Ori Filesystem
A Secure Distributed File System built for offline operation. -
Lustre
A type of parallel distributed file system, generally used for large-scale cluster computing.
Access the most powerful time series database as a service
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of Pravega or a related project?
README
<!-- Copyright Pravega Authors.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -->
Pravega

Pravega is an open source distributed storage service implementing Streams. It offers Stream as the main primitive for the foundation of reliable storage systems: a high-performance, durable, elastic, and unlimited append-only byte stream with strict ordering and consistency.
To learn more about Pravega, visit https://pravega.io
Prerequisites
- Java 11+
In spite of the requirements of using JDK 11+ to build this project, client
artifacts (and its dependencies) must be compatible with a Java 8 runtime. All other components are built and ran using JDK11+.
The clientJavaVersion
project property determines the version used to build the client (defaults to 8).
Building Pravega
Checkout the source code:
git clone https://github.com/pravega/pravega.git
cd pravega
Build the pravega distribution:
./gradlew distribution
Install pravega jar files into the local maven repository. This is handy for running the pravega-samples
locally against a custom version of pravega.
./gradlew install
Running unit tests:
./gradlew test
Setting up your IDE
Pravega uses Project Lombok so you should ensure you have your IDE setup with the required plugins. Using IntelliJ is recommended.
To import the source into IntelliJ:
- Import the project directory into IntelliJ IDE. It will automatically detect the gradle project and import things correctly.
- Enable
Annotation Processing
by going toBuild, Execution, Deployment
->Compiler
>Annotation Processors
and checking 'Enable annotation processing'. - Install the
Lombok Plugin
. This can be found inPreferences
->Plugins
. Restart your IDE. - Pravega should now compile properly.
For eclipse, you can generate eclipse project files by running ./gradlew eclipse
.
Note: Some unit tests will create (and delete) a significant amount of files. For improved performance on Windows machines, be sure to add the appropriate 'Microsoft Defender' exclusion.
Releases
The latest pravega releases can be found on the Github Release project page.
Snapshot artifacts
All snapshot artifacts from master
and release
branches are available in GitHub Packages Registry
Add the following to your repositories list and import dependencies as usual.
maven {
url "https://maven.pkg.github.com/pravega/pravega"
credentials {
username = "pravega-public"
password = "\u0067\u0068\u0070\u005F\u0048\u0034\u0046\u0079\u0047\u005A\u0031\u006B\u0056\u0030\u0051\u0070\u006B\u0079\u0058\u006D\u0035\u0063\u0034\u0055\u0033\u006E\u0032\u0065\u0078\u0039\u0032\u0046\u006E\u0071\u0033\u0053\u0046\u0076\u005A\u0049"
}
}
Note GitHub Packages requires authentication to download packages thus credentials above are required. Use the provided password as is, please do not decode it.
If you need a dedicated token to use in your repository (and GitHub Actions) please reach out to us.
As alternative option you can use JitPack (https://jitpack.io/#pravega/pravega) to get pre-release artifacts.
Quick Start
Read [Getting Started](documentation/src/docs/getting-started/quick-start.md) page for more information, and also visit sample-apps repo for more applications.
Running Pravega
Pravega can be installed locally or in a distributed environment. The installation and deployment of pravega is covered in the [Running Pravega](documentation/src/docs/deployment/deployment.md) guide.
Support
Don’t hesitate to ask! Contact the developers and community on slack (signup) if you need any help. Open an issue if you found a bug on Github Issues.
Documentation
The Pravega documentation is hosted on the website: https://pravega.io/docs/latest or in the [documentation](documentation/src/docs) directory of the source code.
Contributing
Become one of the contributors! We thrive to build a welcoming and open community for anyone who wants to use the system or contribute to it. [Here](documentation/src/docs/contributing.md) we describe how to contribute to Pravega! You can see the roadmap document [here](documentation/src/docs/roadmap.md).
About
Pravega is 100% open source and community-driven. All components are available under Apache 2 License on GitHub.
*Note that all licence references and agreements mentioned in the Pravega README section above
are relevant to that project's source code only.