All Projects → PlatformLab → Ramcloud

PlatformLab / Ramcloud

Licence: other
**No Longer Maintained** Official RAMCloud repo

Projects that are alternatives of or similar to Ramcloud

Infinit
The Infinit policy-based software-defined storage platform.
Stars: ✭ 363 (-10.37%)
Mutual labels:  storage, key-value, fault-tolerance
Justindb
⚛️ JustinDB is a highly available globally distributed key-value data store.
Stars: ✭ 147 (-63.7%)
Mutual labels:  key-value, fault-tolerance
Azure.data.wrappers
Azure Storage Simplified
Stars: ✭ 34 (-91.6%)
Mutual labels:  storage, key-value
Unqlite
An Embedded NoSQL, Transactional Database Engine
Stars: ✭ 1,583 (+290.86%)
Mutual labels:  storage, key-value
Lmdbjava
Lightning Memory Database (LMDB) for Java: a low latency, transactional, sorted, embedded, key-value store
Stars: ✭ 546 (+34.81%)
Mutual labels:  key-value, low-latency
elara
Elara DB is an easy to use, lightweight key-value database that can also be used as a fast in-memory cache. Manipulate data structures in-memory, encrypt database files and export data. 🎯
Stars: ✭ 93 (-77.04%)
Mutual labels:  key-value, storage
Pumpkindb
Immutable Ordered Key-Value Database Engine
Stars: ✭ 1,219 (+200.99%)
Mutual labels:  storage, key-value
Filebase
A Simple but Powerful Flat File Database Storage.
Stars: ✭ 235 (-41.98%)
Mutual labels:  storage, key-value
haro
Haro is a modern immutable DataStore
Stars: ✭ 24 (-94.07%)
Mutual labels:  key-value, storage
cachegrand
cachegrand is an open-source fast, scalable and secure Key-Value store, also fully compatible with Redis protocol, designed from the ground up to take advantage of modern hardware vertical scalability, able to provide better performance and a larger cache at lower cost, without losing focus on distributed systems.
Stars: ✭ 87 (-78.52%)
Mutual labels:  key-value, low-latency
Immortaldb
🔩 A relentless key-value store for the browser.
Stars: ✭ 2,962 (+631.36%)
Mutual labels:  storage, key-value
Kissme
Kissme: Kotlin Secure Storage Multiplatform
Stars: ✭ 351 (-13.33%)
Mutual labels:  storage, key-value
Hashmap
HashMap JavaScript class for Node.js and the browser. The keys can be anything and won't be stringified
Stars: ✭ 363 (-10.37%)
Mutual labels:  key-value
Ganesha
🐘 A Circuit Breaker pattern implementation for PHP applications.
Stars: ✭ 384 (-5.19%)
Mutual labels:  fault-tolerance
Oras
OCI Registry As Storage
Stars: ✭ 356 (-12.1%)
Mutual labels:  storage
Diplomat
A HTTP Ruby API for Consul
Stars: ✭ 358 (-11.6%)
Mutual labels:  key-value
Firebase Instagram
📸 Instagram clone with Firebase Cloud Firestore, Expo, and React Native 😁😍
Stars: ✭ 389 (-3.95%)
Mutual labels:  storage
Storage
💿 Storage abstractions with implementations for .NET/.NET Standard
Stars: ✭ 380 (-6.17%)
Mutual labels:  storage
Edgefs
EdgeFS - decentralized, scalable data fabric platform for Edge/IoT Computing and Kubernetes apps
Stars: ✭ 358 (-11.6%)
Mutual labels:  storage
Cloudi
A Cloud at the lowest level!
Stars: ✭ 352 (-13.09%)
Mutual labels:  fault-tolerance

RAMCloud

Build Status

For up to date information on how to install and use RAMCloud, see the RAMCloud Wiki: https://ramcloud.atlassian.net/wiki/spaces/RAM/overview

What is RAMCloud?

note: the following is an excerpt copied from the RAMCloud wiki on 1/22/16.

RAMCloud is a new class of super-high-speed storage for large-scale datacenter applications. It is designed for applications in which a large number of servers in a datacenter need low-latency access to a large durable datastore. RAMCloud offers the following properties:

  • Low Latency: RAMCloud keeps all data in DRAM at all times, so applications can read RAMCloud objects remotely over a datacenter network in as little as 5μs. Writes take less than 15μs. Unlike systems such as memcached, applications never have to deal with cache misses or wait for disk/flash accesses. As a result, RAMCloud storage is 10-1000x faster than other available alternatives.
  • Large scale: RAMCloud aggregates the DRAM of thousands of servers to support total capacities of 1PB or more.
  • Durability: RAMCloud replicates all data on nonvolatile secondary storage such as disk or flash, so no data is lost if servers crash or the power fails. One of RAMCloud's unique features is that it recovers very quickly from server crashes (only 1-2 seconds) so the availability gaps after crashes are almost unnoticeable. As a result, RAMCloud combines the durability of replicated disk with the speed of DRAM. If you have used memcached, you have probably experienced the challenges of managing a second durable storage system and maintaining consistency between it and memcached. With RAMCloud, there is no need for a second storage system.
  • Powerful data model: RAMCloud's basic data model is a key-value store, but we have extended it with several additional features, such as:
    • Multiple tables, each with its own key space.
    • Transactional updates that span multiple objects in different tables.
    • Secondary indices.
    • Strong consistency: unlike other NoSQL storage systems, all updates in RAMCloud are consistent, immediately visible, and durable.
  • Easy deployment: RAMCloud is a software package that runs on commodity Intel servers with the Linux operating system. RAMCloud is available freely in open source form.

From a practical standpoint, RAMCloud enables a new class of applications that manipulate large data sets very intensively. Using RAMCloud, an application can combine tens of thousands of items of data in real time to provide instantaneous responses to user requests. Unlike traditional databases, RAMCloud scales to support very large applications, while still providing a high level of consistency. We believe that RAMCloud, or something like it, will become the primary storage system for structured data in cloud computing environments such as Amazon's AWS or Microsoft's Azure. We have built the system not as a research prototype, but as a production-quality software system, suitable for use by real applications.

RAMCloud is also interesting from a research standpoint. Its two most important attributes are latency and scale. The first goal is to provide the lowest possible end-to-end latency for applications accessing the system from within the same datacenter. We currently achieve latencies of around 5μs for reads and 15μs for writes, but hope to improve these in the future. In addition, the system must scale, since no single machine can store enough DRAM to meet the needs of large-scale applications. We have designed RAMCloud to support at least 10,000 storage servers; the system must automatically manage all the information across the servers, so that clients do not need to deal with any distributed systems issues. The combination of latency and scale has created a large number of interesting research issues, such as how to ensure data durability without sacrificing the latency of reads and writes, how to take advantage of the scale of the system to recover very quickly after crashes, how to manage storage in DRAM, and how to provide higher-level features such as secondary indexes and multiple-object transactions without sacrificing the latency or scalability of the system. Our solutions to these problems are described in a series of technical papers.

The RAMCloud project is based in the Department of Computer Science at Stanford University.

Learn More about RAMCloud

https://ramcloud.atlassian.net/wiki/spaces/RAM/overview

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].