High Availability

Posts Tagged ‘High Availability’

Scaling with VoltDB: The Clustered Database

This is part 2 (of 2) of my Programming VoltDB – Easy, Flexible and Ultra-fast series. Blog post, part 1, showed how to build a VoltDB application using ad hoc queries and achieving thousands of transactions a second. It also showed how converting that logic to use VoltDB stored procedures allowed you to parallelize query execution and achieve 100,000+ transactions a second on a single node. In this blog post I’ll talk about scaling beyond 100,000 transactions per second by creating a VoltDB clustered database.

There are primarily two reasons why you would want to run VoltDB as a … Read more

 

To Flash or Not to Flash: That is the Question

I am often asked about the value of flash memory in OLTP database applications.  This blog post discusses flash technology in this context.  First, I discuss the future of flash in general; then I turn to flash (and other future storage technologies) in the context of a main memory DBMS, such as VoltDB.

The Future of Flash

Flash memory is clearly a “moving window”, since its price and performance are changing quickly.  Historically, flash could only be written a few thousand times, before it would “wear out” and have to be replaced.  This drawback seems to have been eliminated … Read more

 

Great Evening with the TriangleJS Meet-up Group

Last night I gave a talk and had an engaging conversation with the TriangleJS meet-up group in Raleigh, NC.  I’d like to thank my hosts at WebAssign for providing such a nice facility, Lucas Myers for managing the logistics of the meet-up and, most of all, the group members who invested an evening to learn more about VoltDB.

Although my talk was somewhat geared toward recent work we’ve done with Node.js, the follow-on discussion covered a wide range of technical topics ranging from database partitioning, single- and multi-part queries, query routing, site execution and database high availability.  It was interesting … Read more

 

VoltDB Community Users Share Knowledge

VoltDB adoption and deployments are accelerating.  We’re working hard make our products easy to use in both cloud and privately-racked infrastructures.  We see strong adoption in five application categories – capital markets (mostly around trading systems), digital advertising, online games, network monitoring, and intelligence/surveillance (national security, fraud mitigation, etc.).

With product evaluations on the rise, organizations are increasingly asking about user experiences, particularly for deployed VoltDB applications.  There are some strong user and partner endorsements on our website.  What’s also interesting is that VoltDB community users are now discussing implementation patterns and deployment experiences on blogs and public developer … Read more

 

VoltDB WAN Replication – Pre-release Users Invited

The subject of my last blog post was an introduction to VoltDB Replication, one of the major product additions that we’ve been working on.  Well, with this post, I’m happy to announce that we’ve recently pre-released VoltDB Replication to selected users to perform beta-level validation!

VoltDB WAN replication involves duplicating the contents of one database cluster (known as the master) to another database cluster (known as the replica). The process of retrieving completed transactions from the master and applying them to the replica is managed by a separate process called the Disaster Recovery (DR) agent.

The DR agent is critical … Read more

 

Intro to WAN Replication in VoltDB

This is the first in a series of posts about WAN replication, a VoltDB feature that’s currently under development.  It provides a high level overview of our direction.  More detailed posts will follow as we progress through our engineering iterations.

As an in-memory transactional DBMS, VoltDB delivers breakthrough performance and scale.  Two of the product’s most significant innovations, however, are in database availability and durability:

  • Availability – VoltDB delivers high availability (HA) via a synchronous multi-master feature called K-safety.  When a database is running “K-safe”, multiple (two or more) node replicas are kept transactionally consistent.  If one of those nodes
  • Read more

 

Upgrading to VoltDB V1.3

VoltDB V1.3 contains a number of new features, as well as changes and enhancements to existing features. In some cases, these enhancements involve changes to the behavior or the interface that existing users need to be aware of. The purpose of this article is to identify compatibility issues when upgrading from version 1.2 to 1.3 of VoltDB and explain how to plan accordingly.

Summary of New Features

Version 1.3 introduces several important new features and improvements to the VoltDB product, including:

  • Admin Mode — Admin mode allows operators to “pause” a database, stopping client activity, while sensitive administrative tasks are

Read more

 

Transactions on a Budget

We hand-built a “cluster” at VoltDB to perform a variety of long running tests. In this test cluster, one of the nodes performs all client application activity while the other 5 serve as VoltDB servers. The cost of the entire setup was under $3500 (six machines with 8GB RAM, 2 UPSs, and an 8-port switch). I’ll provide more technical details of the cluster hardware in a future blog entry.

After moving into our new office I kicked off my favorite test suite that includes a data generator, an export client (writing data to the file system), and a client that

Read more

 

High Availability and Cloudy Problems

VoltDB, like many distributed systems, achieves high availability through redundant processing nodes. VoltDB calls this K-Safety. Essentially, the distributed system can answer any request at at least K+1 servers, so it can tolerate at least K hardware failures. The operator specifies the value of K that they find is the best tradeoff between failure, robustness and cost. Other systems use the terms “replica set” to describe similar functionality.

Let’s talk about EC2-style clouds that provide you with a virtualized server at an hourly cost. Imagine you want to deploy a VoltDB instance of 3 nodes with K = 2, i.e. … Read more