Learn By Example: Metro Card

Fraud Detection on Streaming Data


This application demonstrates high velocity transaction processing. The example emulates processing of pre-paid travel cards in a metropolitan transportation system, such as a subway. The transactions include:

  • Card generation (during the initialization)
  • Card Swipes (during the benchmark)

The sample also includes a simple web interface to track and summarize the transactions in real time. The report includes a table showing the busiest stations.


Besides the generation and processing of transactions, the example includes the SQL definitions and statements to demonstrate streaming the data to other data stores using the VoltDB export feature. The data can be exported through the HTTP export connector. The code includes a simple webserver that can act as a destination for the exported rows of data.


The code for the Metro Card sample application ships as part of the VoltDB product in the /examples folder. You can also find it in the VoltDB github repository.