Ipinamahagi ng TiDB 4.0 ang paglabas ng DBMS

Magagamit ipinamahagi ang paglabas ng DBMS TiDB 4.0binuo sa ilalim ng impluwensya ng mga teknolohiya ng Google Spanner и F1. Ang TiDB ay kabilang sa kategorya ng mga hybrid na HTAP (Hybrid Transactional/Analytical Processing) na mga system na parehong may kakayahang magbigay ng mga real-time na transaksyon (OLTP) at pagproseso ng mga analytical na query. Ang proyekto ay nakasulat sa Go at ipinamahagi ni lisensyado sa ilalim ng Apache 2.0.

Mga Tampok ng TiDB:

  • Suporta para sa SQL at ang probisyon ng isang client interface na tugma sa MySQL protocol, na ginagawang madaling iakma ang mga umiiral nang application na isinulat para sa MySQL sa TiDB, at nagbibigay-daan din sa iyo na gumamit ng mga karaniwang library ng kliyente. Bilang karagdagan sa MySQL protocol, maaari mong gamitin ang JSON-based na API at ang connector para sa Spark upang ma-access ang DBMS.
  • Sa mga feature ng SQL, mga index, pinagsama-samang function, GROUP BY, ORDER BY, DISTINCT expressions, merges (LEFT JOIN / RIGHT JOIN / CROSS JOIN), view, window functions at subquery ay sinusuportahan. Ang mga ibinigay na pagkakataon ay sapat na upang ayusin ang trabaho sa TiDB ng mga web application tulad ng PhpMyAdmin, salaming pandagat at WordPress;
  • Scale-out at resiliency: Ang storage at processing power ay maaaring palakihin sa pamamagitan lamang ng pagdaragdag ng mga bagong node. Ang data ay ipinamamahagi sa mga node na may redundancy upang payagan ang mga operasyon na magpatuloy kung ang mga indibidwal na node ay nabigo. Awtomatikong hinahawakan ang mga pagkabigo.
  • Ginagarantiyahan ng system ang pare-pareho at mukhang isang malaking DBMS sa software ng kliyente, sa kabila ng katotohanan na ang data mula sa maraming node ay aktwal na ginagamit upang makumpleto ang transaksyon.
  • Maaaring gamitin ang iba't ibang mga backend para sa pisikal na pag-iimbak ng data sa mga node, halimbawa, mga lokal na storage engine ng GoLevelDB at BoltDB o mga native distributed storage engine. TiKV at TiFlash. Ang TiKV ay nag-iimbak ng data sa mga hilera sa key/value format at mas pinakamainam para sa mga gawain sa pagpoproseso ng transaksyon (OLTP). Ang TiFlash ay nag-iimbak ng data sa isang column-based na paraan at nagbibigay-daan sa iyong makamit ang mas mataas na performance kapag nilulutas ang mga analytical na problema (OLAP).
  • Ang kakayahang asynchronously baguhin ang storage scheme, na nagbibigay-daan sa iyo upang magdagdag ng mga column at index sa mabilisang nang hindi humihinto sa pagproseso ng mga patuloy na operasyon.

Sa bagong release:

  • Bilang default, naka-enable ang distributed garbage collector Green GC, na maaaring makabuluhang tumaas ang bilis ng pangongolekta ng basura sa malalaking kumpol at mapabuti ang katatagan;
  • Nagdagdag ng suporta para sa malalaking transaksyon, ang laki nito ay limitado halos sa laki ng pisikal na memorya. Ang limitasyon sa laki ng solong transaksyon ay tumaas mula 100 MB hanggang 10 GB;
  • Nagdagdag ng suporta para sa BACKUP at RESTORE command para sa backup;
  • Nagdagdag ng kakayahang magtakda ng lock sa mga talahanayan;
  • Idinagdag ang mekanismo ng paghihiwalay ng transaksyon na katugma sa MySQL sa antas ng pagbasa (READ COMMITTED);
  • Suporta para sa LIKE at WHERE expression ay naidagdag sa command na "ADMIN SHOW DDL JOBS";
  • Idinagdag ang parameter ng oom-use-tmp-storage, na nagpapahintulot sa paggamit ng mga pansamantalang file para sa pag-cache ng mga intermediate na resulta sa mga kondisyon ng hindi sapat na RAM;
  • Nagdagdag ng Random na keyword upang magtalaga ng mga random na halaga sa mga katangian;
  • Ang LOAD DATA command na ngayon ay may kakayahang gumamit ng hexadecimal at binary expression;
  • Nagdagdag ng 15 parameter upang kontrolin ang pag-uugali ng optimizer;
  • Nagdagdag ng mga tool para sa pag-diagnose ng pagganap ng mga query sa SQL. Nagdagdag ng mabagal na log ng query na magagamit sa pamamagitan ng mga talahanayan ng system na SLOW_QUERY / CLUSTER_SLOW_QUERY;
  • Nagdagdag ng suporta para sa mga function para sa pagtatrabaho sa mga sequence;
  • Nagdagdag ng kakayahang dynamic na baguhin ang mga parameter ng configuration na nabasa mula sa PD (Placement Driver, cluster management server). Idinagdag ang kakayahang gamitin ang "SET CONFIG" na pahayag upang baguhin ang mga setting ng mga PD/TiKV node.
  • Nagdagdag ng setting ng max-server-connections upang limitahan ang maximum na bilang ng sabay-sabay na koneksyon sa server (4096 bilang default);
  • Pinahusay na pagganap sa mga sitwasyon kung saan ang mga hiniling na column ay ganap na sakop ng mga index;
  • Nagdagdag ng pag-optimize ng query batay sa pagsasama-sama ng mga index;
  • Pinahusay na pagganap ng mga operasyon na may mga hanay ng mga halaga;
  • Binawasan ang pagkarga ng CPU sa pamamagitan ng pag-cache ng mga resulta ng pag-access sa mga index at pag-filter ng mga duplicate;
  • Nagdagdag ng suporta para sa isang bagong format ng imbakan ng string na nagbibigay-daan sa iyong pataasin ang pagganap ng mga talahanayan na may malaking bilang ng mga column;
  • Ang GROUP_CONCAT function na ngayon ay sumusuporta sa "ORDER BY" na expression;
  • Nagdagdag ng kakayahang kunin ang data mula sa TiFlash log sa pamamagitan ng SQL;
  • Ang command na "RECOVER TABLE" ay nagpapatupad ng suporta para sa pagbawi ng mga pinutol na talahanayan;
  • Idinagdag ang DDLJobs system table upang mag-query ng mga detalye tungkol sa DDL job execution;
  • Nagdagdag ng kakayahang gamitin ang utos na SHOW CONFIG para ipakita ang mga setting ng PD at TiKV;
  • Nakabukas default na coprocessor cache;
  • Ang bilang ng mga goroutine sa commit retry phase ay maaari na ngayong kontrolin gamit ang committer-concurrency setting;
  • Nagdagdag ng kakayahang ipakita ang mga rehiyon ng table partition;
  • Idinagdag ang kakayahang limitahan ang laki ng pansamantalang imbakan sa tidb-server;
  • Nagdagdag ng suporta para sa mga operasyong "ipasok sa tbl_name partition(partition_name_list)" at "palitan sa tbl_name partition(partition_name_list)";
  • Sa hash na ginamit para sa partitioning (partitioning), ang suporta ay idinagdag para sa pagsala sa batayan ng "ay null";
  • Para sa mga naka-partition na talahanayan, idinagdag ang suporta para sa pagsuri, paglilinis, at pagpapanumbalik ng mga index.

Pinagmulan: opennet.ru

Magdagdag ng komento