You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by dm...@apache.org on 2020/03/11 22:11:46 UTC
svn commit: r1875105 [4/7] - in /ignite/site/branches/ignite-redisign: ./
arch/ community/ css/ features/ scss/ use-cases/
Modified: ignite/site/branches/ignite-redisign/features/sql.html
URL: http://svn.apache.org/viewvc/ignite/site/branches/ignite-redisign/features/sql.html?rev=1875105&r1=1875104&r2=1875105&view=diff
==============================================================================
--- ignite/site/branches/ignite-redisign/features/sql.html (original)
+++ ignite/site/branches/ignite-redisign/features/sql.html Wed Mar 11 22:11:46 2020
@@ -48,105 +48,100 @@ under the License.
<!--#include virtual="/includes/sh.html" -->
</head>
<body>
-<div id="wrapper">
- <!--#include virtual="/includes/header.html" -->
-
-
- <main id="main" role="main" class="container">
- <section id="sql-queries" class="page-section">
- <h1 class="first">Distributed ANSI SQL With JOINs</h1>
- <div class="col-sm-12 col-md-12 col-xs-12" style="padding:0 0 20px 0;">
- <div class="col-sm-6 col-md-7 col-xs-12" style="padding-left:0;">
- <p>
- Apache Ignite comes with ANSI-99 compliant, horizontally scalable, and fault-tolerant SQL engine
- allowing you to interact with Ignite as with a regular SQL database using JDBC, ODBC drivers, or
- native SQL APIs available for Java, C#, C++, Python, and other programming languages.
-
- </p>
- <p>
- Ignite supports all DML commands, including SELECT, UPDATE, INSERT, and DELETE queries as well
- as a subset of DDL commands relevant for distributed systems.
- </p>
- </div>
-
- <div class="col-sm-6 col-md-5 col-xs-12" style="padding-right:0">
- <img class="img-responsive" alt="SQL Database diagram" src="/images/sql_database.png" width="400px" style="float:right;"/>
- </div>
- </div>
- <div class="page-heading">SQL Joins</div>
+<!--#include virtual="/includes/header.html" -->
+<article>
+ <div class="container">
+ <h1>Distributed ANSI SQL <strong>With JOINs</strong></h1>
+
+ <p>
+ Apache Ignite comes with ANSI-99 compliant, horizontally scalable, and fault-tolerant SQL engine.
+ That allows you to interact with Ignite as with a regular SQL database using JDBC, ODBC drivers,
+ or native SQL APIs available for Java, C#, C++, Python, and other programming languages.
+ </p>
+ <p>
+ Ignite supports all DML commands, including SELECT, UPDATE, INSERT, and DELETE
+ queries as well as a subset of DDL commands relevant for distributed systems.
+ </p>
+
+ <img class="img-responsive diagram-right" alt="SQL Database diagram" src="/images/sql_database.png" />
+
+ <h2>SQL Joins</h2>
<p>
Ignite fully supports distributed joins for advanced querying needs. A distributed join is a SQL statement
with a join clause that combines two or more tables. If the tables are joined on the partitioning column
(affinity or primary key), the join is called a co-located join. Otherwise, if the tables were not
- co-located initially, then Ignite does the join in a non-colocated fashion. Co-located joins avoid data
- shuffling between nodes and minimize network usage, thus, performing much faster than a non-colocated
- counterpart.
- </p>
-
- <div class="page-heading">SQL and In-Memory Mode</div>
- <p>
- Apache Ignite can function in a pure in-memory mode when all the data and indexes are located solely in
- memory. In this mode, Ignite SQL shows the highest performance since all the data is served from memory
- wih no usage of the disk tier at all.
- </p>
-
- <div class="page-heading">SQL and Native Persistence</div>
+ co-located initially, then Ignite does the join in a non-colocated fashion. The co-located joins avoid
+ data shuffling between nodes, minimizes network usage, thus, performing much faster than a non
+ co-located counterpart.
+ </p>
+
+ <h2>SQL and In-Memory Mode</h2>
+ <p>
+ Apache Ignite can function in a pure in-memory mode when all data and indexes are located solely in memory.
+ In this mode, Ignite SQL shows the highest performance as long as all the data is served from memory,
+ and there is no need to update the disk tier.
+ </p>
+
+ <h2>SQL and Native Persistence</h2>
<p>
In this mode, Ignite persists 100% of data and indexes in the native persistence while caching as much
as possible in memory. Ignite SQL engine does not require to cache an entire data set in memory to
- operate correctly. If the engine finds that a record is not cached, then it will read the record from
- disk. Your application only executes SQL queries, and Ignite gets the records from both memory and disk
+ operate correctly. If the engine finds that any record is not cached, then it will be taken from disk.
+ Your application merely executes SQL queries, and Ignite gets the records from both memory and disk
automatically.
</p>
<p>
- On cluster restarts, Ignite reads data and indexes from disk, eliminating the need for memory warm-up,
- which significantly decreases the time of any potential downtimes.
-
+ On cluster restarts, Ignite reads data and indexes from disk, eliminating the need for memory warm-up.
+ That significantly decreases the time of any potential downtimes.
+ </p>
+
+ <h2>SQL and 3rd Party Databases</h2>
+ <p>
+ Ignite can be used as a caching layer for external databases such as RDBMS, NoSQL, or Hadoop.
+ In this mode, the Ignite SQL engine requires to cache all the data needed for SQL queries in memory as
+ long as the engine does not support federated queries at the moment.
</p>
- <div class="page-heading">SQL and 3rd Party Databases</div>
<p>
- Ignite can be used as a caching layer for external databases such as RDBMS, NoSQL, or Hadoop. In this mode,
- the Ignite SQL engine requires caching all the data needed for SQL queries in memory since the engine
- currently does not support federated queries.
- </p>
-
- <p>
- If federated queries between Ignite and an external database are required, then you can consider Ignite
- integration for Spark, where the DataFrames API can join the data stored in Ignite and other systems.
- </p>
-
- <div class="page-heading">Learn More</div>
- <p>
- <a href="https://apacheignite-sql.readme.io/docs/how-ignite-sql-works" target="docs">
- <b>Ignite SQL implementation details <i class="fa fa-angle-double-right"></i></b>
- </a>
- </p>
- <p>
- <a href="https://apacheignite-sql.readme.io/docs/distributed-joins" target="docs">
- <b>Distributed JOINs <i class="fa fa-angle-double-right"></i></b>
- </a>
- </p>
- <p>
- <a href="https://apacheignite-sql.readme.io/docs/sql-reference-overview" target="docs">
- <b>SQL Reference <i class="fa fa-angle-double-right"></i></b>
- </a>
- </p>
- <p>
- <a href="/use-cases/spark-acceleration.html">
- <b>Apache Ignite and Spark <i class="fa fa-angle-double-right"></i></b>
- </a>
- </p>
- <p>
- <a href="/arch/multi-tier-storage.html">
- <b>Multi-Tier Storage <i class="fa fa-angle-double-right"></i></b>
- </a>
- </p>
- </section>
- </main>
-
- <!--#include virtual="/includes/footer.html" -->
+ If federate queries between Ignite and an external database are required, then you can consider Ignite
+ integration for Spark -- DataFrames API can join data stored in Ignite and other systems.
+ </p>
+
+ <div class="jumbotron jumbotron-fluid">
+ <div class="container">
+ <div class="display-6 title">Learn More</div>
+ <hr class="my-4">
+ <div class="row">
+ <div class="col-6 col-xs-12">
+ <ul>
+ <li>
+ <p><a href="https://apacheignite-sql.readme.io/docs/how-ignite-sql-works" target="docs">Ignite SQL implementation details <i class="fa fa-angle-double-right"></i></a></p>
+ </li>
+ <li>
+ <p><a href="https://apacheignite-sql.readme.io/docs/distributed-joins" target="docs">Distributed JOINs <i class="fa fa-angle-double-right"></i></a></p>
+ </li>
+ <li>
+ <p><a href="https://apacheignite-sql.readme.io/docs/sql-reference-overview" target="docs">SQL Reference <i class="fa fa-angle-double-right"></i></a></p>
+ </li>
+ </ul>
+ </div>
+ <div class="col-6 col-xs-12">
+ <ul>
+ <li>
+ <p><a href="/use-cases/spark-acceleration.html">Apache Ignite and Spark <i class="fa fa-angle-double-right"></i></a></p>
+ </li>
+ <li>
+ <p><a href="/arch/multi-tier-storage.html">Multi-Tier Storage <i class="fa fa-angle-double-right"></i></a></p>
+ </li>
+ </ul>
+ </div>
+ </div>
+ </div>
+ </div>
+
</div>
+</article>
+<!--#include virtual="/includes/footer.html" -->
<!--#include virtual="/includes/scripts.html" -->
</body>
</html>
Modified: ignite/site/branches/ignite-redisign/features/streaming.html
URL: http://svn.apache.org/viewvc/ignite/site/branches/ignite-redisign/features/streaming.html?rev=1875105&r1=1875104&r2=1875105&view=diff
==============================================================================
--- ignite/site/branches/ignite-redisign/features/streaming.html (original)
+++ ignite/site/branches/ignite-redisign/features/streaming.html Wed Mar 11 22:11:46 2020
@@ -45,312 +45,281 @@ under the License.
<!--#include virtual="/includes/sh.html" -->
</head>
<body>
-<div id="wrapper">
- <!--#include virtual="/includes/header.html" -->
-
- <main id="main" role="main" class="container">
- <section id="streaming" class="page-section">
- <h1 class="first">Data Loading and Streaming</h1>
- <div class="col-sm-12 col-md-12 col-xs-12" style="padding:0 0 20px 0;">
- <div class="col-sm-6 col-md-6 col-xs-12" style="padding-left:0; padding-right:0">
- <p>
- Ignite data loading and streaming capabilities allow ingesting large finite as well as
- never-ending volumes of data in a scalable and fault-tolerant way into the cluster.
- The rate at which data can be injected into Ignite is very high and easily exceeds millions
- of events per second on a moderately sized cluster.
- </p>
- <p>
- Apache Ignite <a href="https://apacheignite-mix.readme.io/docs/overview" target="_blank" rel="noopener">
- integrates</a> with major streaming technologies and frameworks such as Kafka, Camel,
- Storm or JMS to bring even more advanced streaming capabilities to Ignite-based architectures.
- </p>
- </div>
-
- <div class="col-sm-6 col-md-6 col-xs-12" style="padding-right:0">
- <img class="img-responsive" src="/images/ignite-stream-query.png" style="float:right;"/>
- </div>
+<!--#include virtual="/includes/header.html" -->
+<article>
+ <div class="container">
+
+ <h1 >Data Loading and <strong>Streaming</strong></h1>
+
+ <img class="img-responsive diagram-right" src="/images/ignite-stream-query.png" />
+ <p>
+ Ignite data loading and streaming capabilities allow ingesting large finite as well as
+ never-ending volumes of data in a scalable and fault-tolerant way into the cluster.
+ The rate at which data can be injected into Ignite is very high and easily exceeds millions
+ of events per second on a moderately sized cluster.
+ </p>
+ <p>
+ Apache Ignite <a href="https://apacheignite-mix.readme.io/docs/overview" target="_blank" rel="noopener">
+ integrates</a> with major streaming technologies and frameworks such as Kafka, Camel,
+ Storm or JMS to bring even more advanced streaming capabilities to Ignite-based architectures.
+ </p>
+
+
+ <h2>Data Loading</h2>
+ <p>
+ Ignite provides several <a href="https://apacheignite.readme.io/docs/data-loading" target="_blank" rel="noopener">
+ techniques</a> for initial data loading. For instance, Ignite streaming APIs are a good
+ choice for clusters with Ignite native persistence enabled, while the clusters that persist
+ data in a 3rd party store can connect to it directly with <code>CacheStore</code> API.
+ </p>
+
+ <h2>How Ignite Streaming Works:</h2>
+ <ol class="page-list">
+ <li>Clients inject streams of data into Ignite.</li>
+ <li>Data is automatically partitioned between Ignite data nodes.</li>
+ <li>Data is concurrently processed across all cluster nodes.</li>
+ <li>Clients perform concurrent <code>SQL queries</code> on the streamed data.</li>
+ <li>Clients subscribe to <code>continuous queries</code> as data changes.</li>
+ </ol>
+
+
+ <h2>Code Examples:</h2>
+ <!-- Nav tabs -->
+ <ul id="datagrid-examples" class="nav nav-tabs">
+ <li ><a class="active" href="#streaming-data" role="tab" data-toggle="tab">Stream Data</a></li>
+ <li><a href="#streaming-transformer" role="tab" data-toggle="tab">Transform Data</a></li>
+
+ </ul>
+
+ <!-- Tab panes -->
+ <div class="tab-content">
+ <div role="tabpanel" class="tab-pane active" id="streaming-data">
+ <pre class="brush:java">
+ // Get the data streamer reference and stream data.
+ try (IgniteDataStreamer<Integer, String> stmr = ignite.dataStreamer("myStreamCache")) {
+ // Stream entries.
+ for (int i = 0; i < 100000; i++)
+ stmr.addData(i, Integer.toString(i));
+ }
+ </pre>
</div>
-
- <div class="page-heading">Data Loading</div>
- <p>
- Ignite provides several <a href="https://apacheignite.readme.io/docs/data-loading" target="_blank" rel="noopener">
- techniques</a> for initial data loading. For instance, Ignite streaming APIs are a good
- choice for clusters with Ignite native persistence enabled, while the clusters that persist
- data in a 3rd party store can connect to it directly with <code>CacheStore</code> API.
- </p>
-
- <div class="page-heading">How Ignite Streaming Works:</div>
- <ol class="page-list">
- <li>Clients inject streams of data into Ignite.</li>
- <li>Data is automatically partitioned between Ignite data nodes.</li>
- <li>Data is concurrently processed across all cluster nodes.</li>
- <li>Clients perform concurrent <code>SQL queries</code> on the streamed data.</li>
- <li>Clients subscribe to <code>continuous queries</code> as data changes.</li>
- </ol>
-
- <div class="code-examples">
- <div class="page-heading">Code Examples:</div>
- <!-- Nav tabs -->
- <ul id="datagrid-examples" class="nav nav-tabs">
- <li class="active"><a href="#streaming-data" role="tab" data-toggle="tab">Stream Data</a></li>
- <li><a href="#streaming-transformer" role="tab" data-toggle="tab">Transform Data</a></li>
- <!--<li><a href="#streaming-query" role="tab" data-toggle="tab">Query Sliding Windows</a></li>-->
- </ul>
-
- <!-- Tab panes -->
- <div class="tab-content">
- <div role="tabpanel" class="tab-pane active" id="streaming-data">
- <pre class="brush:java">
- // Get the data streamer reference and stream data.
- try (IgniteDataStreamer<Integer, String> stmr = ignite.dataStreamer("myStreamCache")) {
- // Stream entries.
- for (int i = 0; i < 100000; i++)
- stmr.addData(i, Integer.toString(i));
- }
- </pre>
- </div>
- <div role="tabpanel" class="tab-pane" id="streaming-transformer">
- <pre class="brush:java">
- CacheConfiguration cfg = new CacheConfiguration("wordCountCache");
-
- IgniteCache<Integer, Long> stmCache = ignite.getOrCreateCache(cfg);
-
- try (IgniteDataStreamer<String, Long> stmr = ignite.dataStreamer(stmCache.getName())) {
- // Allow data updates.
- stmr.allowOverwrite(true);
-
- // Configure data transformation to count instances of the same word.
- stmr.receiver(StreamTransformer.from((e, arg) -> {
- // Get current count.
- Long val = e.getValue();
-
- // Increment count by 1.
- e.setValue(val == null ? 1L : val + 1);
-
- return null;
- }));
-
- // Stream words into the streamer cache.
- for (String word : text)
- stmr.addData(word, 1L);
- }
- </pre>
- </div>
- <!--<div role="tabpanel" class="tab-pane" id="streaming-query">-->
- <!--<pre class="brush:java">-->
- <!--CacheConfiguration<String, Instrument> cfg = new CacheConfiguration<>("instCache");-->
-
- <!--// LRU window holding 1,000,000 entries.-->
- <!--cfg.setEvictionPolicyFactory(new LruEvictionPolicy(1_000_000));-->
-
- <!--// Index some fields for querying portfolio positions.-->
- <!--cfg.setIndexedTypes(String.class, Instrument.class);-->
-
- <!--// Get a handle on the cache (create it if necessary).-->
- <!--IgniteCache<String, Instrument< instCache = ignite.getOrCreateCache(cfg);-->
-
- <!--// Select top 3 best performing instruments from the sliding window.-->
- <!--SqlFieldsQuery top3qry = new SqlFieldsQuery(-->
- <!--"select symbol, (latestPrice - openPrice) as change "-->
- <!--+ "from Instrument "-->
- <!--+ "order by change "-->
- <!--+ "desc limit 3"-->
- <!--);-->
-
- <!--// List of rows. Every row is represented as a List as well.-->
- <!--List<List<?>> top3 = instCache.query(top3qry).getAll(); </pre>-->
- <!--</div>-->
- </div>
+ <div role="tabpanel" class="tab-pane" id="streaming-transformer">
+ <pre class="brush:java">
+ CacheConfiguration cfg = new CacheConfiguration("wordCountCache");
+
+ IgniteCache<Integer, Long> stmCache = ignite.getOrCreateCache(cfg);
+
+ try (IgniteDataStreamer<String, Long> stmr = ignite.dataStreamer(stmCache.getName())) {
+ // Allow data updates.
+ stmr.allowOverwrite(true);
+
+ // Configure data transformation to count instances of the same word.
+ stmr.receiver(StreamTransformer.from((e, arg) -> {
+ // Get current count.
+ Long val = e.getValue();
+
+ // Increment count by 1.
+ e.setValue(val == null ? 1L : val + 1);
+
+ return null;
+ }));
+
+ // Stream words into the streamer cache.
+ for (String word : text)
+ stmr.addData(word, 1L);
+ }
+ </pre>
</div>
- <div class="page-heading">GitHub Examples:</div>
- <p>
- Also see <a href="https://github.com/apache/ignite/blob/master/examples/src/main/java/org/apache/ignite/examples/datagrid/CacheContinuousQueryExample.java" target="github">continuous queries</a>,
- <a href="https://github.com/apache/ignite/tree/master/examples/src/main/java/org/apache/ignite/examples/streaming/wordcount" target="github">word count</a>,
- and <a href="https://github.com/apache/ignite/tree/master/examples/src/main/java/org/apache/ignite/examples/streaming" target="github">other streaming examples</a> available on GitHub.
+ </div>
+
+ <h2>GitHub Examples:</h2>
+ <p>Also see
+ <a href="https://github.com/apache/ignite/blob/master/examples/src/main/java/org/apache/ignite/examples/datagrid/CacheContinuousQueryExample.java" target="github">continuous queries</a>,
+ <a href="https://github.com/apache/ignite/tree/master/examples/src/main/java/org/apache/ignite/examples/streaming/wordcount" target="github">word count</a>,
+ and <a href="https://github.com/apache/ignite/tree/master/examples/src/main/java/org/apache/ignite/examples/streaming" target="github">other streaming examples</a> available on GitHub.
</p>
- </section>
- <section id="key-features" class="page-section">
- <h2>Streaming Features</h2>
- <table class="formatted" name="Streaming Features">
- <thead>
- <tr>
- <th width="35%" class="left">Feature</th>
- <th>Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="left">Data Streamers</td>
- <td>
- <p>
- Data streamers are defined by <code>IgniteDataStreamer</code> API and are built to inject large
- amounts of continuous streams of data into Ignite stream caches. Data streamers are
- built in a scalable and fault-tolerant fashion and provide <b>at-least-once-guarantee</b>
- semantics for all the data streamed into Ignite.
- </p>
- <div class="page-links">
- <a href="http://apacheignite.readme.io/docs/data-streamers" target="docs">Docs for this Feature <i class="fa fa-angle-double-right"></i></a>
- </div>
- </td>
- </tr>
- <tr>
- <td class="left">Data Loading</td>
- <td>
- <p>
- Data streamers can be used to load large amounts of data into Ignite cahes.
- They can be used for initial data loading from a 3rd party database or another source.
- </p>
- <div class="page-links">
- <a href="https://apacheignite.readme.io/docs/data-loading" target="docs">Docs for this Feature <i class="fa fa-angle-double-right"></i></a>
- </div>
- </td>
- </tr>
- <tr>
- <td class="left">Collocated Processing</td>
- <td>
- <p>
- For cases when you need to execute some custom logic instead of just adding new data,
- you can take advantage of <code>StreamReceiver</code> API.
- </p>
- <p>
- Stream receivers allow you to react to the streamed data in collocated fashion,
- directly on the nodes where it will be cached. You can change the data or add any
- custom pre-processing logic to it, before putting the data into cache.
- </p>
- <div class="page-links">
- <a href="http://apacheignite.readme.io/docs/data-streamers#streamreceiver" target="docs">Docs for this Feature <i class="fa fa-angle-double-right"></i></a>
- </div>
- </td>
- </tr>
- <tr>
- <td class="left">Continuous Queries</td>
- <td>
- <p>
- Continuous queries are useful for cases when you want to execute a query and then
- continue to get notified about the data changes that fall into your query filter.
- </p>
- <div class="page-links">
- <a href="http://apacheignite.readme.io/docs/continuous-queries" target="docs">Docs for this Feature <i class="fa fa-angle-double-right"></i></a>
- </div>
- </td>
- </tr>
- <tr>
- <td class="left">JMS Data Streamer</td>
- <td>
- <p>
- Ignite JMS Data Streamer consumes messages from JMS brokers and inserts them into Ignite caches.
- </p>
- <div class="page-links">
- <a href="https://apacheignite-mix.readme.io/docs/jms-data-streamer" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
- </div>
- </td>
- </tr>
- <tr>
- <td class="left">Apache Flume Sink</td>
- <td>
- <p>
- IgniteSink is a Flume sink that extracts events from an associated Flume channel and injects into an Ignite cache.
- </p>
- <div class="page-links">
- <a href="https://apacheignite-mix.readme.io/docs/flume-data-streamer" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
- </div>
- </td>
- </tr>
- <tr>
- <td class="left">MQTT Streamer</td>
- <td>
- <p>
- Ignite MQTT Streamer consumes messages from a MQTT topic and feeds transformed key-value pairs into an Ignite cache.
- </p>
- <div class="page-links">
- <a href="https://apacheignite-mix.readme.io/docs/mqtt-streamer" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
- </div>
- </td>
- </tr>
- <tr>
- <td class="left">Twitter Streamer</td>
- <td>
- <p>
- Ignite Twitter Streamer consumes messages from a Twitter Streaming API and inserts them into an Ignite cache.
- </p>
- <div class="page-links">
- <a href="https://apacheignite-mix.readme.io/docs/twitter-streamer" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
- </div>
- </td>
- </tr>
- <tr>
- <td class="left">Apache Kafka Streamer</td>
- <td>
- <p>
- Ignite Kafka Data Streamer consumes messages for a given Kafka Topic from Kafka Broker and inserts them into an Ignite cache.
- </p>
- <div class="page-links">
- <a href="https://apacheignite-mix.readme.io/docs/kafka-streamer" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
- </div>
- </td>
- </tr>
- <tr>
- <td class="left">Apache Camel streamer</td>
- <td>
- <p>
- Ignite Camel streamer consumes messages from an Apache Camel consumer endpoint and feeds them into an Ignite cache.
- </p>
- <div class="page-links">
- <a href="https://apacheignite-mix.readme.io/docs/camel-streamer" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
- </div>
- </td>
- </tr>
- <tr>
- <td class="left">Apache Storm Streamer</td>
- <td>
- <p>
- Ignite Storm Streamer consumes messages from an Apache Storm consumer endpoint and feeds them into an Ignite cache.
- </p>
- <div class="page-links">
- <a href="https://apacheignite-mix.readme.io/docs/storm-streamer" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
- </div>
- </td>
- </tr>
- <tr>
- <td class="left">Apache Flink Streamer</td>
- <td>
- <p>
- Ignite Flink Streamer consumes messages from an Apache Flink consumer endpoint and feeds them into an Ignite cache.
- </p>
- <div class="page-links">
- <a href="https://apacheignite-mix.readme.io/docs/flink-streamer" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
- </div>
- </td>
- </tr>
- <tr>
- <td class="left">Apache RocketMQ Streamer</td>
- <td>
- <p>
- Ignite RocketMQ Streamer consumes messages from an Apache RocketMQ consumer endpoint and feeds them into an Ignite cache.
- </p>
- <div class="page-links">
- <a href="https://apacheignite-mix.readme.io/docs/rocketmq-streamer" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
- </div>
- </td>
- </tr>
- <tr>
- <td class="left">ZeroMQ Streamer</td>
- <td>
- <p>
- Ignite ZeroMQ Streamer consumes messages from a ZeroMQ consumer endpoint and feeds them into an Ignite cache.
- </p>
- <div class="page-links">
- <a href="https://apacheignite-mix.readme.io/docs/zeromq-streamer" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
- </section>
- </main>
+
+ <h2>Streaming Features</h2>
- <!--#include virtual="/includes/footer.html" -->
+ <table class="table table-bordered table-striped" name="Streaming Features">
+ <thead>
+ <tr>
+ <th width="35%" class="left">Feature</th>
+ <th>Description</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td class="left">Data Streamers</td>
+ <td>
+ <p>
+ Data streamers are defined by <code>IgniteDataStreamer</code> API and are built to inject large
+ amounts of continuous streams of data into Ignite stream caches. Data streamers are
+ built in a scalable and fault-tolerant fashion and provide <b>at-least-once-guarantee</b>
+ semantics for all the data streamed into Ignite.
+ </p>
+ <div class="page-links">
+ <a href="http://apacheignite.readme.io/docs/data-streamers" target="docs">Docs for this Feature <i class="fa fa-angle-double-right"></i></a>
+ </div>
+ </td>
+ </tr>
+ <tr>
+ <td class="left">Data Loading</td>
+ <td>
+ <p>
+ Data streamers can be used to load large amounts of data into Ignite cahes.
+ They can be used for initial data loading from a 3rd party database or another source.
+ </p>
+ <div class="page-links">
+ <a href="https://apacheignite.readme.io/docs/data-loading" target="docs">Docs for this Feature <i class="fa fa-angle-double-right"></i></a>
+ </div>
+ </td>
+ </tr>
+ <tr>
+ <td class="left">Collocated Processing</td>
+ <td>
+ <p>
+ For cases when you need to execute some custom logic instead of just adding new data,
+ you can take advantage of <code>StreamReceiver</code> API.
+ </p>
+ <p>
+ Stream receivers allow you to react to the streamed data in collocated fashion,
+ directly on the nodes where it will be cached. You can change the data or add any
+ custom pre-processing logic to it, before putting the data into cache.
+ </p>
+ <div class="page-links">
+ <a href="http://apacheignite.readme.io/docs/data-streamers#streamreceiver" target="docs">Docs for this Feature <i class="fa fa-angle-double-right"></i></a>
+ </div>
+ </td>
+ </tr>
+ <tr>
+ <td class="left">Continuous Queries</td>
+ <td>
+ <p>
+ Continuous queries are useful for cases when you want to execute a query and then
+ continue to get notified about the data changes that fall into your query filter.
+ </p>
+ <div class="page-links">
+ <a href="http://apacheignite.readme.io/docs/continuous-queries" target="docs">Docs for this Feature <i class="fa fa-angle-double-right"></i></a>
+ </div>
+ </td>
+ </tr>
+ <tr>
+ <td class="left">JMS Data Streamer</td>
+ <td>
+ <p>
+ Ignite JMS Data Streamer consumes messages from JMS brokers and inserts them into Ignite caches.
+ </p>
+ <div class="page-links">
+ <a href="https://apacheignite-mix.readme.io/docs/jms-data-streamer" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
+ </div>
+ </td>
+ </tr>
+ <tr>
+ <td class="left">Apache Flume Sink</td>
+ <td>
+ <p>
+ IgniteSink is a Flume sink that extracts events from an associated Flume channel and injects into an Ignite cache.
+ </p>
+ <div class="page-links">
+ <a href="https://apacheignite-mix.readme.io/docs/flume-data-streamer" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
+ </div>
+ </td>
+ </tr>
+ <tr>
+ <td class="left">MQTT Streamer</td>
+ <td>
+ <p>
+ Ignite MQTT Streamer consumes messages from a MQTT topic and feeds transformed key-value pairs into an Ignite cache.
+ </p>
+ <div class="page-links">
+ <a href="https://apacheignite-mix.readme.io/docs/mqtt-streamer" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
+ </div>
+ </td>
+ </tr>
+ <tr>
+ <td class="left">Twitter Streamer</td>
+ <td>
+ <p>
+ Ignite Twitter Streamer consumes messages from a Twitter Streaming API and inserts them into an Ignite cache.
+ </p>
+ <div class="page-links">
+ <a href="https://apacheignite-mix.readme.io/docs/twitter-streamer" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
+ </div>
+ </td>
+ </tr>
+ <tr>
+ <td class="left">Apache Kafka Streamer</td>
+ <td>
+ <p>
+ Ignite Kafka Data Streamer consumes messages for a given Kafka Topic from Kafka Broker and inserts them into an Ignite cache.
+ </p>
+ <div class="page-links">
+ <a href="https://apacheignite-mix.readme.io/docs/kafka-streamer" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
+ </div>
+ </td>
+ </tr>
+ <tr>
+ <td class="left">Apache Camel streamer</td>
+ <td>
+ <p>
+ Ignite Camel streamer consumes messages from an Apache Camel consumer endpoint and feeds them into an Ignite cache.
+ </p>
+ <div class="page-links">
+ <a href="https://apacheignite-mix.readme.io/docs/camel-streamer" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
+ </div>
+ </td>
+ </tr>
+ <tr>
+ <td class="left">Apache Storm Streamer</td>
+ <td>
+ <p>
+ Ignite Storm Streamer consumes messages from an Apache Storm consumer endpoint and feeds them into an Ignite cache.
+ </p>
+ <div class="page-links">
+ <a href="https://apacheignite-mix.readme.io/docs/storm-streamer" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
+ </div>
+ </td>
+ </tr>
+ <tr>
+ <td class="left">Apache Flink Streamer</td>
+ <td>
+ <p>
+ Ignite Flink Streamer consumes messages from an Apache Flink consumer endpoint and feeds them into an Ignite cache.
+ </p>
+ <div class="page-links">
+ <a href="https://apacheignite-mix.readme.io/docs/flink-streamer" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
+ </div>
+ </td>
+ </tr>
+ <tr>
+ <td class="left">Apache RocketMQ Streamer</td>
+ <td>
+ <p>
+ Ignite RocketMQ Streamer consumes messages from an Apache RocketMQ consumer endpoint and feeds them into an Ignite cache.
+ </p>
+ <div class="page-links">
+ <a href="https://apacheignite-mix.readme.io/docs/rocketmq-streamer" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
+ </div>
+ </td>
+ </tr>
+ <tr>
+ <td class="left">ZeroMQ Streamer</td>
+ <td>
+ <p>
+ Ignite ZeroMQ Streamer consumes messages from a ZeroMQ consumer endpoint and feeds them into an Ignite cache.
+ </p>
+ <div class="page-links">
+ <a href="https://apacheignite-mix.readme.io/docs/zeromq-streamer" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
</div>
+</article>
+ <!--#include virtual="/includes/footer.html" -->
+
<!--#include virtual="/includes/scripts.html" -->
</body>
</html>
Modified: ignite/site/branches/ignite-redisign/features/tensorflow.html
URL: http://svn.apache.org/viewvc/ignite/site/branches/ignite-redisign/features/tensorflow.html?rev=1875105&r1=1875104&r2=1875105&view=diff
==============================================================================
Binary files - no diff available.
Modified: ignite/site/branches/ignite-redisign/features/transactions.html
URL: http://svn.apache.org/viewvc/ignite/site/branches/ignite-redisign/features/transactions.html?rev=1875105&r1=1875104&r2=1875105&view=diff
==============================================================================
Binary files - no diff available.
Modified: ignite/site/branches/ignite-redisign/meetup-groups.html
URL: http://svn.apache.org/viewvc/ignite/site/branches/ignite-redisign/meetup-groups.html?rev=1875105&r1=1875104&r2=1875105&view=diff
==============================================================================
Binary files - no diff available.