Skip directly to content

VoltDB Applications

Announcing VoltDB v3.0 – Preview Release

Thursday, September 27, 2012 - 12:00am

written by John Piekos on September 27, 2012

Announcing VoltDB v3.0 – Preview Release

The next major release of VoltDB, version 3.0, is right around the corner.  In anticipation of this release, we’re announcing a preview release of the v3.0 offering, available immediately.  A brief overview and details on how you can preview this exciting release is found below.
What is VoltDB v3.0?

The VoltDB v3.0 release includes a set of user-visible features, including new SQL (specifically column functions), ad hoc SQL execution performance, Export enhancements, online schema changes, and a more

Announcing VoltDB v3.0 — BETA

Friday, November 9, 2012 - 12:00am

written by John Piekos on November 9, 2012 

The VoltDB Engineering Team is excited to announce the availability of the VoltDB v3.0 BETA.
The following provides a brief overview and details on how you can download this very important release.
What is VoltDB v3.0?

VoltDB v3.0 offers a set of user-visible features, including new SQL, indexable column functions, improved ad hoc SQL execution performance, export enhancements, online schema changes, and a more streamlined application-development process.

Leaderboards: Optimization for Ranking-Related Queries

Friday, October 5, 2012 - 12:00am

written by Douglas Patten on October 5, 2012

My name is Xin Jia and I was one of the student interns at VoltDB this summer. For one of my projects, I worked on a feature that greatly improved the performance of ranking-related queries.

Finding the rank of an entry in a sorted list of data is a common operation in a lot of applications. Take a leaderboard within gaming application as an example: it is common to have a scoreboard that keeps track of users’ scores. Questions like, “what are the top-n users and their corresponding scores?”, or “what is the rank of a certain user?” are often

Making an Impact: VoltDB Engineering Interns

Friday, September 21, 2012 - 12:00am

written by John Piekos on September 21, 2012

Making an Impact: VoltDB Engineering Interns

Summer went by too fast in New England!  We are already missing our two engineering internship students, Xin Jia from Brown University and Zheng li from University of Massachusetts, Lowell.

During their internship, Xin and Zheng worked on numerous projects, explored new ideas, and helped accelerate the launch of product features. In short, they were big contributors to VoltDB.

MySQL to VoltDB: Experiences from the field

Tuesday, September 4, 2012 - 12:00am

Written by Andrew Wilson

 

Francis Pelland is the Technical Lead for Social Game Universe developing the next generation of The Lightning Platform. The Lightning Platform lets developers build high performance, scalable data platform and provides the management, analytics and the tools to promote and grow social games. He wrote a short guide to help his team get through the transition for PHP developers moving from MySQL to VoltDB. Here’s an excerpt:

Is there PhpMyAdmin or similar?

Yes there is! This tool is called Web Studio.

Programming VoltDB – Easy, Flexible and Ultra-fast!

Monday, August 6, 2012 - 12:00am

You may believe that the only way to interact with VoltDB is through Java stored procedures. To achieve maximum throughput, VoltDB stored procedures is the way to go. You can achieve upwards of 100,000 transactions per second on a single node.  However, you can also achieve significant throughput by interacting with VoltDB conversationally, through ad hoc SQL statements, avoiding the need to pre-compile stored procedures.

 

This blog will discuss several approaches to interacting with VoltDB programmatically and cover the performance, in terms of transaction throughput, that you should expect

Recap of VoltDB for SQL Devs Webinar

Tuesday, July 31, 2012 - 12:00am

written by Ben Ballard on July 31, 2012

We had a great turnout for the VoltDB for SQL Developers webinar on July 19th. The audience was engaged and asked many good questions.  We had attendees from all over the US, Canada and Germany.  I’d like to thank all those who attended and asked questions, and those who have contacted us since then with additional questions and feedback.

There were several questions in particular about partitioning and working with stored procedures, which hit upon what I think are the two most important concepts.

Partitioning enables scalability and throughput, by

Scaling: 700,000 Simultaneous Connections to VoltDB

Monday, October 21, 2013 - 12:00am

written by Ariel Weisberg on October 21, 2013

One of the original design goals for VoltDB was to support large numbers of connections per server. This kind of came for free with Volt’s event based design. The event based design was driven by a desire to keep the number of active software threads 1:1 with available hardware threads and this basically proscribed any kind of thread per client network IO implementation.

In theory the only limit on the number of connections in Volt is kernel memory and heap space.

VoltDB client for the Go Language

Monday, October 29, 2012 - 12:00am

written by Ryan Betts on October 29, 2012 

A while ago I published my Go VoltDB driver to github (https://github.com/rbetts/voltdbgo).  I wrote the driver for three reasons: to learn and write a little go; to be able to test and script against VoltDB using go; and to experiment with some different VoltDB client patterns.

We, and the community, have written several production quality drivers for VoltDB (available at https://www.voltdb.com/download). The go driver, however, has not been tested for production use.

With caveats complete, what’s up with voltdbgo?

Firstly, it only supports

VoltDB Explain Plan Command and Planner Testing Tool

Wednesday, September 12, 2012 - 12:00am

written by Douglas Patten on September 12, 2012

My name is Zheng Li, a UMass Lowell graduate student. I spent the summer as an internship at VoltDB. Over the summer, I primarily worked on two VoltDB features, both related to query plans. The features are:

  1. Explain plan command
  2. Planner testing tool

query plan is an ordered set of steps used to access or modify information in a SQL relational database management system (see http://en.wikipedia.org/wiki/Query_plan).  Understanding query plans is important because the first plan chosen to execute will directly affect the query execution

VoltDB – Simplified CSV Loader

Thursday, August 23, 2012 - 2:30pm

written by Douglas Patten on August 23, 2012

My name is Xin Jia, a Brown University student, and I’ve spent the summer interning at VoltDB. One of the first projects that I worked on this summer was a CSV Loader with fellow intern Zheng Li.

Prior to VoltDB 2.8, loading data from CSV files into the database could be a challenging task, especially for newcomers. There were a few steps that needed to be taken: you would need to write a client program to parse the CSV data, handle errors and ultimately invoke a stored procedure to insert the data into the database.

VoltDB, native memory, and you

Monday, March 3, 2014 - 12:00am

Originally published here

Target audience

This post targets other VoltDB developers who are going to be dealing with the various unconventional ways Volt now uses native memory in the Java portions of the database. It will also be of interest to other Java developers looking to step outside what is typically considered Java’s comfort zone for interacting with native memory.

What was

Out of the box Java doesn’t give you much in the way of tools for accessing native memory allocation and deallocation mechanisms like mmap or malloc.

Writing VoltDB Apps in Java Q & A

Friday, October 5, 2012 - 12:00am

written by Andrew Wilson on October 5, 2012

NewSQL and NoSQL databases present developers with a new and interesting programming model where there are fewer connections to the database, query parallelism, partitions and an easy model for supporting new clusters. Last month I presented a webinar introducing the basics of application development using VoltDB. We had a lot of great questions and I thought it would be handy to write them up and share the answers with everyone.

Q: Can you address how you would handle joining tables that have different partition keys?