TiDB 3.0 Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° вСрсия Π½Π° Π‘Π£Π‘Π”

На Ρ€Π°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π° Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° Π‘Π£Π‘Π” TiDB 3.0Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π΅Π½ ΠΏΠΎΠ΄ влияниСто Π½Π° Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈΡ‚Π΅ Π½Π° Google Π³Π°Π΅Ρ‡Π΅Π½ ΠΊΠ»ΡŽΡ‡ ΠΈ F1. TiDB ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈ към катСгорията Ρ…ΠΈΠ±Ρ€ΠΈΠ΄Π½ΠΈ HTAP (Ρ…ΠΈΠ±Ρ€ΠΈΠ΄Π½Π° Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΎΠ½Π½Π°/Π°Π½Π°Π»ΠΈΡ‚ΠΈΡ‡Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°) систСми, способни ΠΊΠ°ΠΊΡ‚ΠΎ Π΄Π° прСдоставят Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ Π² Ρ€Π΅Π°Π»Π½ΠΎ Π²Ρ€Π΅ΠΌΠ΅ (OLTP), Ρ‚Π°ΠΊΠ° ΠΈ Π΄Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π°Ρ‚ Π°Π½Π°Π»ΠΈΡ‚ΠΈΡ‡Π½ΠΈ заявки. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΡŠΡ‚ Π΅ написан Π½Π° Go and разпространява сС ΠΎΡ‚ Π»ΠΈΡ†Π΅Π½Π·ΠΈΡ€Π°Π½ ΠΏΠΎΠ΄ Apache 2.0.

Π₯арактСристики Π½Π° TiDB:

  • ΠŸΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° SQL ΠΈ прСдоставянСто Π½Π° клиСнтски интСрфСйс, ΠΊΠΎΠΉΡ‚ΠΎ Π΅ ΡΡŠΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌ с ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° MySQL, ΠΊΠΎΠ΅Ρ‚ΠΎ улСснява Π°Π΄Π°ΠΏΡ‚ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ΠΈ прилоТСния, написани Π·Π° MySQL, към TiDB, Π° ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° Π²ΠΈ позволява Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ ΠΎΠ±Ρ‰ΠΈ клиСнтски Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ. Π’ допълнСниС към MySQL ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ JSON-базирания API ΠΈ ΠΊΠΎΠ½Π΅ΠΊΡ‚ΠΎΡ€Π° Π·Π° Spark Π·Π° Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ Π‘Π£Π‘Π”.
  • ΠžΡ‚ характСристикитС Π½Π° SQL сС ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Ρ‚ индСкси, Π°Π³Ρ€Π΅Π³Π°Ρ‚Π½ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, GROUP BY, ORDER BY, DISTINCT ΠΈΠ·Ρ€Π°Π·ΠΈ, сливания (LEFT JOIN / RIGHT JOIN / CROSS JOIN), ΠΈΠ·Π³Π»Π΅Π΄ΠΈ, ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ‡Π½ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ подзаявки. ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π΅Π½ΠΈΡ‚Π΅ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ са Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΈ Π·Π° ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° с TiDB Π½Π° Ρ‚Π°ΠΊΠΈΠ²Π° ΡƒΠ΅Π± прилоТСния ΠΊΠ°Ρ‚ΠΎ PhpMyAdmin, Gogs ΠΈ WordPress;
  • ΠœΠ°Ρ‰Π°Π±ΠΈΡ€Π°Π½Π΅ ΠΈ устойчивост: ΠœΠΎΡ‰Π½ΠΎΡΡ‚Ρ‚Π° Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½Π° просто Ρ‡Ρ€Π΅Π· добавянС Π½Π° Π½ΠΎΠ²ΠΈ възли. Π”Π°Π½Π½ΠΈΡ‚Π΅ сС разпрСдСлят ΠΌΠ΅ΠΆΠ΄Ρƒ възли с излишък, Π·Π° Π΄Π° ΠΌΠΎΠ³Π°Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈΡ‚Π΅ Π΄Π° ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠ°Ρ‚, Π°ΠΊΠΎ ΠΎΡ‚Π΄Π΅Π»Π½ΠΈΡ‚Π΅ възли сС поврСдят. НСизправноститС сС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π°Ρ‚ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ.
  • БистСмата Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€Π° послСдоватСлност ΠΈ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° ΠΊΠ°Ρ‚ΠΎ Π΅Π΄Π½Π° голяма Π‘Π£Π‘Π” Π·Π° клиСнтския софтуСр, Π²ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ„Π°ΠΊΡ‚Π°, Ρ‡Π΅ Π΄Π°Π½Π½ΠΈΡ‚Π΅ ΠΎΡ‚ ΠΌΠ½ΠΎΠ³ΠΎ възли Π²ΡΡŠΡ‰Π½ΠΎΡΡ‚ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Π·Π° Π·Π°Π²ΡŠΡ€ΡˆΠ²Π°Π½Π΅ Π½Π° транзакцията.
  • Π—Π° физичСско ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ Π½Π° възли ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π±Π΅ΠΊΠ΅Π½Π΄ΠΎΠ²Π΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π»ΠΎΠΊΠ°Π»Π½ΠΈ машини Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ GoLevelDB ΠΈ BoltDB ΠΈΠ»ΠΈ Π½Π°ΡˆΠ°Ρ‚Π° собствСна машина Π·Π° Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ TiKV.
  • Π’ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π·Π° асинхронна промяна Π½Π° схСмата Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅, ΠΊΠΎΠ΅Ρ‚ΠΎ Π²ΠΈ позволява Π΄Π° добавятС ΠΊΠΎΠ»ΠΎΠ½ΠΈ ΠΈ индСкси Π² Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅, Π±Π΅Π· Π΄Π° спиратС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΡ‚Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ.

