<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Artem Chebotko on foojay.io - Friends of OpenJDK</title><link>https://foojayio.github.io/website/today/author/artem-chebotko/</link><description>Articles written by Artem Chebotko on foojay.io - Friends of OpenJDK</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Thu, 28 Jul 2022 17:36:28 +0000</lastBuildDate><atom:link href="https://foojayio.github.io/website/today/author/artem-chebotko/index.xml" rel="self" type="application/rss+xml"/><item><title>Five Data Models for IoT: Managing the Latest IoT Events Based on a State in Apache Cassandra</title><link>https://foojayio.github.io/website/today/five-data-models-for-iot-managing-the-latest-iot-events-based-on-a-state-in-apache-cassandra/</link><pubDate>Thu, 28 Jul 2022 17:36:28 +0000</pubDate><guid>https://foojayio.github.io/website/today/five-data-models-for-iot-managing-the-latest-iot-events-based-on-a-state-in-apache-cassandra/</guid><description>&lt;p&gt;&lt;img src="https://foojayio.github.io/website/today/five-data-models-for-iot-managing-the-latest-iot-events-based-on-a-state-in-apache-cassandra/shutterstock_1111260050-350x233-1.jpg" alt="" loading="lazy"&gt;
 © Shutterstock / everything possible&lt;/p&gt;
&lt;p&gt;Apache Cassandra is a rock-solid choice for managing IoT and time series data at scale. The most popular use case of storing, querying and analyzing time series generated by IoT devices in Cassandra is well-understood and documented. In general, a time series is stored and queried based on its source IoT device. However, there exists another class of IoT applications that require quick access to the most recent data generated by a collection of IoT devices based on a known state. The question that such applications need to answer is: Which IoT devices or sensors are currently reporting a specific state? In this blog post, we focus on this question and provide five possible data modeling solutions to efficiently answer it in Cassandra.&lt;/p&gt;</description></item><item><title>Data Modeling in Cassandra and Astra DB</title><link>https://foojayio.github.io/website/today/data-modeling-in-cassandra-and-astra-db/</link><pubDate>Thu, 16 Jun 2022 19:22:05 +0000</pubDate><guid>https://foojayio.github.io/website/today/data-modeling-in-cassandra-and-astra-db/</guid><description>&lt;p&gt;&lt;img src="https://foojayio.github.io/website/today/data-modeling-in-cassandra-and-astra-db/0_90M63PeIIyDG3hj9-1024x581.png" alt="" loading="lazy"&gt;
&lt;/p&gt;
&lt;p&gt;What does it take to build an efficient and sound data model for &lt;a href="https://cassandra.apache.org/" target="_blank" rel="noopener noreferrer"&gt;Apache Cassandra&lt;/a&gt;
® and &lt;a href="https://astra.dev/3z6AFNd" target="_blank" rel="noopener noreferrer"&gt;DataStax Astra DB&lt;/a&gt;
? Where would one start? Are there any data modeling rules to follow? Can it be done consistently time and time again? The answers to these and many other questions can be found in the Cassandra data modeling methodology.{#3856}&lt;/p&gt;
&lt;p&gt;In this post, we present a high-level overview of the data modeling methodology for Cassandra and &lt;a href="https://astra.dev/3z6AFNd" target="_blank" rel="noopener noreferrer"&gt;Astra DB&lt;/a&gt;
, and share over half a dozen complete data modeling examples from various real-life domains. We apply the methodology to create Cassandra and Astra DB data models for IoT, messaging data, digital library, investment portfolio, time series, shopping cart, and order management. We even provide our datasets and queries for you to try.{#4bd9}&lt;/p&gt;</description></item><item><title>Optimizing Distributed Joins: The Case of Google Cloud Spanner and DataStax Astra DB</title><link>https://foojayio.github.io/website/today/optimizing-distributed-joins-the-case-of-google-cloud-spanner-and-datastax-astra-db/</link><pubDate>Tue, 31 May 2022 16:25:25 +0000</pubDate><guid>https://foojayio.github.io/website/today/optimizing-distributed-joins-the-case-of-google-cloud-spanner-and-datastax-astra-db/</guid><description>&lt;p&gt;&lt;img src="https://foojayio.github.io/website/today/optimizing-distributed-joins-the-case-of-google-cloud-spanner-and-datastax-astra-db/0_6VGah2hwaLIBjW7R-1024x576.jpeg" alt="" loading="lazy"&gt;
&lt;/p&gt;
&lt;p&gt;&lt;em&gt;In this post, learn how relational and NoSQL databases, Google Cloud Spanner and DataStax Astra DB, optimize distributed joins for real-time applications.&lt;/em&gt;{#c63a}&lt;/p&gt;
&lt;p&gt;Distributed joins are commonly considered to be too expensive to use for real-time transaction processing. That is because, besides joining data, they also frequently require moving or shuffling data between nodes in a cluster, which can significantly affect query response times and database throughput. However, there are certain optimizations that can completely eliminate the need to move data to enable faster joins. In this article, we first review the four types of distributed joins, including shuffle join, broadcast join, co-located join, and pre-computed join. We then demonstrate how leading fully managed Relational and NoSQL databases, namely &lt;a href="https://cloud.google.com/spanner" target="_blank" rel="noopener noreferrer"&gt;Google Cloud Spanner&lt;/a&gt;
 and &lt;a href="https://auth.cloud.datastax.com/auth/realms/CloudUsers/protocol/openid-connect/registrations?client_id=auth-proxy&amp;amp;response_type=code&amp;amp;scope=openid&amp;#43;profile&amp;#43;email&amp;amp;redirect_uri=https://astra.datastax.com/welcome" target="_blank" rel="noopener noreferrer"&gt;DataStax Astra DB&lt;/a&gt;
, support optimized joins that are suitable for real-time applications.{#bea1}&lt;/p&gt;</description></item></channel></rss>