You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by ag...@apache.org on 2022/06/07 16:14:46 UTC

[ignite-3] branch main updated: IGNITE-17098 Pluggable storage engines documentation added

This is an automated email from the ASF dual-hosted git repository.

agura pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


The following commit(s) were added to refs/heads/main by this push:
     new 691162261 IGNITE-17098 Pluggable storage engines documentation added
691162261 is described below

commit 69116226128b50ab998ec81731eb3d3b8745195d
Author: IgGusev <de...@mail.ru>
AuthorDate: Tue Jun 7 19:14:29 2022 +0300

    IGNITE-17098 Pluggable storage engines documentation added
    
    Signed-off-by: Andrey Gura <ag...@apache.org>
---
 docs/_data/toc.yaml                         |   2 +
 docs/_docs/config/data-region.adoc          |  74 ++++++++++
 docs/_docs/images/svg/create_table_bnf1.svg | 125 +++++++++++-----
 docs/_docs/images/svg/create_table_bnf2.svg | 214 +++++++++++++++-------------
 docs/_docs/sql-reference/ddl.adoc           |   5 +
 5 files changed, 291 insertions(+), 129 deletions(-)

diff --git a/docs/_data/toc.yaml b/docs/_data/toc.yaml
index ef48673ed..9b7c5b29c 100644
--- a/docs/_data/toc.yaml
+++ b/docs/_data/toc.yaml
@@ -34,6 +34,8 @@
       url: sql-reference/operators-and-functions
 - title: REST API
   url: rest/rest-api
+- title: Data Region Configuration
+  url: config/data-region
 - title: Binary Client Protocol
   url: binary-protocol
 - title: Native Persistence
diff --git a/docs/_docs/config/data-region.adoc b/docs/_docs/config/data-region.adoc
new file mode 100644
index 000000000..69d5242ff
--- /dev/null
+++ b/docs/_docs/config/data-region.adoc
@@ -0,0 +1,74 @@
+// Licensed to the Apache Software Foundation (ASF) under one or more
+// contributor license agreements.  See the NOTICE file distributed with
+// this work for additional information regarding copyright ownership.
+// The ASF licenses this file to You under the Apache License, Version 2.0
+// (the "License"); you may not use this file except in compliance with
+// the License.  You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+= Data Region Configuration
+
+You can set configuration for data regions by using HOCON format. You can configure your data regions to run either RocksDB or B+Tree storage, and fine-tune their performance. A cluster can have several data regions, and you can select the preferred storage type for each.
+
+We recommend to use B+ Tree storage for read-heavy workloads, and RocksDB for write-heavy workloads.
+
+
+=== RocksDB Region Configuration
+
+Below is the list of properties for link:https://rocksdb.org/[RocksDB] data regions:
+
+[cols="1,1,3",opts="header", stripes=none]
+|===
+|Property|Default|Description
+|name|| The name of the data region.
+|size| `256 * 1024 * 1024` | Size of the offheap cache.
+|writeBufferSize | `64 * 1024 * 1024` | Size of the write buffer.
+|cache| `lru` | The type of the cache to use. Currently only lru is supported.
+|numShardBits| `-1` | The number of parts the cache is sharded to.
+
+
+== Page Memory Region Configuration
+
+Page memory keeps data in B+Tree format. You can set up the following configuration parameters:
+
+[cols="1,1,3",opts="header", stripes=none]
+|===
+|name|| The name of the data region.
+|persistent|`false`| Specifies if the data region is persistent.
+|initSize|`256 * 1024 * 1024`| Sets the initial space allocated to the data region.
+|maxSize|`256 * 1024 * 1024`| Sets the maximum space that can be allocated to the data region.
+|evictionMode|`DISABLED`| Sets the eviction algorithm to use.
+|replacementMode|`CLOCK`| Sets the page replacement algorithm.
+|evictionThreshold|`0.9`| Configures when the eviction process starts.
+|emptyPagesPoolSize|100| The maximum number of empty pages Ignite will try to keep.
+|checkpointPageBufSize|0| Sets the size of the page buffer.
+|lazyMemoryAllocation|true|If enabled, memory will not be allocated until necessary.
+
+
+== Configuration Example
+
+The example below configures two data regions, one using RocksDB storage, and another using page memory:
+
+----
+ignite config set --type cluster \
+"{
+    rocksDb.regions: [{
+        name: lsm_region,
+        size: 256000000,
+        cache: lru
+    }],
+
+    pageMemory.regions: [{
+        name: btree_region,
+        persistent: false,
+        maxSize: 256000000,
+        lazyMemoryAllocation: true
+    }]
+}"
+----
\ No newline at end of file
diff --git a/docs/_docs/images/svg/create_table_bnf1.svg b/docs/_docs/images/svg/create_table_bnf1.svg
index ae217f2cc..d0b64800f 100644
--- a/docs/_docs/images/svg/create_table_bnf1.svg
+++ b/docs/_docs/images/svg/create_table_bnf1.svg
@@ -14,59 +14,118 @@
   See the License for the specific language governing permissions and
   limitations under the License.
 -->
