Data modeling with DynamoDB

DynamoDB is a truly unique and powerful database. It provides a predictable low latency, a vast array of features, tight integration with other AWS services and almost no operational load. The only problem is that its data model can seem...

/ November 13, 2017

Should you use DynamoDB?

This article provides a general overview of DynamoDB, shows how to structure data, and presents some advanced features of this technology.

/ November 6, 2017

Guide to NoSQL for Software Developers

A short guide to NoSQL databases that explains what NoSQL databases for, why are they so different from SQL databases and how to use them.

/ October 30, 2017

Sending additional data to and from Flink cluster

In the first part of the article, I'll describe how to send configuration data to our Flink cluster. In the second part of the article, I will describe a non-trivial way of sending data back from a Flink cluster.

/ October 24, 2017

Four ways to optimize your Flink applications

Apache Flink provides many ways to tweak its execution. Here I'll show four different ways to improve the performance of your Flink applications.

/ October 17, 2017

Getting started with stream processing using Apache Flink

Apache Flink is taking the world of Big Data by storm. Learn how to start develop complex stream processing algorithms using it.

/ October 9, 2017

Getting started with batch processing using Apache Flink

Apache Flink is the next big thing in Big Data and has excellent support for both batch and stream processing. Learn how to start develop batch processing algorithms using it.

/ October 1, 2017

Apache Flink vs. Apache Spark

If you look at this image with a list of Big Data tools it may seem that all possible niches in this field are already occupied. With so much competition it should be very tough to come up with a...

/ September 25, 2017

Java’s Synchronized Keyword in Three Minutes

The synchronized keyword is a common building block in concurrent Java applications. Learn how to use it to avoid race conditions.

/ April 17, 2017

The Dangers of Race Conditions in Five Minutes

A race condition occurs when multiple threads mutate shared state such that the outcome depends on how exactly the threads' operations interleave.

/ April 3, 2017

Java Thread Class in Five Minutes

Threads are Java's basic abstraction for running code in parallel. Learn how to use the Thread class to launch, finish, and wait for threads.

/ March 20, 2017

Beyond POJOs – Ten More Ways to Reduce Boilerplate with Lombok

How to use Lombok to reduce Java boilerplate in logging, null checks, variable definitions, concurrent code, exception handling, laziness, and more.

/ March 6, 2017