All Projects → pviotti → hybris

pviotti / hybris

Licence: Apache-2.0 license
Robust and strongly consistent hybrid cloud storage library

Programming Languages

c
50402 projects - #5 most used programming language
java
68154 projects - #9 most used programming language
C++
36643 projects - #6 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to hybris

Distributed-System-Algorithms-Implementation
Algorithms for implementation of Clock Synchronization, Consistency, Mutual Exclusion, Leader Election
Stars: ✭ 39 (+200%)
Mutual labels:  consistency
dot-rest
a minimalist toolkit for building scalable, fault tolerant and eventually-consistent microservices
Stars: ✭ 46 (+253.85%)
Mutual labels:  fault-tolerance
GlotDict
This extension for WordPress polyglots implements new features to improve the quality of translation/reviews!
Stars: ✭ 52 (+300%)
Mutual labels:  consistency
Kites
🪁 A consistency, partition tolerance completed distributed KV store, implementation of the Raft distributed consensus protocol and Kotlin.
Stars: ✭ 41 (+215.38%)
Mutual labels:  consistency
nafanz.github.io
List cloud storage & file sharing
Stars: ✭ 20 (+53.85%)
Mutual labels:  cloud-storage
backblaze
Backblaze.Agent is a high-performance .NET Core implementation of the Backblaze B2 Cloud Storage API.
Stars: ✭ 32 (+146.15%)
Mutual labels:  cloud-storage
go-namecheck
Source code analyzer that helps you to maintain variable/field naming conventions inside your project.
Stars: ✭ 37 (+184.62%)
Mutual labels:  consistency
go-drive
A simple cloud drive mapping web app supports local, FTP/SFTP, S3, OneDrive, WebDAV, Google Drive.
Stars: ✭ 184 (+1315.38%)
Mutual labels:  cloud-storage
yates
YATES (Yet Another Traffic Engineering System)
Stars: ✭ 46 (+253.85%)
Mutual labels:  fault-tolerance
OptimizeRasters
OptimizeRasters is a set of tools for converting raster data to optimized Tiled TIF or MRF files, moving data to cloud storage, and creating Raster Proxies.
Stars: ✭ 105 (+707.69%)
Mutual labels:  cloud-storage
sucredb
Distributed KV database with causality tracking
Stars: ✭ 51 (+292.31%)
Mutual labels:  consistency
Tendermint
⟁ Tendermint Core (BFT Consensus) in Go
Stars: ✭ 4,491 (+34446.15%)
Mutual labels:  consistency
ossperf
A lightweight tool for analyzing the performance and data integrity of object-based storage services
Stars: ✭ 67 (+415.38%)
Mutual labels:  cloud-storage
django-transactions-tutorial
django-transactions-tutorial 基本教學 - 了解 transactions 概念 📝
Stars: ✭ 33 (+153.85%)
Mutual labels:  consistency
ekstertera
Linux GUI клиент для работы с Яндекс.Диск (Yandex.Disk) через REST API
Stars: ✭ 33 (+153.85%)
Mutual labels:  cloud-storage
Java Note
后端研发——笔记
Stars: ✭ 54 (+315.38%)
Mutual labels:  consistency
cottoncandy
sugar for s3
Stars: ✭ 33 (+153.85%)
Mutual labels:  cloud-storage
xidoc
A consistent markup language
Stars: ✭ 40 (+207.69%)
Mutual labels:  consistency
ilab-media-tools
mediacloud.press/
Stars: ✭ 98 (+653.85%)
Mutual labels:  cloud-storage
SaorTech-cloud-services
A range of scripts to provision and configure open source cloud services.
Stars: ✭ 23 (+76.92%)
Mutual labels:  cloud-storage

Hybris Build Status

Hybris is a key-value hybrid cloud storage system that robustly replicates data over untrusted public clouds while keeping metadata on trusted private premises.
Thanks to this design, Hybris provides strong consistency guarantees (i.e., linearizability) and affordable Byzantine fault tolerance (i.e., withstanding f faulty clouds with as few as 2f+1 replicas).
Hybris is also very efficient: in the common case it writes to f+1 clouds and it reads from one single cloud.

Hybris architecture

For more information and detailed benchmarks read our SoCC14 paper.
A version of the personal cloud application StackSync featuring Hybris as storage backend is available here.

Code base overview

The code base of Hybris is composed by two main modules: MdsManager and KvsManager; the first is a thin wrapper layer of the metadata distributed storage service (i.e. ZooKeeper or Consul), while KvsManager implements the storage primitives towards the APIs of the main public cloud storage services - currently, it supports Amazon S3, Google Cloud Storage, Rackspace Cloud Files and Windows Azure Blob.

Maven is used to compile the code and manage the dependencies.

Read the wiki for more information on development setup.

Authors and license

Hybris has been developed at EURECOM as part of the CloudSpaces European research project. Its code is released under the terms of Apache 2.0 license.

Erasure coding support is provided by the Jerasure library through its JNI bindings.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].