-<svg class="railroad-diagram" width="549" height="71" viewBox="0 0 549 71" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<svg class="railroad-diagram" width="872" height="122" viewBox="0 0 872 122" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
     <g transform="translate(.5 .5)">
         <g>
-            <path d="M20 30v20m10 -20v20m-10 -10h20"></path>
+            <path d="M20 51v20m10 -20v20m-10 -10h20"></path>
         </g>
-        <path d="M40 40h10"></path>
+        <path d="M40 61h10"></path>
         <g>
-            <path d="M50 40h0"></path>
-            <path d="M499 40h0"></path>
+            <path d="M50 61h0"></path>
+            <path d="M822 61h0"></path>
             <g class="terminal ">
-                <path d="M50 40h0"></path>
-                <path d="M121 40h0"></path>
-                <rect x="50" y="29" width="71" height="22" rx="10" ry="10"></rect>
-                <text x="85.5" y="44">CREATE</text>
+                <path d="M50 61h0"></path>
+                <path d="M118 61h0"></path>
+                <rect x="50" y="50" width="68" height="22" rx="10" ry="10"></rect>
+                <text x="84" y="65">CREATE</text>
             </g>
-            <path d="M121 40h10"></path>
-            <path d="M131 40h10"></path>
+            <path d="M118 61h10"></path>
+            <path d="M128 61h10"></path>
             <g class="terminal ">
-                <path d="M141 40h0"></path>
-                <path d="M203.5 40h0"></path>
-                <rect x="141" y="29" width="62.5" height="22" rx="10" ry="10"></rect>
-                <text x="172.25" y="44">TABLE</text>
+                <path d="M138 61h0"></path>
+                <path d="M198 61h0"></path>
+                <rect x="138" y="50" width="60" height="22" rx="10" ry="10"></rect>
+                <text x="168" y="65">TABLE</text>
             </g>
-            <path d="M203.5 40h10"></path>
+            <path d="M198 61h10"></path>
             <g>
-                <path d="M213.5 40h0"></path>
-                <path d="M384 40h0"></path>
-                <path d="M213.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+                <path d="M208 61h0"></path>
+                <path d="M372 61h0"></path>
+                <path d="M208 61a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
                 <g>
-                    <path d="M233.5 20h130.5"></path>
+                    <path d="M228 41h124"></path>
                 </g>
-                <path d="M364 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
-                <path d="M213.5 40h20"></path>
+                <path d="M352 41a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+                <path d="M208 61h20"></path>
                 <g class="terminal ">
-                    <path d="M233.5 40h0"></path>
-                    <path d="M364 40h0"></path>
-                    <rect x="233.5" y="29" width="130.5" height="22" rx="10" ry="10"></rect>
-                    <text x="298.75" y="44">IF NOT EXISTS</text>
+                    <path d="M228 61h0"></path>
+                    <path d="M352 61h0"></path>
+                    <rect x="228" y="50" width="124" height="22" rx="10" ry="10"></rect>
+                    <text x="290" y="65">IF NOT EXISTS</text>
                 </g>
-                <path d="M364 40h20"></path>
+                <path d="M352 61h20"></path>
             </g>
-            <path d="M384 40h10"></path>
+            <path d="M372 61h10"></path>
             <a xlink:href="https://ignite.apache.org/docs/3.0.0-alpha/sql-reference/ddl#qualified_table_name">
                 <g class="non-terminal ">