ΠžΡΠ½ΠΎΠ²Π½Π°Ρ‚Π° ΠΈΠ½ΠΎΠ²Π°Ρ†ΠΈΠΈ:

  • Π˜Π·Π²ΡŠΡ€ΡˆΠ΅Π½Π° Π΅ Ρ€Π°Π±ΠΎΡ‚Π° Π·Π° повишаванС Π½Π° производитСлността. Π’ тСста Sysbench вСрсия 3.0 Π΅ 2.1 ΠΏΡŠΡ‚ΠΈ ΠΏΠΎ-Π±ΡŠΡ€Π·Π° ΠΎΡ‚ ΠΊΠ»ΠΎΠ½Π° 1.5 ΠΏΡ€ΠΈ ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Π½Π΅ Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π·Π° ΠΈΠ·Π±ΠΎΡ€ ΠΈ Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅, Π° Π² тСста TPC-C с 4.5 ΠΏΡŠΡ‚ΠΈ. ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈΡ‚Π΅ са засСгнали Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π²ΠΈΠ΄ΠΎΠ²Π΅ заявки, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ подзаявки IN, DO ΠΈ NOT EXISTS, ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π·Π° сливанС Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†ΠΈ (JOIN), ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° индСкси ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΈ;
    TiDB 3.0 Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° вСрсия Π½Π° Π‘Π£Π‘Π”TiDB 3.0 Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° вСрсия Π½Π° Π‘Π£Π‘Π”

  • Π”ΠΎΠ±Π°Π²Π΅Π½ΠΎ Π΅ Π½ΠΎΠ²ΠΎ TiFlash устройство Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅, ΠΊΠΎΠ΅Ρ‚ΠΎ позволява ΠΏΠΎ-висока производитСлност ΠΏΡ€ΠΈ Ρ€Π΅ΡˆΠ°Π²Π°Π½Π΅ Π½Π° Π°Π½Π°Π»ΠΈΡ‚ΠΈΡ‡Π½ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ (OLAP) Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ»ΠΎΠ½Π½ΠΎΡ‚ΠΎ ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅. TiFlash допълва ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π½ΠΎΡ‚ΠΎ ΠΏΠΎ-Ρ€Π°Π½ΠΎ TiKV Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅, ΠΊΠΎΠ΅Ρ‚ΠΎ ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π° Π΄Π°Π½Π½ΠΈ ΠΏΠΎ Ρ€Π΅Π΄ във Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ΠΊΠ»ΡŽΡ‡/стойност ΠΈ Π΅ ΠΏΠΎ-ΠΈΠ΄Π΅Π°Π»Π½ΠΎ Π·Π° Π·Π°Π΄Π°Ρ‡ΠΈ Π·Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ (OLTP). TiFlash Ρ€Π°Π±ΠΎΡ‚ΠΈ Ρ€Π°ΠΌΠΎ Π΄ΠΎ Ρ€Π°ΠΌΠΎ с TiKV ΠΈ Π΄Π°Π½Π½ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠ°Π²Π°Ρ‚ Π΄Π° сС Ρ€Π΅ΠΏΠ»ΠΈΠΊΠΈΡ€Π°Ρ‚ към TiKV ΠΊΠ°ΠΊΡ‚ΠΎ ΠΏΡ€Π΅Π΄ΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° Raft Π·Π° опрСдСлянС Π½Π° консСнсус, Π½ΠΎ Π·Π° всяка Π³Ρ€ΡƒΠΏΠ° Ρ€Π΅ΠΏΠ»ΠΈΠΊΠΈ Π½Π° Raft сС създава Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½Π° Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°, която сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π² TiFlash. Π’ΠΎΠ·ΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ позволява ΠΏΠΎ-Π΄ΠΎΠ±Ρ€ΠΎ сподСлянС Π½Π° рСсурси ΠΌΠ΅ΠΆΠ΄Ρƒ OLTP ΠΈ OLAP Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈ ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° ΠΏΡ€Π°Π²ΠΈ Π΄Π°Π½Π½ΠΈΡ‚Π΅ Π·Π° Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈΡ‚Π΅ Π½Π΅Π·Π°Π±Π°Π²Π½ΠΎ Π΄ΠΎΡΡ‚ΡŠΠΏΠ½ΠΈ Π·Π° Π°Π½Π°Π»ΠΈΡ‚ΠΈΡ‡Π½ΠΈ заявки;

    TiDB 3.0 Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° вСрсия Π½Π° Π‘Π£Π‘Π”

  • Π’ΡŠΠ²Π΅Π΄Π΅Π½ Π΅ Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ ΠΊΠΎΠ»Π΅ΠΊΡ‚ΠΎΡ€ Π·Π° Π±ΠΎΠΊΠ»ΡƒΠΊ, ΠΊΠΎΠΉΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Π΄Π° ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈ скоростта Π½Π° ΡΡŠΠ±ΠΈΡ€Π°Π½Π΅ Π½Π° Π±ΠΎΠΊΠ»ΡƒΠΊΠ° Π² Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€ΠΈ ΠΈ Π΄Π° ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΠΈ стабилността;
  • Π”ΠΎΠ±Π°Π²Π΅Π½ΠΎ Π΅ СкспСримСнтално внСдряванС Π½Π° Role-Based Access Control (RBAC). Π‘ΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° Π΅ възмоТно Π΄Π° сС Π·Π°Π΄Π°Π΄Π°Ρ‚ ΠΏΡ€Π°Π²Π° Π·Π° Π΄ΠΎΡΡ‚ΡŠΠΏ Π·Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈΡ‚Π΅ ANALYZE, USE, SET GLOBAL ΠΈ SHOW PROCESSLIST;
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° SQL ΠΈΠ·Ρ€Π°Π·ΠΈ Π·Π° ΠΈΠ·Π²Π»ΠΈΡ‡Π°Π½Π΅ Π½Π° Π±Π°Π²Π½ΠΈ заявки ΠΎΡ‚ Π΄Π½Π΅Π²Π½ΠΈΠΊΠ°;
  • Π’ΡŠΠ²Π΅Π΄Π΅Π½ Π΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΡŠΠΌ Π·Π° Π±ΡŠΡ€Π·ΠΎ Π²ΡŠΠ·ΡΡ‚Π°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ Π½Π° ΠΈΠ·Ρ‚Ρ€ΠΈΡ‚ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†ΠΈ, ΠΊΠΎΠΉΡ‚ΠΎ Π²ΠΈ позволява Π΄Π° Π²ΡŠΠ·ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚Π΅ случайно ΠΈΠ·Ρ‚Ρ€ΠΈΡ‚ΠΈ Π΄Π°Π½Π½ΠΈ;
  • Π€ΠΎΡ€ΠΌΠ°Ρ‚ΡŠΡ‚ Π½Π° записанитС Π΄Π½Π΅Π²Π½ΠΈΡ†ΠΈ Π΅ ΡƒΠ½ΠΈΡ„ΠΈΡ†ΠΈΡ€Π°Π½;
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° пСсимистичСн Ρ€Π΅ΠΆΠΈΠΌ Π½Π° Π·Π°ΠΊΠ»ΡŽΡ‡Π²Π°Π½Π΅, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΏΡ€Π°Π²ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° Π½Π° Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ ΠΏΠΎ-ΠΏΠΎΠ΄ΠΎΠ±Π½Π° Π½Π° MySQL;
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ‡Π½ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ (ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ‡Π½ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΠ»ΠΈ Π°Π½Π°Π»ΠΈΡ‚ΠΈΡ‡Π½ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ), ΡΡŠΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΈ с 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 Π·Π° ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°Π½Π΅ Π½Π° ID Π½Π° слСдващия Ρ€Π΅Π΄;
  • Π”ΠΎΠ±Π°Π²Π΅Π½ΠΈ са Π½ΠΎΠ²ΠΈ Π²Π³Ρ€Π°Π΄Π΅Π½ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ JSON_QUOTE, JSON_ARRAY_APPEND, JSON_MERGE_PRESERVE, BENCHMARK, COALESCE ΠΈ NAME_CONST.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€