doc-exports/docs/ddm/umn/ddm_03_0038.html
Ru, Li Yi 4b09a03a51 ddm_umn
Reviewed-by: Wagner, Fabian <fabian.wagner@t-systems.com>
Co-authored-by: Ru, Li Yi <liyiru7@huawei.com>
Co-committed-by: Ru, Li Yi <liyiru7@huawei.com>
2024-04-11 11:39:26 +00:00

510 lines
37 KiB
HTML

<a name="ddm_03_0038"></a><a name="ddm_03_0038"></a>
<h1 class="topictitle1">Sharding Algorithm Overview</h1>
<div id="body1589181841213"><div class="section" id="ddm_03_0038__section153512513213"><h4 class="sectiontitle">Supported Sharding Algorithms</h4><p id="ddm_03_0038__p8127145944512">DDM supports database sharding, table sharding, and a variety of sharding algorithms.</p>
</div>
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" id="ddm_03_0038__table2424112510323" frame="border" border="1" rules="all"><caption><b>Table 1 </b>Sharding algorithms</caption><thead align="left"><tr id="ddm_03_0038__row5424182573211"><th align="left" class="cellrowborder" valign="top" width="19.27%" id="mcps1.3.2.2.5.1.1"><p id="ddm_03_0038__p1314293744311"><strong id="ddm_03_0038__b136534562150">Algorithm</strong></p>
</th>
<th align="left" class="cellrowborder" valign="top" width="22.41%" id="mcps1.3.2.2.5.1.2"><p id="ddm_03_0038__p41423373434"><strong id="ddm_03_0038__b969725918152">Description</strong></p>
</th>
<th align="left" class="cellrowborder" valign="top" width="21.27%" id="mcps1.3.2.2.5.1.3"><p id="ddm_03_0038__p1114219374432"><strong id="ddm_03_0038__b65551017151610">Database Sharding Supported</strong></p>
</th>
<th align="left" class="cellrowborder" valign="top" width="37.05%" id="mcps1.3.2.2.5.1.4"><p id="ddm_03_0038__p4142637124316"><strong id="ddm_03_0038__b12360182616167">Table Sharding Supported</strong></p>
</th>
</tr>
</thead>
<tbody><tr id="ddm_03_0038__row144242025163214"><td class="cellrowborder" valign="top" width="19.27%" headers="mcps1.3.2.2.5.1.1 "><p id="ddm_03_0038__p16340488444">MOD_HASH</p>
</td>
<td class="cellrowborder" valign="top" width="22.41%" headers="mcps1.3.2.2.5.1.2 "><p id="ddm_03_0038__p1134008104414">Performing a simple modulo operation</p>
</td>
<td class="cellrowborder" valign="top" width="21.27%" headers="mcps1.3.2.2.5.1.3 "><p id="ddm_03_0038__p1034078174417">Yes</p>
</td>
<td class="cellrowborder" valign="top" width="37.05%" headers="mcps1.3.2.2.5.1.4 "><p id="ddm_03_0038__p19340148124410">Yes</p>
</td>
</tr>
<tr id="ddm_03_0038__row154244256323"><td class="cellrowborder" valign="top" width="19.27%" headers="mcps1.3.2.2.5.1.1 "><p id="ddm_03_0038__p173411683447">MOD_HASH_CI</p>
</td>
<td class="cellrowborder" valign="top" width="22.41%" headers="mcps1.3.2.2.5.1.2 "><p id="ddm_03_0038__p5341582442">Performing a simple modulo operation (case-insensitive)</p>
</td>
<td class="cellrowborder" valign="top" width="21.27%" headers="mcps1.3.2.2.5.1.3 "><p id="ddm_03_0038__p12341187444">Yes</p>
</td>
<td class="cellrowborder" valign="top" width="37.05%" headers="mcps1.3.2.2.5.1.4 "><p id="ddm_03_0038__p934111818446">Yes</p>
</td>
</tr>
<tr id="ddm_03_0038__row2958192410149"><td class="cellrowborder" valign="top" width="19.27%" headers="mcps1.3.2.2.5.1.1 "><p id="ddm_03_0038__p8171510161816">HASH</p>
</td>
<td class="cellrowborder" valign="top" width="22.41%" headers="mcps1.3.2.2.5.1.2 "><p id="ddm_03_0038__p817101031817">Performing a simple modulo operation</p>
</td>
<td class="cellrowborder" valign="top" width="21.27%" headers="mcps1.3.2.2.5.1.3 "><p id="ddm_03_0038__p417151012188">Yes</p>
</td>
<td class="cellrowborder" valign="top" width="37.05%" headers="mcps1.3.2.2.5.1.4 "><p id="ddm_03_0038__p11721011811">Yes</p>
</td>
</tr>
<tr id="ddm_03_0038__row84401633131418"><td class="cellrowborder" valign="top" width="19.27%" headers="mcps1.3.2.2.5.1.1 "><p id="ddm_03_0038__p1817510141815">RANGE</p>
</td>
<td class="cellrowborder" valign="top" width="22.41%" headers="mcps1.3.2.2.5.1.2 "><p id="ddm_03_0038__p317111021816">Performing a RANGE-based operation</p>
</td>
<td class="cellrowborder" valign="top" width="21.27%" headers="mcps1.3.2.2.5.1.3 "><p id="ddm_03_0038__p017111031819">Yes</p>
</td>
<td class="cellrowborder" valign="top" width="37.05%" headers="mcps1.3.2.2.5.1.4 "><p id="ddm_03_0038__p121711012184">No</p>
</td>
</tr>
<tr id="ddm_03_0038__row3939124751415"><td class="cellrowborder" valign="top" width="19.27%" headers="mcps1.3.2.2.5.1.1 "><p id="ddm_03_0038__p1074684081915">RIGHT_SHIFT</p>
</td>
<td class="cellrowborder" valign="top" width="22.41%" headers="mcps1.3.2.2.5.1.2 "><p id="ddm_03_0038__p87461340131911">Arithmetic right shifting of a sharding key value and then performing a modulo operation</p>
</td>
<td class="cellrowborder" valign="top" width="21.27%" headers="mcps1.3.2.2.5.1.3 "><p id="ddm_03_0038__p37461403198">Yes</p>
</td>
<td class="cellrowborder" valign="top" width="37.05%" headers="mcps1.3.2.2.5.1.4 "><p id="ddm_03_0038__p127465409197">Yes</p>
</td>
</tr>
<tr id="ddm_03_0038__row20612141101515"><td class="cellrowborder" valign="top" width="19.27%" headers="mcps1.3.2.2.5.1.1 "><p id="ddm_03_0038__p234515523195">YYYYMM</p>
</td>
<td class="cellrowborder" valign="top" width="22.41%" headers="mcps1.3.2.2.5.1.2 "><p id="ddm_03_0038__p17345152141913">Getting a hash code for a YearMonth object and then performing a modulo operation</p>
</td>
<td class="cellrowborder" valign="top" width="21.27%" headers="mcps1.3.2.2.5.1.3 "><p id="ddm_03_0038__p183457525193">Yes</p>
</td>
<td class="cellrowborder" valign="top" width="37.05%" headers="mcps1.3.2.2.5.1.4 "><p id="ddm_03_0038__p8345175215192">Yes</p>
</td>
</tr>
<tr id="ddm_03_0038__row5612717151"><td class="cellrowborder" valign="top" width="19.27%" headers="mcps1.3.2.2.5.1.1 "><p id="ddm_03_0038__p2345185221913">YYYYDD</p>
</td>
<td class="cellrowborder" valign="top" width="22.41%" headers="mcps1.3.2.2.5.1.2 "><p id="ddm_03_0038__p534575216194">Getting a hash code for a YearDay object and then performing a modulo operation</p>
</td>
<td class="cellrowborder" valign="top" width="21.27%" headers="mcps1.3.2.2.5.1.3 "><p id="ddm_03_0038__p16345552171916">Yes</p>
</td>
<td class="cellrowborder" valign="top" width="37.05%" headers="mcps1.3.2.2.5.1.4 "><p id="ddm_03_0038__p19345135218190">Yes</p>
</td>
</tr>
<tr id="ddm_03_0038__row19612141181513"><td class="cellrowborder" valign="top" width="19.27%" headers="mcps1.3.2.2.5.1.1 "><p id="ddm_03_0038__p36718218201">YYYYWEEK</p>
</td>
<td class="cellrowborder" valign="top" width="22.41%" headers="mcps1.3.2.2.5.1.2 "><p id="ddm_03_0038__p206710222015">Getting a hash code for a YearWeek object and then performing a modulo operation</p>
</td>
<td class="cellrowborder" valign="top" width="21.27%" headers="mcps1.3.2.2.5.1.3 "><p id="ddm_03_0038__p1667102182012">Yes</p>
</td>
<td class="cellrowborder" valign="top" width="37.05%" headers="mcps1.3.2.2.5.1.4 "><p id="ddm_03_0038__p6673292013">Yes</p>
</td>
</tr>
<tr id="ddm_03_0038__row14612887207"><td class="cellrowborder" valign="top" width="19.27%" headers="mcps1.3.2.2.5.1.1 "><p id="ddm_03_0038__p12199051142013">MM</p>
</td>
<td class="cellrowborder" valign="top" width="22.41%" headers="mcps1.3.2.2.5.1.2 "><p id="ddm_03_0038__p3199551182013">Getting a hash code for a MONTH object and then performing a modulo operation</p>
</td>
<td class="cellrowborder" valign="top" width="21.27%" headers="mcps1.3.2.2.5.1.3 "><p id="ddm_03_0038__p1019985112206">No</p>
</td>
<td class="cellrowborder" valign="top" width="37.05%" headers="mcps1.3.2.2.5.1.4 "><p id="ddm_03_0038__p3199185142011">Yes</p>
</td>
</tr>
<tr id="ddm_03_0038__row168931813112010"><td class="cellrowborder" valign="top" width="19.27%" headers="mcps1.3.2.2.5.1.1 "><p id="ddm_03_0038__p1119925182012">DD</p>
</td>
<td class="cellrowborder" valign="top" width="22.41%" headers="mcps1.3.2.2.5.1.2 "><p id="ddm_03_0038__p5199135152017">Getting a hash code for a DAY object and then performing a modulo operation</p>
</td>
<td class="cellrowborder" valign="top" width="21.27%" headers="mcps1.3.2.2.5.1.3 "><p id="ddm_03_0038__p1320019518201">No</p>
</td>
<td class="cellrowborder" valign="top" width="37.05%" headers="mcps1.3.2.2.5.1.4 "><p id="ddm_03_0038__p1820075132012">Yes</p>
</td>
</tr>
<tr id="ddm_03_0038__row8846162418203"><td class="cellrowborder" valign="top" width="19.27%" headers="mcps1.3.2.2.5.1.1 "><p id="ddm_03_0038__p15200105132016">MMDD</p>
</td>
<td class="cellrowborder" valign="top" width="22.41%" headers="mcps1.3.2.2.5.1.2 "><p id="ddm_03_0038__p102001651192019">Getting a hash code for a MonthDay object and then performing a modulo operation</p>
</td>
<td class="cellrowborder" valign="top" width="21.27%" headers="mcps1.3.2.2.5.1.3 "><p id="ddm_03_0038__p18200115152018">No</p>
</td>
<td class="cellrowborder" valign="top" width="37.05%" headers="mcps1.3.2.2.5.1.4 "><p id="ddm_03_0038__p20200165119202">Yes</p>
</td>
</tr>
<tr id="ddm_03_0038__row11846152414201"><td class="cellrowborder" valign="top" width="19.27%" headers="mcps1.3.2.2.5.1.1 "><p id="ddm_03_0038__p42002513208">WEEK</p>
</td>
<td class="cellrowborder" valign="top" width="22.41%" headers="mcps1.3.2.2.5.1.2 "><p id="ddm_03_0038__p1200115192011">Getting a hash code for a WEEK object and then performing a modulo operation</p>
</td>
<td class="cellrowborder" valign="top" width="21.27%" headers="mcps1.3.2.2.5.1.3 "><p id="ddm_03_0038__p16200125152017">No</p>
</td>
<td class="cellrowborder" valign="top" width="37.05%" headers="mcps1.3.2.2.5.1.4 "><p id="ddm_03_0038__p32001751122012">Yes</p>
</td>
</tr>
</tbody>
</table>
</div>
<div class="note" id="ddm_03_0038__note888233712447"><img src="public_sys-resources/note_3.0-en-us.png"><span class="notetitle"> </span><div class="notebody"><ul id="ddm_03_0038__ul76981852194413"><li id="ddm_03_0038__li125191057919">Database and table sharding keys cannot be left blank.</li><li id="ddm_03_0038__li3698155254419">In DDM, sharding of a logical table is defined by the sharding function (number of shards and routing algorithm) and the sharding key (MySQL data type).</li><li id="ddm_03_0038__li1577455474412">If a logical table uses different database and table sharding algorithms, DDM will perform full-shard or full-table scanning when you do not specify database and table conditions in SQL queries.</li></ul>
</div></div>
<div class="section" id="ddm_03_0038__section135312113465"><h4 class="sectiontitle">Data Type of Sharding Algorithms</h4><p id="ddm_03_0038__p203541949476">Different sharding algorithms support different data types. The following table lists supported data types.</p>
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" id="ddm_03_0038__table4929717104719" frame="border" border="1" rules="all"><caption><b>Table 2 </b>Supported data types</caption><thead align="left"><tr id="ddm_03_0038__row1893001724718"><th align="left" class="cellrowborder" valign="top" width="9.918016396720656%" id="mcps1.3.4.3.2.14.1.1"><p id="ddm_03_0038__p1972316317475">Sharding Algorithm</p>
</th>
<th align="left" class="cellrowborder" valign="top" width="5.498900219956009%" id="mcps1.3.4.3.2.14.1.2"><p id="ddm_03_0038__p672393113471"><strong id="ddm_03_0038__b14373162594214">TINYINT</strong></p>
</th>
<th align="left" class="cellrowborder" valign="top" width="7.708458308338333%" id="mcps1.3.4.3.2.14.1.3"><p id="ddm_03_0038__p47232317474"><strong id="ddm_03_0038__b737419258422">SMALLINT</strong></p>
</th>
<th align="left" class="cellrowborder" valign="top" width="8.628274345130976%" id="mcps1.3.4.3.2.14.1.4"><p id="ddm_03_0038__p872311319475"><strong id="ddm_03_0038__b163751725114216">MEDIUMINT</strong></p>
</th>
<th align="left" class="cellrowborder" valign="top" width="7.5184963007398515%" id="mcps1.3.4.3.2.14.1.5"><p id="ddm_03_0038__p13901242275"><strong id="ddm_03_0038__b774123113914">INTEGER</strong></p>
</th>
<th align="left" class="cellrowborder" valign="top" width="6.7786442711457715%" id="mcps1.3.4.3.2.14.1.6"><p id="ddm_03_0038__p1672393194716"><strong id="ddm_03_0038__b1637612254423">INT</strong></p>
</th>
<th align="left" class="cellrowborder" valign="top" width="7.708458308338333%" id="mcps1.3.4.3.2.14.1.7"><p id="ddm_03_0038__p6723113114479"><strong id="ddm_03_0038__b12377102517420">BIGINT</strong></p>
</th>
<th align="left" class="cellrowborder" valign="top" width="7.708458308338333%" id="mcps1.3.4.3.2.14.1.8"><p id="ddm_03_0038__p20723123174710"><strong id="ddm_03_0038__b737822517429">CHAR</strong></p>
</th>
<th align="left" class="cellrowborder" valign="top" width="7.708458308338333%" id="mcps1.3.4.3.2.14.1.9"><p id="ddm_03_0038__p177231331124717"><strong id="ddm_03_0038__b14379925104214">VARCHAR</strong></p>
</th>
<th align="left" class="cellrowborder" valign="top" width="5.248950209958008%" id="mcps1.3.4.3.2.14.1.10"><p id="ddm_03_0038__p4723173114479"><strong id="ddm_03_0038__b43794256427">DATE</strong></p>
</th>
<th align="left" class="cellrowborder" valign="top" width="8.628274345130976%" id="mcps1.3.4.3.2.14.1.11"><p id="ddm_03_0038__p1472353104711"><strong id="ddm_03_0038__b03801825124210">DATETIME</strong></p>
</th>
<th align="left" class="cellrowborder" valign="top" width="9.238152369526095%" id="mcps1.3.4.3.2.14.1.12"><p id="ddm_03_0038__p1544152517488"><strong id="ddm_03_0038__b1938117259420">TIMESTAMP</strong></p>
</th>
<th align="left" class="cellrowborder" valign="top" width="7.708458308338333%" id="mcps1.3.4.3.2.14.1.13"><p id="ddm_03_0038__p14544132594810"><strong id="ddm_03_0038__b1382142544218">Others</strong></p>
</th>
</tr>
</thead>
<tbody><tr id="ddm_03_0038__row189304172472"><td class="cellrowborder" valign="top" width="9.918016396720656%" headers="mcps1.3.4.3.2.14.1.1 "><p id="ddm_03_0038__p10451165920328">MOD_HASH</p>
</td>
<td class="cellrowborder" valign="top" width="5.498900219956009%" headers="mcps1.3.4.3.2.14.1.2 "><p id="ddm_03_0038__p10451105916325">Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.708458308338333%" headers="mcps1.3.4.3.2.14.1.3 "><p id="ddm_03_0038__p14451145983210">Y</p>
</td>
<td class="cellrowborder" valign="top" width="8.628274345130976%" headers="mcps1.3.4.3.2.14.1.4 "><p id="ddm_03_0038__p34511359133219">Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.5184963007398515%" headers="mcps1.3.4.3.2.14.1.5 "><p id="ddm_03_0038__p045112597328">Y</p>
</td>
<td class="cellrowborder" valign="top" width="6.7786442711457715%" headers="mcps1.3.4.3.2.14.1.6 "><p id="ddm_03_0038__p8451059183211">Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.708458308338333%" headers="mcps1.3.4.3.2.14.1.7 "><p id="ddm_03_0038__p5451175963212">Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.708458308338333%" headers="mcps1.3.4.3.2.14.1.8 "><p id="ddm_03_0038__p1045145910321">Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.708458308338333%" headers="mcps1.3.4.3.2.14.1.9 "><p id="ddm_03_0038__p15451259153213">Y</p>
</td>
<td class="cellrowborder" valign="top" width="5.248950209958008%" headers="mcps1.3.4.3.2.14.1.10 "><p id="ddm_03_0038__p84512591328">N</p>
</td>
<td class="cellrowborder" valign="top" width="8.628274345130976%" headers="mcps1.3.4.3.2.14.1.11 "><p id="ddm_03_0038__p17451195918321">N</p>
</td>
<td class="cellrowborder" valign="top" width="9.238152369526095%" headers="mcps1.3.4.3.2.14.1.12 "><p id="ddm_03_0038__p645125923217">N</p>
</td>
<td class="cellrowborder" valign="top" width="7.708458308338333%" headers="mcps1.3.4.3.2.14.1.13 "><p id="ddm_03_0038__p445111597328">N</p>
</td>
</tr>
<tr id="ddm_03_0038__row093018172477"><td class="cellrowborder" valign="top" width="9.918016396720656%" headers="mcps1.3.4.3.2.14.1.1 "><p id="ddm_03_0038__p174511659103211">MOD_HASH_CI</p>
</td>
<td class="cellrowborder" valign="top" width="5.498900219956009%" headers="mcps1.3.4.3.2.14.1.2 "><p id="ddm_03_0038__p8796841191319">Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.708458308338333%" headers="mcps1.3.4.3.2.14.1.3 "><p id="ddm_03_0038__p1179654171312">Y</p>
</td>
<td class="cellrowborder" valign="top" width="8.628274345130976%" headers="mcps1.3.4.3.2.14.1.4 "><p id="ddm_03_0038__p1879684112134">Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.5184963007398515%" headers="mcps1.3.4.3.2.14.1.5 "><p id="ddm_03_0038__p97961941101310">Y</p>
</td>
<td class="cellrowborder" valign="top" width="6.7786442711457715%" headers="mcps1.3.4.3.2.14.1.6 "><p id="ddm_03_0038__p117971641131318">Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.708458308338333%" headers="mcps1.3.4.3.2.14.1.7 "><p id="ddm_03_0038__p4797164111137">Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.708458308338333%" headers="mcps1.3.4.3.2.14.1.8 "><p id="ddm_03_0038__p67977419135">Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.708458308338333%" headers="mcps1.3.4.3.2.14.1.9 "><p id="ddm_03_0038__p1079714117130">Y</p>
</td>
<td class="cellrowborder" valign="top" width="5.248950209958008%" headers="mcps1.3.4.3.2.14.1.10 "><p id="ddm_03_0038__p625643911149">N</p>
</td>
<td class="cellrowborder" valign="top" width="8.628274345130976%" headers="mcps1.3.4.3.2.14.1.11 "><p id="ddm_03_0038__p1925613971412">N</p>
</td>
<td class="cellrowborder" valign="top" width="9.238152369526095%" headers="mcps1.3.4.3.2.14.1.12 "><p id="ddm_03_0038__p725613911141">N</p>
</td>
<td class="cellrowborder" valign="top" width="7.708458308338333%" headers="mcps1.3.4.3.2.14.1.13 "><p id="ddm_03_0038__p132568396148">N</p>
</td>
</tr>
<tr id="ddm_03_0038__row1993118171477"><td class="cellrowborder" valign="top" width="9.918016396720656%" headers="mcps1.3.4.3.2.14.1.1 "><p id="ddm_03_0038__p103251018153315">HASH</p>
</td>
<td class="cellrowborder" valign="top" width="5.498900219956009%" headers="mcps1.3.4.3.2.14.1.2 "><p id="ddm_03_0038__p4121545181311">Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.708458308338333%" headers="mcps1.3.4.3.2.14.1.3 "><p id="ddm_03_0038__p14124456135">Y</p>
</td>
<td class="cellrowborder" valign="top" width="8.628274345130976%" headers="mcps1.3.4.3.2.14.1.4 "><p id="ddm_03_0038__p912184513135">Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.5184963007398515%" headers="mcps1.3.4.3.2.14.1.5 "><p id="ddm_03_0038__p31210451135">Y</p>
</td>
<td class="cellrowborder" valign="top" width="6.7786442711457715%" headers="mcps1.3.4.3.2.14.1.6 "><p id="ddm_03_0038__p7129455134">Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.708458308338333%" headers="mcps1.3.4.3.2.14.1.7 "><p id="ddm_03_0038__p512345161318">Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.708458308338333%" headers="mcps1.3.4.3.2.14.1.8 "><p id="ddm_03_0038__p712345181310">Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.708458308338333%" headers="mcps1.3.4.3.2.14.1.9 "><p id="ddm_03_0038__p8129450132">Y</p>
</td>
<td class="cellrowborder" valign="top" width="5.248950209958008%" headers="mcps1.3.4.3.2.14.1.10 "><p id="ddm_03_0038__p3659164114146">N</p>
</td>
<td class="cellrowborder" valign="top" width="8.628274345130976%" headers="mcps1.3.4.3.2.14.1.11 "><p id="ddm_03_0038__p265944101410">N</p>
</td>
<td class="cellrowborder" valign="top" width="9.238152369526095%" headers="mcps1.3.4.3.2.14.1.12 "><p id="ddm_03_0038__p146591541151418">N</p>
</td>
<td class="cellrowborder" valign="top" width="7.708458308338333%" headers="mcps1.3.4.3.2.14.1.13 "><p id="ddm_03_0038__p1065984131417">N</p>
</td>
</tr>
<tr id="ddm_03_0038__row193191715472"><td class="cellrowborder" valign="top" width="9.918016396720656%" headers="mcps1.3.4.3.2.14.1.1 "><p id="ddm_03_0038__p1632651813319">RANGE</p>
</td>
<td class="cellrowborder" valign="top" width="5.498900219956009%" headers="mcps1.3.4.3.2.14.1.2 "><p id="ddm_03_0038__p4367105217136">Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.708458308338333%" headers="mcps1.3.4.3.2.14.1.3 "><p id="ddm_03_0038__p1836710526134">Y</p>
</td>
<td class="cellrowborder" valign="top" width="8.628274345130976%" headers="mcps1.3.4.3.2.14.1.4 "><p id="ddm_03_0038__p5367175251317">Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.5184963007398515%" headers="mcps1.3.4.3.2.14.1.5 "><p id="ddm_03_0038__p1736717526135">Y</p>
</td>
<td class="cellrowborder" valign="top" width="6.7786442711457715%" headers="mcps1.3.4.3.2.14.1.6 "><p id="ddm_03_0038__p13671352191315">Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.708458308338333%" headers="mcps1.3.4.3.2.14.1.7 "><p id="ddm_03_0038__p10367205291314">Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.708458308338333%" headers="mcps1.3.4.3.2.14.1.8 "><p id="ddm_03_0038__p19326161815334">N</p>
</td>
<td class="cellrowborder" valign="top" width="7.708458308338333%" headers="mcps1.3.4.3.2.14.1.9 "><p id="ddm_03_0038__p14326118143316">N</p>
</td>
<td class="cellrowborder" valign="top" width="5.248950209958008%" headers="mcps1.3.4.3.2.14.1.10 "><p id="ddm_03_0038__p19221194441417">N</p>
</td>
<td class="cellrowborder" valign="top" width="8.628274345130976%" headers="mcps1.3.4.3.2.14.1.11 "><p id="ddm_03_0038__p1522144418145">N</p>
</td>
<td class="cellrowborder" valign="top" width="9.238152369526095%" headers="mcps1.3.4.3.2.14.1.12 "><p id="ddm_03_0038__p722119448149">N</p>
</td>
<td class="cellrowborder" valign="top" width="7.708458308338333%" headers="mcps1.3.4.3.2.14.1.13 "><p id="ddm_03_0038__p1122284414147">N</p>
</td>
</tr>
<tr id="ddm_03_0038__row493291764720"><td class="cellrowborder" valign="top" width="9.918016396720656%" headers="mcps1.3.4.3.2.14.1.1 "><p id="ddm_03_0038__p1432671816339">RIGHT_SHIFT</p>
</td>
<td class="cellrowborder" valign="top" width="5.498900219956009%" headers="mcps1.3.4.3.2.14.1.2 "><p id="ddm_03_0038__p314655571311">Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.708458308338333%" headers="mcps1.3.4.3.2.14.1.3 "><p id="ddm_03_0038__p12146755171312">Y</p>
</td>
<td class="cellrowborder" valign="top" width="8.628274345130976%" headers="mcps1.3.4.3.2.14.1.4 "><p id="ddm_03_0038__p151461055131320">Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.5184963007398515%" headers="mcps1.3.4.3.2.14.1.5 "><p id="ddm_03_0038__p714675541320">Y</p>
</td>
<td class="cellrowborder" valign="top" width="6.7786442711457715%" headers="mcps1.3.4.3.2.14.1.6 "><p id="ddm_03_0038__p1914695511132">Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.708458308338333%" headers="mcps1.3.4.3.2.14.1.7 "><p id="ddm_03_0038__p7146255111317">Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.708458308338333%" headers="mcps1.3.4.3.2.14.1.8 "><p id="ddm_03_0038__p1368916261520">N</p>
</td>
<td class="cellrowborder" valign="top" width="7.708458308338333%" headers="mcps1.3.4.3.2.14.1.9 "><p id="ddm_03_0038__p11689152191511">N</p>
</td>
<td class="cellrowborder" valign="top" width="5.248950209958008%" headers="mcps1.3.4.3.2.14.1.10 "><p id="ddm_03_0038__p136921460149">N</p>
</td>
<td class="cellrowborder" valign="top" width="8.628274345130976%" headers="mcps1.3.4.3.2.14.1.11 "><p id="ddm_03_0038__p8692114661417">N</p>
</td>
<td class="cellrowborder" valign="top" width="9.238152369526095%" headers="mcps1.3.4.3.2.14.1.12 "><p id="ddm_03_0038__p1569212460148">N</p>
</td>
<td class="cellrowborder" valign="top" width="7.708458308338333%" headers="mcps1.3.4.3.2.14.1.13 "><p id="ddm_03_0038__p06922046151412">N</p>
</td>
</tr>
<tr id="ddm_03_0038__row89321117104714"><td class="cellrowborder" valign="top" width="9.918016396720656%" headers="mcps1.3.4.3.2.14.1.1 "><p id="ddm_03_0038__p2326318153313">YYYYMM</p>
</td>
<td class="cellrowborder" valign="top" width="5.498900219956009%" headers="mcps1.3.4.3.2.14.1.2 "><p id="ddm_03_0038__p3326101823316">N</p>
</td>
<td class="cellrowborder" valign="top" width="7.708458308338333%" headers="mcps1.3.4.3.2.14.1.3 "><p id="ddm_03_0038__p7326151817337">N</p>
</td>
<td class="cellrowborder" valign="top" width="8.628274345130976%" headers="mcps1.3.4.3.2.14.1.4 "><p id="ddm_03_0038__p17326518173314">N</p>
</td>
<td class="cellrowborder" valign="top" width="7.5184963007398515%" headers="mcps1.3.4.3.2.14.1.5 "><p id="ddm_03_0038__p532615188335">N</p>
</td>
<td class="cellrowborder" valign="top" width="6.7786442711457715%" headers="mcps1.3.4.3.2.14.1.6 "><p id="ddm_03_0038__p932621818337">N</p>
</td>
<td class="cellrowborder" valign="top" width="7.708458308338333%" headers="mcps1.3.4.3.2.14.1.7 "><p id="ddm_03_0038__p43261018153317">N</p>
</td>
<td class="cellrowborder" valign="top" width="7.708458308338333%" headers="mcps1.3.4.3.2.14.1.8 "><p id="ddm_03_0038__p193271118193314">N</p>
</td>
<td class="cellrowborder" valign="top" width="7.708458308338333%" headers="mcps1.3.4.3.2.14.1.9 "><p id="ddm_03_0038__p83271818113311">N</p>
</td>
<td class="cellrowborder" valign="top" width="5.248950209958008%" headers="mcps1.3.4.3.2.14.1.10 "><p id="ddm_03_0038__p17695174121411">Y</p>
</td>
<td class="cellrowborder" valign="top" width="8.628274345130976%" headers="mcps1.3.4.3.2.14.1.11 "><p id="ddm_03_0038__p1769514121415">Y</p>
</td>
<td class="cellrowborder" valign="top" width="9.238152369526095%" headers="mcps1.3.4.3.2.14.1.12 "><p id="ddm_03_0038__p1169516491420">Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.708458308338333%" headers="mcps1.3.4.3.2.14.1.13 "><p id="ddm_03_0038__p032721816336">N</p>
</td>
</tr>
<tr id="ddm_03_0038__row1239875317224"><td class="cellrowborder" valign="top" width="9.918016396720656%" headers="mcps1.3.4.3.2.14.1.1 "><p id="ddm_03_0038__p1932721883310">YYYYDD</p>
</td>
<td class="cellrowborder" valign="top" width="5.498900219956009%" headers="mcps1.3.4.3.2.14.1.2 "><p id="ddm_03_0038__p15744154071514">N</p>
</td>
<td class="cellrowborder" valign="top" width="7.708458308338333%" headers="mcps1.3.4.3.2.14.1.3 "><p id="ddm_03_0038__p674414401156">N</p>
</td>
<td class="cellrowborder" valign="top" width="8.628274345130976%" headers="mcps1.3.4.3.2.14.1.4 "><p id="ddm_03_0038__p1474464017151">N</p>
</td>
<td class="cellrowborder" valign="top" width="7.5184963007398515%" headers="mcps1.3.4.3.2.14.1.5 "><p id="ddm_03_0038__p137449403157">N</p>
</td>
<td class="cellrowborder" valign="top" width="6.7786442711457715%" headers="mcps1.3.4.3.2.14.1.6 "><p id="ddm_03_0038__p1474424051515">N</p>
</td>
<td class="cellrowborder" valign="top" width="7.708458308338333%" headers="mcps1.3.4.3.2.14.1.7 "><p id="ddm_03_0038__p97451940141510">N</p>
</td>
<td class="cellrowborder" valign="top" width="7.708458308338333%" headers="mcps1.3.4.3.2.14.1.8 "><p id="ddm_03_0038__p6745540161516">N</p>
</td>
<td class="cellrowborder" valign="top" width="7.708458308338333%" headers="mcps1.3.4.3.2.14.1.9 "><p id="ddm_03_0038__p10745240171516">N</p>
</td>
<td class="cellrowborder" valign="top" width="5.248950209958008%" headers="mcps1.3.4.3.2.14.1.10 "><p id="ddm_03_0038__p521111771420">Y</p>
</td>
<td class="cellrowborder" valign="top" width="8.628274345130976%" headers="mcps1.3.4.3.2.14.1.11 "><p id="ddm_03_0038__p12110720143">Y</p>
</td>
<td class="cellrowborder" valign="top" width="9.238152369526095%" headers="mcps1.3.4.3.2.14.1.12 "><p id="ddm_03_0038__p1521114791412">Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.708458308338333%" headers="mcps1.3.4.3.2.14.1.13 "><p id="ddm_03_0038__p19327318173318">N</p>
</td>
</tr>
<tr id="ddm_03_0038__row06142092313"><td class="cellrowborder" valign="top" width="9.918016396720656%" headers="mcps1.3.4.3.2.14.1.1 "><p id="ddm_03_0038__p10327201820331">YYYYWEEK</p>
</td>
<td class="cellrowborder" valign="top" width="5.498900219956009%" headers="mcps1.3.4.3.2.14.1.2 "><p id="ddm_03_0038__p1062644310156">N</p>
</td>
<td class="cellrowborder" valign="top" width="7.708458308338333%" headers="mcps1.3.4.3.2.14.1.3 "><p id="ddm_03_0038__p46262431153">N</p>
</td>
<td class="cellrowborder" valign="top" width="8.628274345130976%" headers="mcps1.3.4.3.2.14.1.4 "><p id="ddm_03_0038__p6626843101513">N</p>
</td>
<td class="cellrowborder" valign="top" width="7.5184963007398515%" headers="mcps1.3.4.3.2.14.1.5 "><p id="ddm_03_0038__p262634311152">N</p>
</td>
<td class="cellrowborder" valign="top" width="6.7786442711457715%" headers="mcps1.3.4.3.2.14.1.6 "><p id="ddm_03_0038__p962604361517">N</p>
</td>
<td class="cellrowborder" valign="top" width="7.708458308338333%" headers="mcps1.3.4.3.2.14.1.7 "><p id="ddm_03_0038__p11626164316157">N</p>
</td>
<td class="cellrowborder" valign="top" width="7.708458308338333%" headers="mcps1.3.4.3.2.14.1.8 "><p id="ddm_03_0038__p262615433153">N</p>
</td>
<td class="cellrowborder" valign="top" width="7.708458308338333%" headers="mcps1.3.4.3.2.14.1.9 "><p id="ddm_03_0038__p156262439151">N</p>
</td>
<td class="cellrowborder" valign="top" width="5.248950209958008%" headers="mcps1.3.4.3.2.14.1.10 "><p id="ddm_03_0038__p447619911413">Y</p>
</td>
<td class="cellrowborder" valign="top" width="8.628274345130976%" headers="mcps1.3.4.3.2.14.1.11 "><p id="ddm_03_0038__p247710917142">Y</p>
</td>
<td class="cellrowborder" valign="top" width="9.238152369526095%" headers="mcps1.3.4.3.2.14.1.12 "><p id="ddm_03_0038__p15477997147">Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.708458308338333%" headers="mcps1.3.4.3.2.14.1.13 "><p id="ddm_03_0038__p13327201814331">N</p>
</td>
</tr>
<tr id="ddm_03_0038__row127830812314"><td class="cellrowborder" valign="top" width="9.918016396720656%" headers="mcps1.3.4.3.2.14.1.1 "><p id="ddm_03_0038__p232713186336">MM</p>
</td>
<td class="cellrowborder" valign="top" width="5.498900219956009%" headers="mcps1.3.4.3.2.14.1.2 "><p id="ddm_03_0038__p16337184610158">N</p>
</td>
<td class="cellrowborder" valign="top" width="7.708458308338333%" headers="mcps1.3.4.3.2.14.1.3 "><p id="ddm_03_0038__p933744631519">N</p>
</td>
<td class="cellrowborder" valign="top" width="8.628274345130976%" headers="mcps1.3.4.3.2.14.1.4 "><p id="ddm_03_0038__p13337946181514">N</p>
</td>
<td class="cellrowborder" valign="top" width="7.5184963007398515%" headers="mcps1.3.4.3.2.14.1.5 "><p id="ddm_03_0038__p733774611519">N</p>
</td>
<td class="cellrowborder" valign="top" width="6.7786442711457715%" headers="mcps1.3.4.3.2.14.1.6 "><p id="ddm_03_0038__p1633784612150">N</p>
</td>
<td class="cellrowborder" valign="top" width="7.708458308338333%" headers="mcps1.3.4.3.2.14.1.7 "><p id="ddm_03_0038__p133774611513">N</p>
</td>
<td class="cellrowborder" valign="top" width="7.708458308338333%" headers="mcps1.3.4.3.2.14.1.8 "><p id="ddm_03_0038__p833713461155">N</p>
</td>
<td class="cellrowborder" valign="top" width="7.708458308338333%" headers="mcps1.3.4.3.2.14.1.9 "><p id="ddm_03_0038__p2033711462150">N</p>
</td>
<td class="cellrowborder" valign="top" width="5.248950209958008%" headers="mcps1.3.4.3.2.14.1.10 "><p id="ddm_03_0038__p15522191151419">Y</p>
</td>
<td class="cellrowborder" valign="top" width="8.628274345130976%" headers="mcps1.3.4.3.2.14.1.11 "><p id="ddm_03_0038__p20522181181414">Y</p>
</td>
<td class="cellrowborder" valign="top" width="9.238152369526095%" headers="mcps1.3.4.3.2.14.1.12 "><p id="ddm_03_0038__p75221311131414">Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.708458308338333%" headers="mcps1.3.4.3.2.14.1.13 "><p id="ddm_03_0038__p93276185331">N</p>
</td>
</tr>
<tr id="ddm_03_0038__row078314862319"><td class="cellrowborder" valign="top" width="9.918016396720656%" headers="mcps1.3.4.3.2.14.1.1 "><p id="ddm_03_0038__p6328161843313">DD</p>
</td>
<td class="cellrowborder" valign="top" width="5.498900219956009%" headers="mcps1.3.4.3.2.14.1.2 "><p id="ddm_03_0038__p62371649141515">N</p>
</td>
<td class="cellrowborder" valign="top" width="7.708458308338333%" headers="mcps1.3.4.3.2.14.1.3 "><p id="ddm_03_0038__p6237949171514">N</p>
</td>
<td class="cellrowborder" valign="top" width="8.628274345130976%" headers="mcps1.3.4.3.2.14.1.4 "><p id="ddm_03_0038__p22371849131517">N</p>
</td>
<td class="cellrowborder" valign="top" width="7.5184963007398515%" headers="mcps1.3.4.3.2.14.1.5 "><p id="ddm_03_0038__p22371749111513">N</p>
</td>
<td class="cellrowborder" valign="top" width="6.7786442711457715%" headers="mcps1.3.4.3.2.14.1.6 "><p id="ddm_03_0038__p162371949141519">N</p>
</td>
<td class="cellrowborder" valign="top" width="7.708458308338333%" headers="mcps1.3.4.3.2.14.1.7 "><p id="ddm_03_0038__p1823716497154">N</p>
</td>
<td class="cellrowborder" valign="top" width="7.708458308338333%" headers="mcps1.3.4.3.2.14.1.8 "><p id="ddm_03_0038__p1923710497155">N</p>
</td>
<td class="cellrowborder" valign="top" width="7.708458308338333%" headers="mcps1.3.4.3.2.14.1.9 "><p id="ddm_03_0038__p18237104911511">N</p>
</td>
<td class="cellrowborder" valign="top" width="5.248950209958008%" headers="mcps1.3.4.3.2.14.1.10 "><p id="ddm_03_0038__p12857191321416">Y</p>
</td>
<td class="cellrowborder" valign="top" width="8.628274345130976%" headers="mcps1.3.4.3.2.14.1.11 "><p id="ddm_03_0038__p1785731311146">Y</p>
</td>
<td class="cellrowborder" valign="top" width="9.238152369526095%" headers="mcps1.3.4.3.2.14.1.12 "><p id="ddm_03_0038__p128578132144">Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.708458308338333%" headers="mcps1.3.4.3.2.14.1.13 "><p id="ddm_03_0038__p732831811338">N</p>
</td>
</tr>
<tr id="ddm_03_0038__row17341181712230"><td class="cellrowborder" valign="top" width="9.918016396720656%" headers="mcps1.3.4.3.2.14.1.1 "><p id="ddm_03_0038__p13289181337">MMDD</p>
</td>
<td class="cellrowborder" valign="top" width="5.498900219956009%" headers="mcps1.3.4.3.2.14.1.2 "><p id="ddm_03_0038__p302052151517">N</p>
</td>
<td class="cellrowborder" valign="top" width="7.708458308338333%" headers="mcps1.3.4.3.2.14.1.3 "><p id="ddm_03_0038__p19012523151">N</p>
</td>
<td class="cellrowborder" valign="top" width="8.628274345130976%" headers="mcps1.3.4.3.2.14.1.4 "><p id="ddm_03_0038__p301452191518">N</p>
</td>
<td class="cellrowborder" valign="top" width="7.5184963007398515%" headers="mcps1.3.4.3.2.14.1.5 "><p id="ddm_03_0038__p90135213152">N</p>
</td>
<td class="cellrowborder" valign="top" width="6.7786442711457715%" headers="mcps1.3.4.3.2.14.1.6 "><p id="ddm_03_0038__p1301852101517">N</p>
</td>
<td class="cellrowborder" valign="top" width="7.708458308338333%" headers="mcps1.3.4.3.2.14.1.7 "><p id="ddm_03_0038__p170145216154">N</p>
</td>
<td class="cellrowborder" valign="top" width="7.708458308338333%" headers="mcps1.3.4.3.2.14.1.8 "><p id="ddm_03_0038__p709521154">N</p>
</td>
<td class="cellrowborder" valign="top" width="7.708458308338333%" headers="mcps1.3.4.3.2.14.1.9 "><p id="ddm_03_0038__p160145261510">N</p>
</td>
<td class="cellrowborder" valign="top" width="5.248950209958008%" headers="mcps1.3.4.3.2.14.1.10 "><p id="ddm_03_0038__p883161641415">Y</p>
</td>
<td class="cellrowborder" valign="top" width="8.628274345130976%" headers="mcps1.3.4.3.2.14.1.11 "><p id="ddm_03_0038__p1983181601410">Y</p>
</td>
<td class="cellrowborder" valign="top" width="9.238152369526095%" headers="mcps1.3.4.3.2.14.1.12 "><p id="ddm_03_0038__p118361618141">Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.708458308338333%" headers="mcps1.3.4.3.2.14.1.13 "><p id="ddm_03_0038__p2328111873313">N</p>
</td>
</tr>
<tr id="ddm_03_0038__row5343217122313"><td class="cellrowborder" valign="top" width="9.918016396720656%" headers="mcps1.3.4.3.2.14.1.1 "><p id="ddm_03_0038__p1328201815335">WEEK</p>
</td>
<td class="cellrowborder" valign="top" width="5.498900219956009%" headers="mcps1.3.4.3.2.14.1.2 "><p id="ddm_03_0038__p5919135421520">N</p>
</td>
<td class="cellrowborder" valign="top" width="7.708458308338333%" headers="mcps1.3.4.3.2.14.1.3 "><p id="ddm_03_0038__p10919854191510">N</p>
</td>
<td class="cellrowborder" valign="top" width="8.628274345130976%" headers="mcps1.3.4.3.2.14.1.4 "><p id="ddm_03_0038__p3919954121512">N</p>
</td>
<td class="cellrowborder" valign="top" width="7.5184963007398515%" headers="mcps1.3.4.3.2.14.1.5 "><p id="ddm_03_0038__p2091917545154">N</p>
</td>
<td class="cellrowborder" valign="top" width="6.7786442711457715%" headers="mcps1.3.4.3.2.14.1.6 "><p id="ddm_03_0038__p1691995417153">N</p>
</td>
<td class="cellrowborder" valign="top" width="7.708458308338333%" headers="mcps1.3.4.3.2.14.1.7 "><p id="ddm_03_0038__p6920175416158">N</p>
</td>
<td class="cellrowborder" valign="top" width="7.708458308338333%" headers="mcps1.3.4.3.2.14.1.8 "><p id="ddm_03_0038__p792014548154">N</p>
</td>
<td class="cellrowborder" valign="top" width="7.708458308338333%" headers="mcps1.3.4.3.2.14.1.9 "><p id="ddm_03_0038__p69201754151520">N</p>
</td>
<td class="cellrowborder" valign="top" width="5.248950209958008%" headers="mcps1.3.4.3.2.14.1.10 "><p id="ddm_03_0038__p43291818171412">Y</p>
</td>
<td class="cellrowborder" valign="top" width="8.628274345130976%" headers="mcps1.3.4.3.2.14.1.11 "><p id="ddm_03_0038__p732971801410">Y</p>
</td>
<td class="cellrowborder" valign="top" width="9.238152369526095%" headers="mcps1.3.4.3.2.14.1.12 "><p id="ddm_03_0038__p1632917188147">Y</p>
</td>
<td class="cellrowborder" valign="top" width="7.708458308338333%" headers="mcps1.3.4.3.2.14.1.13 "><p id="ddm_03_0038__p15328218153312">N</p>
</td>
</tr>
</tbody>
</table>
</div>
<div class="note" id="ddm_03_0038__note412516473128"><img src="public_sys-resources/note_3.0-en-us.png"><span class="notetitle"> </span><div class="notebody"><p id="ddm_03_0038__p1212516471122"><strong id="ddm_03_0038__b978624102514">Y</strong> indicates that the data type is supported, and <strong id="ddm_03_0038__b1178124122516">N</strong> indicates that the data type is not supported.</p>
</div></div>
</div>
<div class="section" id="ddm_03_0038__section195331773503"><h4 class="sectiontitle">Table Creation Syntax of Sharding Algorithms</h4><p id="ddm_03_0038__p18400112445013">DDM is compatible with table creation syntax of MySQL databases and adds keyword <strong id="ddm_03_0038__b1474941411213">partition_options</strong> for databases and tables sharding.</p>
<pre class="screen" id="ddm_03_0038__screen1145917347502">CREATE TABLE [IF NOT EXISTS] tbl_name
(create_definition,...)
[table_options]
[partition_options]
partition_options:
DBPARTITION BY
{{RANGE|HASH|MOD_HASH|RIGHT_SHIFT|YYYYMM|YYYYWEEK|YYYYDD}([column])}
[TBPARTITION BY
{{HASH|MOD_HASH|UNI_HASH|RIGHT_SHIFT|YYYYMM|YYYYWEEK|YYYYDD}(column)}
[TBPARTITIONS num]
]</pre>
</div>
</div>
<div>
<div class="familylinks">
<div class="parentlink"><strong>Parent topic:</strong> <a href="ddm_08_0003.html">DDL</a></div>
</div>
</div>