-                    <path d="M394 40h0"></path>
-                    <path d="M499 40h0"></path>
-                    <rect x="394" y="29" width="105" height="22"></rect>
-                    <text x="446.5" y="44" fill="blue">table&#95;name</text>
+                    <path d="M382 61h0"></path>
+                    <path d="M482 61h0"></path>
+                    <rect x="382" y="50" width="100" height="22"></rect>
+                    <text x="432" y="65" fill="blue">table&#95;name</text>
                 </g>
             </a>
+            <path d="M482 61h10"></path>
+            <path d="M492 61h10"></path>
+            <g class="terminal ">
+                <path d="M502 61h0"></path>
+                <path d="M530 61h0"></path>
+                <rect x="502" y="50" width="28" height="22" rx="10" ry="10"></rect>
+                <text x="516" y="65">(</text>
+            </g>
+            <path d="M530 61h10"></path>
+            <path d="M540 61h10"></path>
+            <g>
+                <path d="M550 61h0"></path>
+                <path d="M774 61h0"></path>
+                <path d="M550 61h10"></path>
+                <g>
+                    <path d="M560 61h0"></path>
+                    <path d="M764 61h0"></path>
+                    <path d="M560 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
+                    <a xlink:href="https://ignite.apache.org/docs/3.0.0-alpha/sql-reference/ddl#constraint">
+                        <g class="non-terminal ">
+                            <path d="M580 31h32"></path>
+                            <path d="M712 31h32"></path>
+                            <rect x="612" y="20" width="100" height="22"></rect>
+                            <text x="662" y="35" fill="blue">constraint</text>
+                        </g>
+                    </a>
+                    <path d="M744 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
+                    <path d="M560 61h20"></path>
+                    <a xlink:href="https://ignite.apache.org/docs/3.0.0-alpha/sql-reference/ddl#column_definition">
+                        <g class="non-terminal ">
+                            <path d="M580 61h0"></path>
+                            <path d="M744 61h0"></path>
+                            <rect x="580" y="50" width="164" height="22"></rect>
+                            <text x="662" y="65" fill="blue">columns&#95;definition</text>
+                        </g>
+                    </a>
+                    <path d="M744 61h20"></path>
+                </g>
+                <path d="M764 61h10"></path>
+                <path d="M560 61a10 10 0 0 0 -10 10v10a10 10 0 0 0 10 10"></path>
+                <g class="terminal ">
+                    <path d="M560 91h88"></path>
+                    <path d="M676 91h88"></path>
+                    <rect x="648" y="80" width="28" height="22" rx="10" ry="10"></rect>
+                    <text x="662" y="95">,</text>
+                </g>
+                <path d="M764 91a10 10 0 0 0 10 -10v-10a10 10 0 0 0 -10 -10"></path>
+            </g>
+            <path d="M774 61h10"></path>
+            <path d="M784 61h10"></path>
+            <g class="terminal ">
+                <path d="M794 61h0"></path>
+                <path d="M822 61h0"></path>
+                <rect x="794" y="50" width="28" height="22" rx="10" ry="10"></rect>
+                <text x="808" y="65">)</text>
+            </g>
         </g>
+        <path d="M822 61h10"></path>
+
+
         <g fill="none" stroke="black" stroke-width="2">
-            <path stroke-dasharray="5,5" d="M505 40 l30 0" />
+            <path stroke-dasharray="5,5" d="M830 61 l30 0" />
         </g>
     </g>
     <style>
diff --git a/docs/_docs/images/svg/create_table_bnf2.svg b/docs/_docs/images/svg/create_table_bnf2.svg
index 176683501..f756560a7 100644
--- a/docs/_docs/images/svg/create_table_bnf2.svg
+++ b/docs/_docs/images/svg/create_table_bnf2.svg
@@ -14,136 +14,158 @@
   See the License for the specific language governing permissions and
   limitations under the License.
 -->
-<svg class="railroad-diagram" width="861" height="122" viewBox="0 0 861 122" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<svg class="railroad-diagram" width="1072" height="109" viewBox="0 0 1072 109" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
     <g transform="translate(.5 .5)">
         <g fill="none" stroke="black" stroke-width="2">
-            <path stroke-dasharray="5,5" d="M10 61 l30 0" />
+            <path stroke-dasharray="5,5" d="M10 48 l30 0" />
         </g>
