Giter Site home page Giter Site logo

infinit / memo Goto Github PK

View Code? Open in Web Editor NEW
117.0 117.0 8.0 314.44 MB

The memo elastic and resilient key-value store.

License: Apache License 2.0

Python 7.54% C++ 81.28% Shell 0.85% Emacs Lisp 0.01% Roff 0.05% Go 0.08% Makefile 0.33% C 9.28% Dockerfile 0.02% CMake 0.13% Objective-C++ 0.06% CSS 0.03% Meson 0.01% HTML 0.02% Assembly 0.02% Perl 0.01% Batchfile 0.02% PowerShell 0.01% JavaScript 0.05% C# 0.22%
api cpp14 decentralized distributed distributed-system go grpc infinit key-value-store peer-to-peer python3 redundancy value-store

memo's Introduction

infinit

Infinit is a next generation storage platform that has been designed with scalability and resilience in mind. Infinit is particularly well suited for modern environments such as containers that require the storage component to be highly customizable:

  • Software-based: can be deployed on any hardware from legacy appliances to commodity bare metal, virtual machines or even containers.
  • Programmatic: developers can easily automate the creation and deployment of multiple storage infrastructure, each tailored to the overlying application's needs through policy-based capabilities.
  • Scalable: by relying on a decentralized architecture (i.e peer-to-peer), Infinit does away with the master/slave model, hence does not suffer from bottlenecks and single points of failure.
  • Self Healing: Infinit's rebalancing mechanism allows for the system to adapt to various types of failures, including Byzantine.
  • Multi-Purpose: the Infinit platform provides interfaces for block, object and file storage: NFS, SMB, AWS S3, OpenStack Swift, iSCSI, FUSE etc.

memo's People

Contributors

abique avatar akimd avatar bfleischer avatar bradfora avatar chris-crone avatar deanberris avatar ewencp avatar fingon avatar ghazel avatar glynos avatar gmcode avatar henryrlee avatar hotgloupi avatar howardhinnant avatar jseward avatar julian-becker avatar liryna avatar mefyl avatar miniupnp avatar mnottale avatar mycure avatar nbougalis avatar nlohmann avatar pjkundert avatar rec avatar rondom avatar seelabs avatar teemperor avatar theodelrieu avatar vinniefalco avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

memo's Issues

No streaming API

I would have expected a streaming API to save objects bigger than the (usable) RAM of the client.
Is this desired? Even the Value-Store API doesn't provide anything similar to this.

Are there plans to add such a API? And perhaps hand-made client libraries (go/c++ etc...)?

Status

Is this project active?

Fix: README, Invalid link to key-value vs value store document

The XXX: When shoould I use the value store against the key-value store. link in the README leads nowhere.

The key-value store uses the value store to provide a higher-level interface like common key-value stores (etcd, ZooKeeper, etc.), where arbitrary data can be stored under an arbitrary name.

The value store is the lowest brick of the architecture, providing the fundamental object named blocks, declined in a few flavors. Those blocks are cryptographically protected, their addresses are chosen randomly to guarantee a homogeneous distribution and prevent XXX(squating) and all operations are atomic, but the caller is responsible for keeping addresses.

For more details you can consult XXX: When shoould I use the value store against the key-value store.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.