High Throughput Apps

Posts Tagged ‘High Throughput Apps’

Picture it: Three Nodes, Highly Available Cluster, ~1 Million Transactions/second – with VoltDB

You’ve probably heard about the VoltDB, the super fast distributed ACID SQL RDBMS for OLTP, but you might not be aware of its throughput capabilities in detail. VoltDB achieves its high throughput by eliminating the locking and latching of conventional databases. It’s also distributed and can automatically shard your data, and it has a bunch of other really cool features that make transaction processing a snap.

We took a key­-value application and implemented it in VoltDB (the app is available with the distribution if you want to try it). We set the app up on 4 Dell R510′s with 64GB … Read more

 

JSON in VoltDB

VoltDB 3.0 introduces the use of JSON-encoded columns to allow more flexibility in how you structure and interact with your data. New SQL functions and index capabilities let you work more naturally with JSON data while maintaining the efficiency and transactional consistency of a relational database.

How?  A VoltDB JSON Example

Let’s assume that you want to implement a single sign-on (SSO) application using VoltDB.  You wish to store the login session for a set of different online sites under a common username.  Each login session could hold different user state, simple data values or possibly more complex structures. Additionally, … Read more

 

Leaderboards: Optimization for Ranking-Related Queries

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 … Read more

 

Writing VoltDB Apps in Java Q & A

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?  Would you not partition the tables in that case?
A:  For multi-partition queries you join … Read more

 

Q&A from My Talk at the Hamburg Javascript Meet-up

On June 18 I gave a talk to the Javascript meet-up group in Hamburg, Germany.  It was a very enjoyable evening.   I’d like to thank Martin Kleppe for organizing the event, and the meet-up group members for investing an evening to learn more about Node.js and VoltDB.

The group asked some interesting questions during the Q&A part of my talk and in the additional discussions afterward.  Below are some of the questions I remember, along with written responses.

Read more

Q: What are the primary differences between VoltDB Community Edition (open source license) and Enterprise Edition (commercial license)?
A: Aside from
 

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

 

Optimizing Distributed Read Operations in VoltDB

Many VoltDB applications, such as gaming leader boards and real-time analytics, use multi-partition procedures to compute consistent global aggregates (and other interesting statistics).  It’s challenging to efficiently process distributed reads operations, especially for performance sensitive applications.  Based on feedback from our users, we in VoltDB engineering have been enhancing the VoltDB SQL planner over the last few releases to improve this capability.

Executing global aggregates efficiently requires calculating sub-results at each partition replica and combining the sub-results at a coordinating partition to produce the final result.  For example, to calculate a total sum, the VoltDB planner should produce a sub-total … Read more

 

VoltDB Export – Connecting VoltDB to Other Systems

VoltDB is an in-memory database that excels at handling massive volumes of read and write operations in real-time.

However, performing high throughput database operations is often only one aspect of the larger business context where data needs to transition from system to system as part of an overall infrastructure. VoltDB provides powerful interoperability features that allow you to select, enrich and distribute data to downstream file systems and databases.

The target for exporting data from VoltDB may be another database, a repository (such as a sequential log file), or a process (such as a system monitor or accounting system). No … Read more

 

Is VOLTDB Really as Scalable as they Claim?

Baron Schwartz from Percona has published an analysis of VoltDB’s scaling performance on the MySQL Performance Blog. He has worked with our own Tim Callaghan to apply a mathematical model to the Scalability of VoltDB. The conclusion:

VoltDB is very scalable; it should scale to 120 partitions, 39 servers, and 1.6 million complex transactions per second at over 300 CPU cores…

and

…scaling a synchronously replicated, active-active master, fully ACID, always-consistent database to a 40-server cluster is impressive.

A few notes:

As Baron says, these benchmarks were based on our “Voter” example. We ship this example with our distribution Read more