blob: df630494d21c3dbf00eca218123ef74545da9d5e [file] [log] [blame]
<!DOCTYPE html>
<html lang="en"><head>
<meta charset="utf-8">
<title>Enhancing Flexibility and Productivity with Access Patterns and Storage-Agnostic Abstractions | Community Over Code Europe</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description"
content="Community Over Code Europe is the annual gathering in Europe of the Apache Software Foundation community.">
<meta name="generator" content="Hugo 0.119.0"><meta property="og:title" content="Enhancing Flexibility and Productivity with Access Patterns and Storage-Agnostic Abstractions" />
<meta property="og:description" content="This session will introduce a platform created to bridge the existing gaps in data management while removing some of the complexities in existing Big Data ecosystem. The platform is built around a comprehensive data model describing structured entities and their relations. The model is consistently applied across three abstract types of storages - streaming (e.g. Apache Kafka, Google Cloud PubSub), batch (e.g. Hadoop HDFS, S3, Google Cloud Storage) and random-access (e." />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://eu.communityovercode.org/sessions/2024/enhancing-flexibility-and-productivity-with-access-patterns-and-storage-agnostic-abstractions/" /><meta property="og:image" content="https://eu.communityovercode.org/images/card.jpg"/><meta property="article:section" content="sessions" />
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="https://eu.communityovercode.org/images/card.jpg"/>
<meta name="twitter:title" content="Enhancing Flexibility and Productivity with Access Patterns and Storage-Agnostic Abstractions"/>
<meta name="twitter:description" content="This session will introduce a platform created to bridge the existing gaps in data management while removing some of the complexities in existing Big Data ecosystem. The platform is built around a comprehensive data model describing structured entities and their relations. The model is consistently applied across three abstract types of storages - streaming (e.g. Apache Kafka, Google Cloud PubSub), batch (e.g. Hadoop HDFS, S3, Google Cloud Storage) and random-access (e."/>
<!-- plugins -->
<link rel="stylesheet" href="/plugins/bootstrap.min.css">
<link rel="stylesheet" href="/plugins/bootstrap-table.min.css">
<link rel="stylesheet" href="/plugins/fontawesome.css">
<!-- Main Stylesheet -->
<link rel="stylesheet" href='/scss/style.min.css?v=202411271359' media="screen">
<!--Favicon-->
<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon">
<link rel="icon" href="/favicon.ico" type="image/x-icon">
</head><body class="interior">
<header class="header-bar">
<nav class="navbar navbar-expand-lg main-nav navbar-light fixed-top">
<a class="navbar-brand ml-4 pb-2" href='/'>
<img src="/images/coc-logo-color.svg" alt="Community Over Code Europe" class="img-fluid logo-b">
</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navigation"
aria-controls="navigation" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse text-center my-auto" id="navigation">
<ul class="navbar-nav me-auto align-items-center">
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" role="button" data-toggle="dropdown" aria-haspopup="true"
aria-expanded="false">
About
</a>
<div class="dropdown-menu">
<a class="dropdown-item" href="/about">Community Over Code</a>
<a class="dropdown-item" href="/about-the-asf">About the ASF</a>
<a class="dropdown-item" href="/diversity-and-inclusion">Diversity &amp; Inclusion</a>
</div>
</li>
<li class="nav-item">
<a class="nav-link" href="/program">Program</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/speakers">Speakers</a>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" role="button" data-toggle="dropdown" aria-haspopup="true"
aria-expanded="false">
Venue
</a>
<div class="dropdown-menu">
<a class="dropdown-item" href="/venue">About the venue</a>
<a class="dropdown-item" href="/how-to-get-there">How to get there</a>
</div>
</li>
<li class="nav-item">
<a class="nav-link" href="/#latest-news">News</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/faq">FAQ</a>
</li>
<li class="nav-item">
<a id="nav-button" href="/tickets" class="btn btn-orange text-white btn-rounded">Tickets</a>
</li>
</ul>
</div>
</nav>
</header>
<section class="page-header">
<div class="container">
<div class="row justify-content-center">
<div class="col-lg-8">
<div class="content text-center">
<h1 class="mb-3">Enhancing Flexibility and Productivity with Access Patterns and Storage-Agnostic Abstractions</h1>
<div class="divider mx-auto mb-4 bg-secondary"></div>
</div>
</div>
</div>
</div>
</section>
<section class="speaker-detail">
<div class="container">
<div class="row mt-4">
<div class="image-column col-lg-3 d-none d-lg-block">
<div class="schedule-block col-lg-10 col-md-12 col-sm-12">
<div class="sec-title text-center">
<span class="title">Speaker(s):</span>
<div class="speaker-info" style="margin-bottom: 20px;">
<figure class="thumb my-3">
<a href="/speakers/jan-lukavsky/">
<div class="img-container">
<img src="/images/speakers/jan-lukavsky_hu1a9f016af5e36e27009fd8bd29a66184_102683_400x0_resize_q75_h2_box.webp" alt="Photo of images/speakers/jan-lukavsky.jpg" class="img-fluid rounded-circle">
</div>
<h5 class="name">Jan Lukavský</h5>
</a>
</figure>
</div>
</div>
</div>
</div>
<div class="info-column col-lg-9 col-md-12 col-sm-12">
<div class="inner-column">
<div class="text-box">
<div class="session-meta" id="date">
<div>
<em>Jun-04 12:30-13:00 in Rhapsody</em>
</div>
<div class="d-lg-none d-xl-none">
By
<a class="speaker-inline-item" href="https://eu.communityovercode.org/speakers/jan-lukavsky/">Jan Lukavský</a>
</div>
<div class="content mt-4"><p>This session will introduce a platform created to bridge the existing gaps in data management while removing some of the complexities in existing Big Data ecosystem. The platform is built around a comprehensive data model describing structured entities and their relations. The model is consistently applied across three abstract types of storages - streaming (e.g. Apache Kafka, Google Cloud PubSub), batch (e.g. Hadoop HDFS, S3, Google Cloud Storage) and random-access (e.g. Apache Cassandra, Apache HBase, Google Cloud BigTable). The platform ensures eventual consistency between all these types of storages by replicating data flowing from streaming (commit-log) sources into other types. By using abstractions over these storage types, it enables running multiple instances of applications not only in different regional zones, but also across different technologies (e.g. cloud vs on-premise) without the need to change the application code. The platform also provides sources and sinks for data processing engines like Apache Beam or Apache Flink, so that sophisticated data transformations can be easily integrated into the platform as well, leveraging all the guarantees of the platform.</p>
<p>Although the platform has eventual consistency at its heart, due to the applied data model, the platform can build strong ACID guarantees, applied across different storage types. The abstraction layer also simplifies development due to simple local testing of complex scenarios where all storages can be replaced with in-process canonical representations. This greatly improves the ability to focus on implementing the application logic and postpone decisions about technological choices until runtime and subject to actual application&rsquo;s needs (which can easily change over time).</p>
<p>This platform is used to power internal IoT platform at O2 Czech Republic and is currently licensed with ASLv2.</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<footer>
<div class="container-fluid">
<div class="container py-5">
<div class="d-flex justify-content-between">
<div class="col-6 col-md-4 col-lg-3">
<div class="mb-3"> <img src="/images/logo-h.svg" class="img-fluid" alt="Community Over Code Europe"></div>
<ul class="list-inline mb-0">
<li class="list-inline-item mx-2 h3" data-toggle="tooltip" data-placement="top" title aria-label="Email us" data-original-title="Email us">
<a title="Email us" target="_blank" href="mailto:coceu@sg.com.mx?subject=[EU]">
<i class="fa fa-envelope" aria-hidden="true"></i>
</a>
</li>
<li class="list-inline-item mx-2 h3" data-toggle="tooltip" data-placement="top" title aria-label="Slack" data-original-title="Slack">
<a title="Slack" target="_blank" href="https://s.apache.org/apachecon-slack">
<i class="fab fa-slack" aria-hidden="true"></i>
</a>
</li>
<li class="list-inline-item mx-2 h3" data-toggle="tooltip" data-placement="top" title aria-label="Watch us on YouTube" data-original-title="Watch us on YouTube">
<a title="Watch us on YouTube" target="_blank" href="https://www.youtube.com/@communityovercode">
<i class="fab fa-youtube" aria-hidden="true"></i>
</a>
</li>
</ul>
</div>
<div class="col-md-6 text-right">
<div class="footer-links">
<ul>
<li><a href="/coc" >
Code of Conduct
</a></li>
<li><a href="/accessibility" >
Accessibility
</a></li>
<li><a href="/privacy" >
Privacy Policy
</a></li>
<li><a href="/team" >
Organizers
</a></li>
<li><a href="https://communityovercode.org/wp-content/uploads/2023/12/community-over-code-prospectus-2024.pdf" >
Prospectus
</a></li>
</ul>
</div>
</div>
</div>
</div>
</div>
<div class="footer-section footer-section__policies-section bg-dark">
<div class="container my-0 footer-section__policies-section--disclaimer">
Community Over Code operates under the terms of <a href="https://apache.org/foundation/policies/conduct">The ASF Code of Conduct</a>.
</div>
</div>
</footer>
<!-- JS Plugins -->
<script src="/plugins/jquery.min.js"></script>
<script src="/plugins/bootstrap.bundle.min.js"></script>
<script src="/plugins/bootstrap-table.min.js"></script>
<script src="/plugins/bootstrap-table.min.js"></script>
<script src="https://js.tito.io/v2"></script>
<script>
var _paq = window._paq = window._paq || [];
_paq.push(["disableCookies"]);
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="https://analytics.apache.org/";
_paq.push(['setTrackerUrl', u+'matomo.php']);
_paq.push(['setSiteId', '39']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
})();
</script>
</body>
</html>