-        <path d="M40 61h10"></path>
+        <path d="M40 48h10"></path>
         <g>
-            <path d="M50 61h0"></path>
-            <path d="M811 61h0"></path>
-            <g class="terminal ">
-                <path d="M50 61h0"></path>
-                <path d="M78.5 61h0"></path>
-                <rect x="50" y="50" width="28.5" height="22" rx="10" ry="10"></rect>
-                <text x="64.25" y="65">(</text>
-            </g>
-            <path d="M78.5 61h10"></path>
-            <path d="M88.5 61h10"></path>
+            <path d="M50 48h0"></path>
+            <path d="M1022 48h0"></path>
             <g>
-                <path d="M98.5 61h0"></path>
-                <path d="M331.5 61h0"></path>
-                <path d="M98.5 61h10"></path>
+                <path d="M50 48h0"></path>
+                <path d="M378 48h0"></path>
+                <path d="M50 48a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path>
                 <g>
-                    <path d="M108.5 61h0"></path>
-                    <path d="M321.5 61h0"></path>
-                    <path d="M108.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
-                    <a xlink:href="https://ignite.apache.org/docs/3.0.0-alpha/sql-reference/ddl#constraint">
-                        <g class="non-terminal ">
-                            <path d="M128.5 31h21.25"></path>
-                            <path d="M280.25 31h21.25"></path>
-                            <rect x="149.75" y="20" width="130.5" height="22"></rect>
-                            <text x="215" y="35" fill="blue">constraint</text>
+                    <path d="M70 20h288"></path>
+                </g>
+                <path d="M358 20a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path>
+                <path d="M50 48h20"></path>
+                <g>
+                    <path d="M70 48h0"></path>
+                    <path d="M358 48h0"></path>
+                    <g class="terminal ">
+                        <path d="M70 48h0"></path>
+                        <path d="M154 48h0"></path>
+                        <rect x="70" y="37" width="84" height="22" rx="10" ry="10"></rect>
+                        <text x="112" y="52">COLOCATE</text>
+                    </g>
+                    <path d="M154 48h10"></path>
+                    <g>
+                        <path d="M164 48h0"></path>
+                        <path d="M240 48h0"></path>
+                        <path d="M164 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+                        <g>
+                            <path d="M184 28h36"></path>
                         </g>
-                    </a>
-                    <path d="M301.5 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
-                    <path d="M108.5 61h20"></path>
-                    <a xlink:href="https://ignite.apache.org/docs/3.0.0-alpha/sql-reference/ddl#column_definition">
+                        <path d="M220 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+                        <path d="M164 48h20"></path>
+                        <g class="terminal ">
+                            <path d="M184 48h0"></path>
+                            <path d="M220 48h0"></path>
+                            <rect x="184" y="37" width="36" height="22" rx="10" ry="10"></rect>
+                            <text x="202" y="52">BY</text>
+                        </g>
+                        <path d="M220 48h20"></path>
+                    </g>
+                    <path d="M240 48h10"></path>
+                    <a xlink:href="https://ignite.apache.org/docs/3.0.0-alpha/sql-reference/ddl#column_list">
                         <g class="non-terminal ">
-                            <path d="M128.5 61h0"></path>
-                            <path d="M301.5 61h0"></path>
-                            <rect x="128.5" y="50" width="173" height="22"></rect>
-                            <text x="215" y="65" fill="blue">column&#95;definition</text>
+                            <path d="M250 48h0"></path>
+                            <path d="M358 48h0"></path>
+                            <rect x="250" y="37" width="108" height="22"></rect>
+                            <text x="304" y="52" fill="blue">column_list</text>
                         </g>
                     </a>
-                    <path d="M301.5 61h20"></path>
-                </g>
-                <path d="M321.5 61h10"></path>
-                <path d="M108.5 61a10 10 0 0 0 -10 10v10a10 10 0 0 0 10 10"></path>
-                <g class="terminal ">
-                    <path d="M108.5 91h92.25"></path>
-                    <path d="M229.25 91h92.25"></path>
-                    <rect x="200.75" y="80" width="28.5" height="22" rx="10" ry="10"></rect>
-                    <text x="215" y="95">,</text>
                 </g>
-                <path d="M321.5 91a10 10 0 0 0 10 -10v-10a10 10 0 0 0 -10 -10"></path>
+                <path d="M358 48h20"></path>
             </g>
-            <path d="M331.5 61h10"></path>
-            <path d="M341.5 61h10"></path>
-            <g class="terminal ">
-                <path d="M351.5 61h0"></path>
-                <path d="M380 61h0"></path>
-                <rect x="351.5" y="50" width="28.5" height="22" rx="10" ry="10"></rect>
-                <text x="365.75" y="65">)</text>
+            <g>
+                <path d="M378 48h0"></path>
+                <path d="M614 48h0"></path>
+                <path d="M378 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+                <g>
+                    <path d="M398 28h196"></path>
+                </g>
+                <path d="M594 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+                <path d="M378 48h20"></path>
+                <g>
+                    <path d="M398 48h0"></path>
+                    <path d="M594 48h0"></path>
+                    <g class="terminal ">
+                        <path d="M398 48h0"></path>
+                        <path d="M466 48h0"></path>
+                        <rect x="398" y="37" width="68" height="22" rx="10" ry="10"></rect>
+                        <text x="432" y="52">ENGINE</text>
+                    </g>
+                    <path d="M466 48h10"></path>
+                    <path d="M476 48h10"></path>
+                    <g class="non-terminal ">
+                        <path d="M486 48h0"></path>
+                        <path d="M594 48h0"></path>
+                        <rect x="486" y="37" width="108" height="22"></rect>
+                        <text x="540" y="52">engine&#95;name</text>
+                    </g>
+                </g>
+                <path d="M594 48h20"></path>
             </g>
