![]() ![]() ![]() |
Contact Us | 1+978-528-4660 |
VoltDB Technical Overview
VoltDB Technical Overview is a white paper that covers VoltDB architectural concepts, identifies popular use cases and provides information about how to get started using VoltDB. This white paper covers a range of VoltDB topics, including:
![]() |
VoltDB's main memory architecture |
![]() |
Partitioning and scaling across a shared nothing server cluster |
![]() |
Built-in High Availability using synchronous multi-master replication |
![]() |
Built-in durability using command logging |
Integrating VoltDB with Hadoop
Hadoop is an open-source framework for managing and manipulating massive volumes of data. VoltDB is a transactional database for managing ultra-high velocity data. Big Data applications often require both: real-time transaction processing and analytics, and archival/analysis of deep historical data. VoltDB's streaming export environment lets you deliver selected data "on the fly" to Hadoop, providing you with an integrated solution for fast and deep data management. This white paper explains how to use VoltDB Export to integrate VoltDB and Hadoop to create powerful Big Data management infrastructures.
VoltCache: Developing Key/Value Applications Using VoltDB
Memcached is a popular caching infrastructure for high scaling web applications. It provides a scalable, Key/Value interface that allows developers to offload repetitive read operations from the underlying database (typically MySQL). VoltCache is a reference implementation that illustrates how VoltDB can be used to support memcached-style applications. It includes a Key/Value function library that models popular memcached API calls (GET, PUT, EXPIRE, etc.), and is provided with full source code.
Live Webinar: VoltDB for Digital Advertising Applications |
|
|
Live webinar: May 22, 2012, 2:00 pm EDT - Register here
Digital advertising is all about speed – speed of consumer targeting, speed of inventory provisioning, speed of bidding, execution and fulfillment; speed of ad performance analysis and optimization. With VoltDB, all the throughput you need is available in a compact, in-memory relational DBMS. Using a sample digital ad demo application, this webinar will introduce key aspects of VoltDB and discuss how they can be applied to media buying, ad networks, demand-side platforms and attribution models | |
Live Webinar: VoltDB for Capital Markets Applications
Live Webinar: VoltDB for Capital Markets Apps June 5, 2012 2 pm EDT - Register here
Financial trading leaders are under increasing pressure to make better decisions, faster, in a climate of increasing regulation. Speed is a competitive necessity. Pre-trade compliance, trade strategy back-testing, real-time risk analysis and transaction cost analysis (TCA) applications all require high-throughput, low-latency database operations. Using a sample cap markets application, this webinar will introduce key aspects of VoltDB and discuss how they can be applied to trade order processing, realtime compliance and alerting, and TCA applications.
Archived Webinar: VoltDB and Node.js – 695k TPS on Amazon Cloud
VoltDB recently released an updated version of its Node.js client driver, making databases implemented in VoltDB accessible to a wide range of Node.js applications. The driver was benchmarked for throughput and scalability by Henning Diedrich of Eonblast, Inc., who reported aggregate throughput of 695,000 TPS running on Amazon’s EC2 cloud. Join Henning and Andy Wilson of VoltDB’s engineering team as they walk through the benchmarking process and discuss some of the advanced capabilities that make VoltDB’s Node.js driver so scalable.
Archived Webinar: VoltDB for Big Data Applications
Archived Webinar: VoltDB for Big Data Applications
Big Data is commonly defined as having three characteristics – velocity, volume and variety. This webinar focuses primarily on the velocity requirement. Through a use-case format, Scott Jarr, VoltDB's CSO and Co-Founder, discusses the properties of high velocity data sources and identifies requirements for capturing, storing and analyzing of high velocity data. He clarifies where VoltDB fits in the Big Data ecosystem, and how you can use VoltDB in concert with Hadoop and popular analytic database products to address a broad range of Big Data applications.
Archived Webinar: Introduction to VoltDB 2.5
VoltDB 2.5 represents an important upgrade for all VoltDB products. This webinar will bring you up to speed on the latest database capabilities and give you the opportunity to explore these features in detail. Join John Piekos, VoltDB’s vice president of engineering, for a tour of the capabilities we’ve implemented in 2.5 including Database Replication, performance improvements, functional enhancements and Node.js support. John will also do a brief demo to show how VoltDB Database Replication can be used to implement a disaster recovery strategy.
Archived Webinar: OldSQL vs. NoSQL vs. NewSQL on New OLTP
Remember how we used to buy airline tickets – through a travel agent? That was commerce at the speed of the intermediary. In 1985, 1,000 TPS was considered an incredible stretch goal. Fast forward to today and we see new applications coming online every day requiring transaction throughput of hundreds of thousands of TPS. How can organizations ingest and manage data with such throughput requirements? Should they try to manually shard their favorite legacy RDBMS to gain speed and scale? Should they give up SQL and ACID altogether and adopt a NoSQL datastore? Are there emerging alternatives within the RDBMS domain that support high velocity applications, without throwing the baby out with the bath water?
Watch this webinar with Dr. Michael Stonebraker, RDBMS pioneer, for an entertaining and illuminating look at alternative approaches for addressing high velocity data problems. Dr. Stonebraker discusses OldSQL, NoSQL and NewSQL alternatives in the context of New OLTP applications.
Archived Webinar: Developing .NET & C# Applications in VoltDB
VoltDB's rich .NET C# client library provides high-performance, and native support for Windows-based clients. After a primer on the basics of building C# WinForm applications and services backed by a VoltDB database cluster, the presentation dives into specific topics such as advanced UI integration and DataBinding. As a practical example, we will use a "mini-SQL Management Studio" for VoltDB built entirely in C# and leveraging the VoltDB .NET client library.
Archived Webinar: VoltDB for SQL Developers
This webinar presents the fundamental building blocks of high-throughput VoltDB applications. It covers concepts such as schema design, data partitioning and stored procedure constructs from a SQL developer's point of view. Whether you're in the early stages of experimentation with VoltDB or actively engaged in building a VoltDB application, you'll learn how to apply your SQL skills quickly and effectively.
Archived Webinar: Using VoltDB with Hadoop for High Velocity Data Applications
This webinar explores the unique requirements of Big Data applications, and discusses the details of VoltDB’s recently-introduced integration solution for Hadoop. If you’re planning to implement a Hadoop infrastructure (or already using Hadoop in production), this webinar will help you understand how to manage “firehose” data sources and deliver data to Hadoop efficiently and reliably.
Archived Webinar: Five Data Management Mega-trends to Watch
The data management landscape is changing in profound ways. Internet commerce and social media are dis-intermediating traditional forms of data entry; sensors are appearing everywhere, increasing the velocity and volume of data at the point of acquisition; cloud computing is delivering utility-style economics that enable new kinds of data intensive applications.
During this webinar VoltDB's Founder, Mike Stonebraker, identifies the five IT trends that will most significantly impact how we will produce, manage and consume data in the coming years, and he’ll offer guidance for how IT organizations can effectively evolve to meet the oncoming data management opportunities and challenges.
Archived Webinar: Choosing the Best Database for Your Online Game
Selecting the right database for your next product can be a complex and time consuming process. Many game developers have gone the route of MySQL/memcached, and the trade-offs of this choice are pretty well understood. There are also a lot of new datastores on the market today, particularly around the NoSQL theme – what are the situations when these make sense? This webinar identifies the key data management requirements common to many online games and map those requirements to available database solutions. It covers criteria such as speed, scalability, flexibility, data consistency, operational ease, developer productivity, license and community. It compares different database alternatives in the context of these criteria, and explores under which circumstances each one is the best fit for gaming applications.
Mike Stonebraker on NewSQL vs NoSQL for New OLTP at the NoSQLNow! Conference
View Mike Stonebraker's presentation at the NoSQLNow! Conference in August 2011. This talk discusses how historically, enterprises used traditional RDBMs for online transaction processing (OLTP) applications; and we affectionately call these systems OldSQL, because they are largely legacy code bases, originally written decades ago. New OLTP applications have more extreme performance requirements than the Old OLTP applications of yesteryears.
This talk contrasts two alternatives to OldSQL in this area:
- NoSQL, where both SQL and ACID transactions are jettisoned for better performance
- NewSQL, where SQL and ACID are retained, and better performance is delivered through innovative architectures
Mike Stonebraker Talks About Big Data, the Cloud, and the Market Advantage of Open Source
Tune in to the interview between David Vellante (DV) and Professor Mike Stonebraker (MS) of MIT at the Mass Technology Leadership Council event February 17, 2011. on the Siliconangle Cube. Their discussion focused on big data and was conducted earlier in February 2011 after a panel discussion. To read the full transcript visit http://Wikibon.org
Monitoring Database Health with the VoltDB Enterprise Manager
Identifying problems early is key to maintaining a stable database environment. In this short video, learn how to monitor the health of your database with the VoltDB Enterprise Manager and how the durability features of VoltDB can help you both detect and recover from hardware errors.
Saving and Restoring Snapshots with the VoltDB Enterprise Manager
Snapshots let you save the contents of a database to disk. Whether you need to schedule an automated snapshot or take one manually, this video explains the steps for saving and restoring snapshots using the VoltDB Enterprise Manager.
Defining and Deploying Databases Using the VoltDB Enterprise Manager
Andrew Gent from VoltDB Engineering provides a short demonstration of how to define and deploy databases using the VoltDB Enterprise Manager 1.3. The video walks you through the process from start to finish, demonstrating how easy it is to set up a database cluster using the Enterprise Manager.
FLOSS Weekly Episode 149: VoltDB
FLOSS Weekly provides interviews with prominent evangelists and developers in the Free, Libre, and Open Source Software movement. In Episode 149, FLOSS Weekly's Randall Schwartz and Dan Lynch interview VoltDB's John Hugg about technology, licensing and open source community development. The interview extensively explores VoltDB's ability to handle massive data throughput requirements, and focuses on early use cases and customer applications.
The VoltDB FAQ
Question |
Answer |
|
| What is VoltDB? |
VoltDB is a SQL RDBMS for database applications that have ultra-high throughput requirements. Depending on the product configuration, VoltDB offers some or all of the following:
|
|
| What is the architecture of VoltDB? | VoltDB is an in-memory database distributed on a scalable cluster of shared-nothing servers. Transactions are defined as Java stored procedures, using ANSI-standard SQL for data access. Parallel single-threaded processing ensures transactional consistency while avoiding the overhead of locking, latching, and resource management seen in traditional database systems. | |
| How does VoltDB achieve ACID compliance? |
ACID stands for Atomicity, Consistency, Isolation, and Durability — the cornerstones of database transaction processing.
|
|
| What is VoltDB's scaling model? | VoltDB automatically partitions frequently accessed database tables across the available cluster nodes. Both the capacity and performance of the database can be increased by adding nodes to the cluster. Upon changes to cluster size, VoltDB automatically redistributes the partitions to the new configuration when you reload the data. VoltDB also allows tables with infrequently-changing data to be replicated to each node to further optimize performance. | |
| How does VoltDB partition a database? | For partitioned tables, VoltDB distributes the rows across the partitions using a hash scheme. The user identifies, for each partitioned table, which column is used as input to the internal hashing function. | |
|
How are VoltDB partitions different from sharding a traditional database? |
In sharding, database partitions are actually separate, unrelated database instances. It is the responsibility of the application code to know what shard contains specific data as well as to manage the complexities of any queries that require data from multiple shards. More importantly, there is no guarantee of data or transactional consistency within the database system. All consistency logic must be written into the application. With VoltDB, the database engine transparently provides partition management, cross parition data access and full ACID-compliance across the entire database and all partitions. Another cost of sharding is the complexity of managing the individual database instances. Backup, recovery, and all other management tasks must be performed separately for every node. With VoltDB, these management operations are managed centrally and transparently. |
|
| Which programming languages can be used to build applications that access VoltDB? | VoltDB provides client libraries for Java, C++, C#, PHP, Python and Node.js. The VoltDB community has also developed client libraries for Erlang and Ruby, although those are not officially supported interfaces. | |
| What are good use cases for VoltDB? | VoltDB is used today for traditional high performance applications such as capital markets data feeds, financial trade, telco record streams and sensor-based network systems. It's also used in emerging applications like wireless, online gaming, fraud detection, digital ad exchanges and micro transaction systems. Any application requiring high database throughput, linear scaling and uncompromising data accuracy will benefit from VoltDB. | |
| How does VoltDB differ from MySQL used with memcached? |
Memcached is a distributed in-memory cache. It provides none of the reliability or consistency of an ACID-compliant SQL database. Memcached is often used as a cache in front of MySQL to improve performance of read operations. This requires the client application to manage the hash algorithms for both memcached and MySQL, as well as to handle the chores of cache synchronization. VoltDB automates all of these functions with none of the penalties, while providing wildly superior performance. In addition, caching can help improve read performance for products such as MySQL, but does not help scale write performance. VoltDB scales linearly for both read and write operations. VoltDB includes a reference implementation, called VoltCache, that provides equivalent functionality to memcached. Developers familiar with memcached often use VoltCache for POCs and as a starting point for application development. |
|
| How does VoltDB differ from Key-Value stores? |
Key-Value stores are a mechanism for storing arbitrary data (i.e. values) based on individual keys. Distributing Key-Value stores is simple, since there is only one key. However, there is no structure within the data store and no transactional reliability provided by the system. VoltDB provides the ability to store either structured or unstructured data, while at the same time providing full transactional consistency and reliability. VoltDB can even define a transaction that includes reads and writes across multiple keys. Finally, VoltDB provides comparable or better performance in terms of throughput. |
|
| What server platforms does VoltDB support? | The target platform for VoltDB is CentOS V5.6. However, the product is designed for compatibility with any 64-bit POSIX-compliant Linux platform. Development kits are also available for Ubuntu (10.4 and later) and Macintosh (OS X 10.6). Source code and build scripts are available for those who want to build the software on other platforms. | |
| What SQL does VoltDB support? |
VoltDB supports a subset of ANSI-standard SQL 99, including the CREATE INDEX, CREATE TABLE, and CREATE VIEW statements for schema definition and SELECT, INSERT, UPDATE, and DELETE for data manipulation. Additional SQL syntax will be added over time as the needs of users and customers dictate. See the Using VoltDB manual for details on the specific SQL syntax that the current version of VoltDB supports. |
|
| What are the primary differences between VoltDB Enterprise Edition, VoltOne and VoltDB Community Edition? |
VoltDB Enterprise Edition is the premier product in the VoltDB family. It is intended for organizations that are deploying mission critical VoltDB applications. VoltDB Enterprise Edition includes all core database functionailty and tools; it can be scaled to run on large clusters; offers built-in high availability and database durability; it supports database replication for disaster recovery, hot stand-by and workload optimization; it provides comprehensive systems management; and it can be integrated with Hadoop out-of-the-box. VoltOne is a single-server version of VoltDB Enterprise Edition. It is aimed at Web start-ups and ISVs that need an ultra-fast single node RDBMS. VoltOne includes all of the functionality available in Enterprise Edition but, because it's limited to single-server deployments, does not offer clustering features (i.e., horizontal scale-out and high availability). The upgrade path from VoltOne to VoltDB Enterprise Edition is fast and easy. VoltDB Community Edition provides many of the features of VoltDB Enterprise Edition, and is distributed under the GPL3. VoltDB Community Edition is horizontally scalable and includes built-in high availability features, but does not include some production database features found in VoltDB Enterprise Edition (e.g., durability, Hadoop integration, and management consoles and APIs). The upgrade path from VoltDB Community Edition to VoltDB Enterprise Edition is fast and easy. |
|
| How do you increase the size of a VoltDB database cluster? |
The size of the database cluster is defined when you compile the application catalog and start the database. To increase the cluster size, you simply need to:
|
|
| What is the maximum cluster size that VoltDB supports? |
There is no architectural limit to the number of nodes in a VoltDB cluster. That said, people often think of performance as a comparative value proportional to cluster size. And although it is true that VoltDB's throughput scales linearly, it is also true that VoltDB's initial performance on a single node is 50 to 100 times greater than comparable database products. As a consequence, it is possible to achieve throughput rates of over a million transactions per second on a cluster with as few as 12 nodes. VoltDB is regularly tested on and tuned for clusters of 6 to 12 nodes and has scaled linearly to 3.4 million TPS on 30 nodes. If you are considering running a large VoltDB cluster, please contact us - we'd love to help users design high-scaling VoltDB infrastructures. |
|
| Does VoltDB come with management tools? |
The VoltDB Enterprise Edition includes a browser-based management tool called the VoltDB Enterprise Manager. The VoltDB Enterprise Manager helps you deploy and control a VoltDB database in a cluster environment. You can start and stop the database, update the schema and stored procedures, and manage disk-based snapshots of the data from a single console interface. See the VoltDB Management Guide for details. |
|
| What database monitoring tools are available? |
The VoltDB Enterprise Manager provides performance and activity monitoring, in addition to its management and control functionality. The browser-based console interface provides real-time statistics on the number of records in each partition, as well as measurements of throughput and latency. For those using the Ganglia monitoring tool, the VoltDB Enterprise Manager also exports performance data to Ganglia automatically. For those using the VoltDB Community Edition, there are system procedures that can provide similar information through the callable interface, such as @Statistics and @SystemInformation. |
|















