You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
flink-cdc-connectors/docs/site/index.html

249 lines
13 KiB
HTML

<!doctype html>
<html lang="en">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- Bootstrap CSS -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.8.1/font/bootstrap-icons.css">
<!-- Termynal CSS -->
<link rel="stylesheet" href="lib/termynal.css">
<!-- Favicon of website -->
<link rel="icon" type="image/x-icon" href="assets/favicon.png">
<title>CDC Connectors for Apache Flink&reg;</title>
</head>
<body>
<nav class="navbar navbar-expand-lg navbar-dark px-4 py-2" style="background: #336699">
<a class="navbar-brand" href="#">CDC Connectors for Apache Flink&reg;</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarContent" aria-controls="navbarContent" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse justify-content-end" id="navbarContent">
<ul class="navbar-nav">
<li class="nav-item active">
<a class="nav-link" href="https://github.com/ververica/flink-cdc-connectors/releases/">Download</a>
</li>
<li class="nav-item active">
<a class="nav-link" href="https://ververica.github.io/flink-cdc-connectors/master/">Documentation</a>
</li>
<li class="nav-item active">
<a class="nav-link" href="https://github.com/ververica/flink-cdc-connectors/">Source</a>
</li>
</ul>
</div>
</nav>
<section class="hero-banner position-relative">
<div class="bg"></div>
<div class="container position-relative">
<div class="container py-xs-2 py-sm-3 py-md-4 py-xxl-5">
<div class="row py-5">
<div class="col-xl-6 col-lg-8">
<h1 class="display-5 fw-bold lh-1 mb-3" style="color: #336699;">CDC Connectors for Apache Flink&reg;</h1>
<h3 style="color: #336699;">Embrace Database Changes</h3>
<p><a class="github-button" href="https://github.com/ververica/flink-cdc-connectors" data-icon="octicon-star" data-size="large" data-show-count="true" aria-label="Star ververica/flink-cdc-connectors on GitHub">Star</a></p>
<p class="lead">This project provides a set of source connectors for Apache Flink&reg; directly ingesting changes coming from different databases using Change Data Capture(CDC).</p>
<div class="d-grid gap-2 d-md-flex justify-content-md-start">
<a role="button" class="btn btn-primary btn-lg px-4 me-md-2" href="https://github.com/ververica/flink-cdc-connectors/releases/">Download</a>
<a role="button" class="btn btn-secondary btn-lg px-4" href="https://ververica.github.io/flink-cdc-connectors/master/">Documentation</a>
</div>
</div>
</div>
</div>
</div>
</section>
<section class="bg-white">
<div class="container py-4">
<div class="row py-3">
<div class="col-12 text-center"><h1>Key Features</h1></div>
</div>
<div class="row py-4">
<div class="col-md-12 col-lg-4 px-4">
<a class="no-decoration-anchor" href="https://ververica.github.io/flink-cdc-connectors/master/content/about.html#features">
<div class="text-center text-primary">
<h1><i class="bi bi-calculator"></i></h1>
<h4>Exactly-once Semantics</h4>
</div>
</a>
<div class="py-3">CDC Connectors for Apache Flink&reg; supports reading database snapshots and continues to read binlogs with exactly-once processing, even after failures.</div>
</div>
<div class="col-md-12 col-lg-4 px-4">
<a class="no-decoration-anchor" href="https://ververica.github.io/flink-cdc-connectors/master/content/about.html#usage-for-table-sql-api">
<div class="text-center text-primary">
<h1><i class="bi bi-hdd-network"></i></h1>
<h4>Table/SQL API</h4>
</div>
</a>
<div class="py-3">Users can use SQL DDL to create a CDC source to monitor changes on a single table.</div>
</div>
<div class="col-md-12 col-lg-4 px-4">
<a class="no-decoration-anchor" href="https://ververica.github.io/flink-cdc-connectors/master/content/about.html#usage-for-datastream-api">
<div class="text-center text-primary">
<h1><i class="bi bi-water"></i></h1>
<h4>DataStream API</h4>
</div>
</a>
<div class="py-3">Users can consume changes on multiple databases and tables in a single job without Debezium and Apache Kafka&reg; deployed.</div>
</div>
</div>
</div>
</section>
<section class="bg-dark text-light">
<div class="container py-4">
<div class="row py-4">
<div class="col-md-12 col-lg-5 mx-auto py-4 align-self-center">
<div class="pb-4 text-center"><h2>Getting Started</h2></div>
<div class="py-4" style="font-size: 20px">CDC Connectors for Apache Flink&reg; provides a series of quick start demos without any dependencies or java code, only a Linux or MacOS computer with Docker installed is enough. With these demos, you can quickly feel the power and convenience of Apache Flink&reg; CDC.</div>
<a role="button" class="btn btn-outline-primary btn-lg px-4" href="https://ververica.github.io/flink-cdc-connectors/master/content/quickstart/index.html">Learn More</a>
</div>
<div class="col-md-12 col-lg-6 mx-auto">
<div class="termynal" data-termynal data-ty-typeDelay="20" data-ty-lineDelay="20">
<span data-ty="input" data-ty-prompt="Flink SQL>">-- creates a mysql cdc table source</span>
<span data-ty="input" data-ty-prompt="Flink SQL>">CREATE TABLE mysql_binlog (</span>
<span data-ty="input" data-ty-prompt="">&nbsp;&nbsp;id INT NOT NULL,</span>
<span data-ty="input" data-ty-prompt="">&nbsp;&nbsp;name STRING,</span>
<span data-ty="input" data-ty-prompt="">&nbsp;&nbsp;description STRING,</span>
<span data-ty="input" data-ty-prompt="">&nbsp;&nbsp;weight DECIMAL(10,3),</span>
<span data-ty="input" data-ty-prompt="">&nbsp;&nbsp;PRIMARY KEY(id) NOT ENFORCED</span>
<span data-ty="input" data-ty-prompt="">) WITH (</span>
<span data-ty="input" data-ty-prompt="">&nbsp;&nbsp;'connector' = 'mysql-cdc',</span>
<span data-ty="input" data-ty-prompt="">&nbsp;&nbsp;'hostname' = 'localhost',</span>
<span data-ty="input" data-ty-prompt="">&nbsp;&nbsp;'port' = '3306',</span>
<span data-ty="input" data-ty-prompt="">&nbsp;&nbsp;'username' = 'flinkuser',</span>
<span data-ty="input" data-ty-prompt="">&nbsp;&nbsp;'password' = 'flinkpw',</span>
<span data-ty="input" data-ty-prompt="">&nbsp;&nbsp;'database-name' = 'inventory',</span>
<span data-ty="input" data-ty-prompt="">&nbsp;&nbsp;'table-name' = 'products'</span>
<span data-ty="input" data-ty-prompt="">);</span>
<span data-ty="input" data-ty-prompt=""></span>
<span data-ty="input" data-ty-prompt="Flink SQL>">-- read snapshot and binlog data from mysql</span>
<span data-ty="input" data-ty-prompt="Flink SQL>">-- and do some transformation</span>
<span data-ty="input" data-ty-prompt="Flink SQL>">-- and show on the client</span>
<span data-ty="input" data-ty-prompt="Flink SQL>">SELECT id, UPPER(name), description, weight FROM mysql_binlog;</span>
</div>
</div>
</div>
</div>
</section>
<section class="bg-white">
<div class="container py-4">
<div class="row py-4">
<div class="col-md-12 col-lg-7 text-center mx-auto" style="color: #2a3a4a;">
<div class="pb-4"><h2>Connect to Your Favorite Database</h2></div>
<div style="font-size: 20px;">CDC Connectors for Apache Flink&reg; supports ingesting snapshot data and real time changes from databases to Flink&reg; and then transform and sink to various downstream systems.</div>
</div>
<div class="col-md-12 col-lg-10 text-center mx-auto"><img src="assets/cdc-flow.png" width="100%" /></div>
</div>
</div>
</section>
<section style="background-color: #ddeeff;">
<div class="container py-4">
<div class="row py-3">
<div class="col-12 text-center"><h2>Join the Community</h2></div>
</div>
<div class="row py-4 justify-content-center">
<div class="col-12 col-md-4 col-xl-3 px-4 align-self-center">
<img src="assets/dingtalk.png" width="100%" />
</div>
<div class="col-12 col-md-8 col-xl-6 p-3">
<a class="no-decoration-anchor" href="https://h5.dingtalk.com/circle/healthCheckin.html?dtaction=os&corpId=dinge369343b40eb68f87c231cb892228ad7&14ee9113-c3=cc3ed38a-82&cbdbhh=qwertyuiop">
<div class="card border-primary my-3">
<div class="card-body" style="background-color: #ddeeff">
<div class="row">
<div class="col-2 align-self-center text-center text-primary">
<h1><i class="bi bi-envelope-paper"></i></h1>
</div>
<div class="col-10">
<h4 class="card-title text-primary">DingTalk Group</h4>
<p class="card-text">Discussion and help from your fellow users.</p>
</div>
</div>
</div>
</div>
</a>
<a class="no-decoration-anchor" href="https://github.com/ververica/flink-cdc-connectors">
<div class="card border-primary my-3">
<div class="card-body" style="background-color: #ddeeff">
<div class="row">
<div class="col-2 align-self-center text-center text-primary">
<h1><i class="bi bi-github"></i></h1>
</div>
<div class="col-10">
<h4 class="card-title text-primary">Github</h4>
<p class="card-text">Development takes place here!</p>
</div>
</div>
</div>
</div>
</a>
<a class="no-decoration-anchor" href="https://github.com/ververica/flink-cdc-connectors/issues">
<div class="card border-primary my-3">
<div class="card-body" style="background-color: #ddeeff">
<div class="row">
<div class="col-2 align-self-center text-center text-primary">
<h1><i class="bi bi-clipboard-check"></i></h1>
</div>
<div class="col-10">
<h4 class="card-title text-primary">Issue Tracking</h4>
<p class="card-text">Report here if you find any issue.</p>
</div>
</div>
</div>
</div>
</a>
</div>
</div>
</div>
</section>
<!-- Copyright -->
<div class="text-center p-3 bg-dark text-light">Apache Flink, Flink&reg;, Apache&reg;, the squirrel logo, and the Apache feather logo are either registered trademarks or trademarks of The Apache Software Foundation. Copyright &copy; 2022 Ververica, Licensed under the <a href="https://www.apache.org/licenses/">Apache License, Version 2.0</a>.</div>
<!-- Copyright -->
<!-- Bootstrap JS -->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
<!-- Termynal JS -->
<script src="lib/termynal.js" data-termynal-container=".termynal"></script>
<!-- Github Buttons JS -->
<script async defer src="https://buttons.github.io/buttons.js"></script>
</body>
<style>
.hero-banner {
height: 475px;
}
.hero-banner > .bg {
background: no-repeat right center;
background-image: linear-gradient(to left, rgba(219, 219, 221, 0.7) 0%, rgba(219, 219, 221, 0.7) 20%, rgba(219, 219, 221, 0.7) 40%), url(assets/squirrel.jpg);
background-color: #dbdbdd;
height: 475px;
top: 0;
position: absolute;
right: 0;
width: 100%;
}
@media (min-width: 992px) {
.hero-banner > .bg {
background-image: linear-gradient(to left, rgba(219, 219, 221, 0) 0%, rgba(219, 219, 221, 0) 20%, rgba(219, 219, 221, 0.5) 40%), url(assets/squirrel.jpg);
}
}
.no-decoration-anchor {
text-decoration: inherit;
color: inherit;
}
</style>
</html>