-            <path d="M380 61h10"></path>
             <g>
-                <path d="M390 61h0"></path>
-                <path d="M811 61h0"></path>
-                <path d="M390 61a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
+                <path d="M614 48h0"></path>
+                <path d="M1022 48h0"></path>
+                <path d="M614 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
                 <g>
-                    <path d="M410 41h381"></path>
+                    <path d="M634 28h368"></path>
                 </g>
-                <path d="M791 41a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
-                <path d="M390 61h20"></path>
+                <path d="M1002 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
+                <path d="M614 48h20"></path>
                 <g>
-                    <path d="M410 61h0"></path>
-                    <path d="M791 61h0"></path>
+                    <path d="M634 48h0"></path>
+                    <path d="M1002 48h0"></path>
                     <g class="terminal ">
-                        <path d="M410 61h0"></path>
-                        <path d="M464 61h0"></path>
-                        <rect x="410" y="50" width="54" height="22" rx="10" ry="10"></rect>
-                        <text x="437" y="65">WITH</text>
+                        <path d="M634 48h0"></path>
+                        <path d="M686 48h0"></path>
+                        <rect x="634" y="37" width="52" height="22" rx="10" ry="10"></rect>
+                        <text x="660" y="52">WITH</text>
                     </g>
-                    <path d="M464 61h10"></path>
-                    <path d="M474 61h10"></path>
+                    <path d="M686 48h10"></path>
+                    <path d="M696 48h10"></path>
                     <g>
-                        <path d="M484 61h0"></path>
-                        <path d="M791 61h0"></path>
-                        <path d="M484 61h10"></path>
+                        <path d="M706 48h0"></path>
+                        <path d="M1002 48h0"></path>
+                        <path d="M706 48h10"></path>
                         <g>
-                            <path d="M494 61h0"></path>
-                            <path d="M781 61h0"></path>
+                            <path d="M716 48h0"></path>
+                            <path d="M992 48h0"></path>
                             <g class="non-terminal ">
-                                <path d="M494 61h0"></path>
-                                <path d="M599 61h0"></path>
-                                <rect x="494" y="50" width="105" height="22"></rect>
-                                <text x="546.5" y="65">param&#95;name</text>
+                                <path d="M716 48h0"></path>
+                                <path d="M816 48h0"></path>
+                                <rect x="716" y="37" width="100" height="22"></rect>
+                                <text x="766" y="52">param&#95;name</text>
                             </g>
-                            <path d="M599 61h10"></path>
-                            <path d="M609 61h10"></path>
+                            <path d="M816 48h10"></path>
+                            <path d="M826 48h10"></path>
                             <g class="terminal ">
