Mawonekedwe a TiDB:
- Thandizo la SQL ndikupereka mawonekedwe a kasitomala omwe amagwirizana ndi protocol ya MySQL, yomwe imathandizira kusintha kwa mapulogalamu omwe alipo omwe adalembedwera MySQL kupita ku TiDB, komanso amalola kugwiritsa ntchito malaibulale wamba wamakasitomala. Kuphatikiza pa protocol ya MySQL, mutha kugwiritsa ntchito API yochokera ku JSON ndi cholumikizira cha Spark kuti mupeze DBMS.
- SQL imathandizira ma index, ntchito zophatikizika, GROUP BY, ORDER BY, DIISTINCT mawu, kuphatikiza (LEFT JOIN / RIGHT JOIN / CROSS JOIN), mawonedwe, ntchito zazenera ndi ma subqueries. Mphamvu zomwe zaperekedwa ndizokwanira kukonza ntchito ndi TiDB pazogwiritsa ntchito intaneti monga PhpMyAdmin,
Agogo ndi WordPress; - Kukhazikika kokhazikika komanso kulolerana kolakwika: kukula kosungirako ndi mphamvu zopangira zitha kukulitsidwa mwa kungolumikiza ma node atsopano. Deta imagawidwa m'malo onse ndi redundancy, kulola kuti ntchito ipitirire ngati node za munthu aliyense zikulephera. Zolephera zimangochitika zokha.
- Dongosololi limatsimikizira kusasinthika komanso pulogalamu yamakasitomala ikuwoneka ngati DBMS imodzi yayikulu, ngakhale kuti kwenikweni, deta yochokera ku node zambiri imakopeka kuti amalize ntchitoyo.
- ΠΠ»Ρ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ
Π½Π° ΡΠ·Π»Π°Ρ
ΠΌΠΎΠ³ΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΡΠ°Π·Π½ΡΠ΅ Π±ΡΠΊΠ΅Π½Π΄Ρ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ Π΄Π²ΠΈΠΆΠΊΠΈ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ GoLevelDB ΠΈ BoltDB ΠΈΠ»ΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ Π΄Π²ΠΈΠΆΠΎΠΊ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠ³ΠΎ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°
TiKV . - Kutha kusintha mosinthika schema yosungirako, kukulolani kuti muwonjezere mizati ndi ma index pa ntchentche popanda kuletsa kukonza ntchito zomwe zikuchitika.
waukulu
- ΠΡΠΎΠ²Π΅Π΄Π΅Π½Π° ΡΠ°Π±ΠΎΡΠ° ΠΏΠΎ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ. Π ΡΠ΅ΡΡΠ΅ Sysbench Π²ΡΠΏΡΡΠΊ 3.0 ΠΎΠΏΠ΅ΡΠ΅ΠΆΠ°Π΅Ρ Π²Π΅ΡΠΊΡ 2.1 Π² 1.5 ΡΠ°Π·Π° ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ select ΠΈ update, Π° Π² ΡΠ΅ΡΡΠ΅ TPC-C Π² 4.5 ΡΠ°Π·Π°. ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ Π·Π°ΡΡΠΎΠ½ΡΠ»ΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ Π²ΠΈΠ΄Ρ Π·Π°ΠΏΡΠΎΡΠΎΠ², Π²ΠΊΠ»ΡΡΠ°Ρ ΠΏΠΎΠ΄Π·Π°ΠΏΡΠΎΡΡ Β«INΒ», Β«DOΒ» ΠΈ Β«NOT EXISTSΒ», ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΠ»ΠΈΡΠ½ΠΈΡ ΡΠ°Π±Π»ΠΈΡ (JOIN), ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄ΡΡΠ³ΠΎΠ΅;
- ΠΠΎΠ±Π°Π²Π»Π΅Π½ Π½ΠΎΠ²ΡΠΉ Π΄Π²ΠΈΠΆΠΎΠΊ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ TiFlash, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ Π΄ΠΎΠ±ΠΈΡΡΡΡ Π±ΠΎΠ»Π΅Π΅ Π²ΡΡΠΎΠΊΠΎΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΏΡΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΠΈ Π°Π½Π°Π»ΠΈΡΠΈΡΠ΅ΡΠΊΠΈΡ
Π·Π°Π΄Π°Ρ (OLAP), Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ Π² ΠΏΡΠΈΠ²ΡΠ·ΠΊΠ΅ ΠΊ ΡΡΠΎΠ»Π±ΡΠ°ΠΌ. TiFlash Π΄ΠΎΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΡΠ°Π½Π΅Π΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΠΌΠΎΠ΅ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ TiKV, Ρ
ΡΠ°Π½ΡΡΠ΅Π΅ Π΄Π°Π½Π½ΡΠ΅ Π² ΡΠ°Π·ΡΠ΅Π·Π΅ ΡΡΡΠΎΠΊ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ ΠΊΠ»ΡΡ/Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π΄Π»Ρ Π·Π°Π΄Π°Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ (OLTP). TiFlash ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π±ΠΎΠΊ ΠΎ Π±ΠΎΠΊ Ρ TiKV ΠΈ Π΄Π°Π½Π½ΡΠ΅ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡ ΠΊΠ°ΠΊ ΠΈ ΡΠ°Π½ΡΡΠ΅ ΡΠ΅ΠΏΠ»ΠΈΡΠΈΡΠΎΠ²Π°ΡΡΡΡ Π² TiKV Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ°Π½ΠΈΠ΅ΠΌ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° Raft Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΠΊΠΎΠ½ΡΠ΅Π½ΡΡΡΠ°, Π½ΠΎ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π³ΡΡΠΏΠΏΡ ΡΠ΅ΠΏΠ»ΠΈΠΊ Raft ΡΠΎΠ·Π΄Π°ΡΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² TiFlash. ΠΠΎΠ΄ΠΎΠ±Π½ΡΠΉ ΠΏΠΎΡ
ΠΎΠ΄ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π΄ΠΎΠ±ΠΈΡΡΡΡ Π»ΡΡΡΠ΅Π³ΠΎ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠ΅ΡΡΡΡΠΎΠ² ΠΌΠ΅ΠΆΠ΄Ρ Π·Π°Π΄Π°ΡΠ°ΠΌΠΈ OLTP ΠΈ OLAP, Π° ΡΠ°ΠΊΠΆΠ΅ Π΄Π΅Π»Π°Π΅Ρ Π΄Π°Π½Π½ΡΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎ Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌΠΈ Π΄Π»Ρ Π°Π½Π°Π»ΠΈΡΠΈΡΠ΅ΡΠΊΠΈΡ
Π·Π°ΠΏΡΠΎΡΠΎΠ²;
- Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΠΉ ΡΠ±ΠΎΡΡΠΈΠΊ ΠΌΡΡΠΎΡΠ°, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΠΏΠΎΠ²ΡΡΠΈΡΡ ΡΠΊΠΎΡΠΎΡΡΡ ΡΠ±ΠΎΡΠΊΠΈ ΠΌΡΡΠΎΡΠ° Π² ΠΊΡΡΠΏΠ½ΡΡ ΠΊΠ»Π°ΡΡΠ΅ΡΠ°Ρ ΠΈ ΠΏΠΎΠ²ΡΡΠΈΡΡ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΡΡΡ ΡΠ°Π±ΠΎΡΡ;
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»ΡΠ½Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠ°Π·Π³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π΄ΠΎΡΡΡΠΏΠ° Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠΎΠ»Π΅ΠΉ (RBAC). Π’Π°ΠΊΠΆΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π·Π°Π΄Π°Π½ΠΈΡ ΠΏΡΠ°Π² Π΄ΠΎΡΡΡΠΏΠ° Π΄Π»Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ANALYZE, USE, SET GLOBAL ΠΈ SHOW PROCESSLIST;
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ SQL Π΄Π»Ρ Π²ΡΠ±Π»ΡΠΊΠΈ ΠΈΠ· Π»ΠΎΠ³Π° ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ²;
- Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ Π±ΡΡΡΡΠΎΠ³ΠΎ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΠ΄Π°Π»ΡΠ½Π½ΡΡ ΡΠ°Π±Π»ΠΈΡ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎ ΡΠ΄Π°Π»ΡΠ½Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅;
- Π£Π½ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½ ΡΠΎΡΠΌΠ°Ρ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΠΌΡΡ Π»ΠΎΠ³ΠΎΠ²;
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΏΠ΅ΡΡΠΈΠΌΠΈΡΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ΅ΠΆΠΈΠΌΠ° Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠΉ Π΄Π΅Π»Π°Π΅Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ Π±ΠΎΠ»Π΅Π΅ Π±Π»ΠΈΠ·ΠΊΠΎΠΉ ΠΊ MySQL;
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΎΠΊΠΎΠ½Π½ΡΡ
ΡΡΠ½ΠΊΡΠΈΠΉ (window-ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ»ΠΈ Π°Π½Π°Π»ΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ), ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡΡ
Ρ MySQL 8.0. ΠΠΊΠΎΠ½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π·Π°ΠΏΡΠΎΡΠ° Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π΄ΡΡΠ³ΠΈΠ΅ ΡΡΡΠΎΠΊΠΈ. Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ Π°Π³ΡΠ΅Π³Π°ΡΠ½ΡΡ
ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ²ΡΡΡΡΠ²Π°ΡΡ ΡΠ³ΡΡΠΏΠΏΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π½Π°Π±ΠΎΡ ΡΡΡΠΎΠΊ Π² ΠΎΠ΄Π½Ρ ΡΡΡΠΎΠΊΡ, ΠΎΠΊΠΎΠ½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡ Π°Π³ΡΠ΅Π³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ Β«ΠΎΠΊΠ½Π°Β», Π²ΠΊΠ»ΡΡΠ°ΡΡΠ΅Π³ΠΎ ΠΎΠ΄Π½Ρ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠΎΠΊ ΠΈΠ· ΡΠ΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠ΅Π³ΠΎ Π½Π°Π±ΠΎΡΠ°. Π‘ΡΠ΅Π΄ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΡ
ΠΎΠΊΠΎΠ½Π½ΡΡ
ΡΡΠ½ΠΊΡΠΈΠΉ:
NTILE, LEAD, LAG, PERCENT_RANK, NTH_VALUE, CUME_DIST, FIRST_VALUE , LAST_VALUE, RANK, DENSE_RANK ΠΈ ROW_NUMBER; - ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»ΡΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΉ (VIEW);
- Π£Π»ΡΡΡΠ΅Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠ΅ΠΊΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ (ΠΏΠ°ΡΡΠΈΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ), Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΠΌ ΠΏΠΎ ΡΠ΅ΠΊΡΠΈΡΠΌ Π½Π° ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ Ρ ΡΡΠ΅ΠΉ;
- ΠΠΎΠ±Π°Π²Π»Π΅Π½ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ², Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΆΠ΅ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½Ρ ΠΏΠ»Π°Π³ΠΈΠ½Ρ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π±Π΅Π»ΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ° IP ΠΈΠ»ΠΈ Π²Π΅Π΄Π΅Π½ΠΈΡ Π»ΠΎΠ³Π° Π°ΡΠ΄ΠΈΡΠ°;
- ΠΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½Π° ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»ΡΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΡΠ½ΠΊΡΠΈΠΈ Β«EXPLAIN ANALYZEΒ» Π΄Π»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΠΏΠ»Π°Π½Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ SQL-Π·Π°ΠΏΡΠΎΡΠ° (SQL Plan Management);
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° next_row_id Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ° ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΡΡΠΎΠΊΠΈ;
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Ρ Π½ΠΎΠ²ΡΠ΅ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ JSON_QUOTE, JSON_ARRAY_APPEND, JSON_MERGE_PRESERVE, BENCHMARK ,COALESCE ΠΈ NAME_CONST.
Source: opennet.ru