My favorites | Sign in
Project Home Downloads Wiki Issues Source
Project Information
Members
Featured
Downloads
Wiki pages
Links

Scalaris, a distributed key-value store

Scalaris is a scalable, transactional, distributed key-value store. It can be used for building scalable Web 2.0 services.

Scalaris uses a structured overlay with a non-blocking Paxos commit protocol for transaction processing with strong consistency over replicas. Scalaris is implemented in Erlang.

Discussion / Documentation / Download:

The Scalaris project was initiated by Zuse Institute Berlin and onScale solutions GmbH and is partly funded by the EU projects Selfman, XtreemOS, 4CaaSt and Contrail. More information (papers, videos) can be found at http://www.zib.de/CSR/Projects/scalaris and http://www.onscale.de/scalarix.html.

Current Stable Release

Scalaris 0.4.0 (codename "Pomacea scalaris") - January 22, 2012

API

  • new functions for incremental data change:
    • test_and_set: check for a provided old value before setting a new one
    • add_on_nr: increment a numeric value
    • add_del_on_list: append or delete entries from a list value
  • added VM API to manage Scalaris nodes inside an Erlang virtual machine
  • added monitoring API to retrieve some live metrics
  • added a connection pool convenience class (Java, Python)

Demonstrator "Wiki on Scalaris"

(supported by 4CaaSt http://www.4caast.eu/)

  • improved performance of page edits
  • improved performance of Wikipedia dump loading
  • several rendering fixes

Business Logic

  • improved handling of large values by reducing overhead of transaction log handling (empty TLog after commit), no copy of value in TLog returned to user after read requests)
  • eliminated timeouts in data hand-over protocol (relies on fd now)
  • added a DB subscribe mechanism, e.g. to become informed when locks are freed
  • fixed a strong consistency issue in the tx protocol
  • gather some run-time statistics and expose them via the APIs and the web debug interface

Infrastructure

  • support for Erlang 15B
  • fd now also uses feedback from TCP layer
  • made message sending more flexible (gets an option list)
  • added and corrected several Erlang type specifications
  • added scripts to create Scalaris images for OpenNebula
  • added tools for using Scalaris as the Database as a Service component in ConPaaS (http://www.conpaas.eu/) which is part of the EU project Contrail (http://contrail-project.eu/)
  • added a separate communication channel for priority messages, e.g. fd (reduces falsely reported node crashes under heavy load)

Tests

  • added runtime type-checker for random testing extended unittests

Documentation

  • updated documentation to extended APIs

Bugs

  • fixed numerous bugs

Previous Releases

Powered by Google Project Hosting