Author Archive

Home » Articles posted by vdbdev

Creating a custom export client that runs inside VoltDB

Overview

  1. Implement a new export client
  2. Compile the client and place its .class file in VoltDB’s classpath. ($VOLTDB/lib/extension).
  3. Configure the client in the deployment file.
  4. Run the server.

Implement a new export client

An export client receives blocks of row data from a producer within the database.… Read more


Run Everywhere

VoltDB supports single-partition transactions, which as the name implies, run on only
one partition. VoltDB can run as many single partition transactions in parallel as
there are unique partitions. This enables high transaction throughput as well as
high transaction concurrency execution.… Read more


Planned Maintenance Windows

When you need to take the database down for maintenance, this is the recommended approach to do it safely with no data loss using a snapshot.

A snapshot is a point-in-time consistent copy of the entire contents of the database.… Read more


Configuring Export

VoltDB’s export feature connects VoltDB to a downstream OLAP system
so that you can use VoltDB for data correlation, data quality, filtering,
real time enrichment – and pass completed records downstream to your
OLAP / HDFS for historical analytics and archival.… Read more


INSTALLING VOLTDB IN LOCAL MAVEN REPOSITORY

This is a topic that has come up quite often as to how to use VoltDB client libraries if I use Maven. Although VoltDB is not part of the Maven Central repository, we can work around this by installing the libraries locally in the local repository for maven.… Read more


Real-time Analytics with JSON

This post describes how to combine VoltDB JSON functionality and materialized views
to perform high velocity real-time analytics. For this example, we’ll make some
simplistic modifications modify the voter application (found in
/examples/voter) to store vote values as JSON and
generate real-time analytics using views on the JSON vote data.
Read more


Upsert: update or insert a record

There are many times when a database needs to maintain unique records, and as new data arrives it may not be known if it is a new record to be inserted, or an existing record to be updated.… Read more


VoltDB SQL Command-Line Tool

sqlcmd is a SQL shell interpreter that allows you to execute VoltDB SQL and
Stored Procedures interactively as well as non-interactively, via scripts.

The following examples show how to execute SQL and Stored Procedures against
the VoltDB Voter example.… Read more


Configuring Durability

VoltDB achieves on-disk durability via its command logging feature. Command logging is enabled via the deployment.xml file. Command logging can not be enabled/disabled on a running cluster.

<deployment>
    <cluster hostcount="4" sitesperhost="2" kfactor="1" />
    <commandlog enabled="true"/>
</deployment>

Command logging has several configurable properties, including the path to the directory that log files will be written to, synchronous vs.… Read more


Starting a Cluster

VoltDB is usually configured to run in a cluster. Clusters provide both horizontal scaling (more transactions, more memory for storing data) and allow replication of data for high availability.

To start a VoltDB cluster, you specify two additional pieces of information when starting the database processes.… Read more


Configuring High Availability

VoltDB, when running on multiple hosts, can tolerate the failure of one or more hosts and continue running. To accomplish this, the database replicates partitions to multiple servers within a cluster.… Read more


Configuring Partitioning

VoltDB distributes data and processing across partitions. Other systems use the terms “shards” or “regions”. There are two steps to configuring partitioning in VoltDB.

  1. Tell the database how to distribute data.
  2. Read more