-                                <path d="M619 61h0"></path>
-                                <path d="M647.5 61h0"></path>
-                                <rect x="619" y="50" width="28.5" height="22" rx="10" ry="10"></rect>
-                                <text x="633.25" y="65">=</text>
+                                <path d="M836 48h0"></path>
+                                <path d="M864 48h0"></path>
+                                <rect x="836" y="37" width="28" height="22" rx="10" ry="10"></rect>
+                                <text x="850" y="52">=</text>
                             </g>
-                            <path d="M647.5 61h10"></path>
-                            <path d="M657.5 61h10"></path>
+                            <path d="M864 48h10"></path>
+                            <path d="M874 48h10"></path>
                             <g class="non-terminal ">
-                                <path d="M667.5 61h0"></path>
-                                <path d="M781 61h0"></path>
-                                <rect x="667.5" y="50" width="113.5" height="22"></rect>
-                                <text x="724.25" y="65">param&#95;value</text>
+                                <path d="M884 48h0"></path>
+                                <path d="M992 48h0"></path>
+                                <rect x="884" y="37" width="108" height="22"></rect>
+                                <text x="938" y="52">param&#95;value</text>
                             </g>
                         </g>
-                        <path d="M781 61h10"></path>
-                        <path d="M494 61a10 10 0 0 0 -10 10v10a10 10 0 0 0 10 10"></path>
+                        <path d="M992 48h10"></path>
+                        <path d="M716 48a10 10 0 0 0 -10 10v10a10 10 0 0 0 10 10"></path>
                         <g class="terminal ">
-                            <path d="M494 91h129.25"></path>
-                            <path d="M651.75 91h129.25"></path>
-                            <rect x="623.25" y="80" width="28.5" height="22" rx="10" ry="10"></rect>
-                            <text x="637.5" y="95">,</text>
+                            <path d="M716 78h124"></path>
+                            <path d="M868 78h124"></path>
+                            <rect x="840" y="67" width="28" height="22" rx="10" ry="10"></rect>
+                            <text x="854" y="82">,</text>
                         </g>
-                        <path d="M781 91a10 10 0 0 0 10 -10v-10a10 10 0 0 0 -10 -10"></path>
+                        <path d="M992 78a10 10 0 0 0 10 -10v-10a10 10 0 0 0 -10 -10"></path>
                     </g>
                 </g>
-                <path d="M791 61h20"></path>
+                <path d="M1002 48h20"></path>
             </g>
         </g>
-        <path d="M811 61h10"></path>
-        <path d="M 821 61 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
+        <path d="M1022 48h10"></path>
+        <path d="M 1032 48 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
     </g>
     <style>
         svg {
diff --git a/docs/_docs/sql-reference/ddl.adoc b/docs/_docs/sql-reference/ddl.adoc
index 778826f60..0ac2c1d8d 100644
--- a/docs/_docs/sql-reference/ddl.adoc
+++ b/docs/_docs/sql-reference/ddl.adoc
@@ -23,6 +23,8 @@ Creates a new table.
 [source,sql]
 ----
 CREATE TABLE [IF NOT EXISTS] [simpleName | schemaName.simpleName] (tableColumn [, tableColumn]...)
+[COLOCATE [BY] (tableColumn [, tableColumn]...)]
+[ENGINE engineName]
 [WITH paramName=paramValue [,paramName=paramValue]...]
 tableColumn = columnName columnType [[NOT] NULL] [DEFAULT defaultValue] [PRIMARY KEY]
 ----
@@ -33,10 +35,13 @@ Parameters:
 * `tableColumn` - name and type of a column to be created in the new table.
 * `DEFAULT` - specifies a default value for the column. Only constant values are accepted.
 * `IF NOT EXISTS` - create the table only if a table with the same name does not exist.
+* `ENGINE` - selects the storage engine to use. Currently `pagememory` and `rocksdb` are available.
+* `COLOCATED BY` - colocation key. The key can be composite. Primary key must include colocation key. Was `affinity_key` in Ignite 2.x.
 * `WITH` - accepts additional parameters not defined by ANSI-99 SQL:
 
 ** `Replicas` - sets the number of partition copies, including the master copy.
 ** `Partitions` - sets the number of table partitions.
+** `dataRegion` - sets the data region to work with.
 
 image::images/svg/create_table_bnf1.svg[Embedded,opts=inline]
 image::images/svg/create_table_bnf2.svg[Embedded,opts=inline]