Distribuovaná verze DBMS TiDB 4.0

Dostupný distribuovaná verze DBMS TiDB4.0vyvinuté pod vlivem technologií Google Klíč и F1. TiDB patří do kategorie hybridních HTAP (Hybrid Transactional/Analytical Processing) systémů schopných jak poskytovat transakce v reálném čase (OLTP), tak zpracovávat analytické dotazy. Projekt je napsán v Go and distribuovány licencováno pod Apache 2.0.

Vlastnosti TiDB:

  • Podpora SQL a poskytování klientského rozhraní, které je kompatibilní s protokolem MySQL, což usnadňuje přizpůsobení stávajících aplikací napsaných pro MySQL na TiDB a také umožňuje používat běžné klientské knihovny. Kromě protokolu MySQL můžete pro přístup k DBMS použít rozhraní API založené na JSON a konektor pro Spark.
  • Z vlastností SQL jsou podporovány indexy, agregační funkce, GROUP BY, ORDER BY, DISTINCT výrazy, sloučení (LEFT JOIN / RIGHT JOIN / CROSS JOIN), pohledy, okenní funkce a poddotazy. Poskytované možnosti jsou dostatečné pro organizaci práce s TiDB takových webových aplikací, jako je PhpMyAdmin, Gogs a WordPress;
  • Škálování a odolnost: Výkon úložiště a zpracování lze zvětšit jednoduše přidáním nových uzlů. Data jsou distribuována mezi uzly s redundancí, aby operace mohly pokračovat, pokud jednotlivé uzly selžou. Poruchy jsou řešeny automaticky.
  • Systém zaručuje konzistenci a vypadá jako jeden velký DBMS pro klientský software, a to navzdory skutečnosti, že k dokončení transakce se ve skutečnosti používají data z mnoha uzlů.
  • Pro fyzické ukládání dat na uzlech lze použít různé backendy, například místní úložiště GoLevelDB a BoltDB nebo nativní distribuované úložiště. TiKV a TiFlash. TiKV ukládá data ve formátu řádek po řádku ve formátu klíč/hodnota a je optimálnější pro úlohy zpracování transakcí (OLTP). TiFlash ukládá data sloupcově a umožňuje vám dosáhnout vyššího výkonu při řešení analytických problémů (OLAP).
  • Schopnost asynchronně měnit schéma úložiště, což vám umožní přidávat sloupce a indexy za běhu bez zastavení zpracování probíhajících operací.

V novém vydání:

  • Ve výchozím nastavení je povolen distribuovaný garbage collector Green GC, který může výrazně zvýšit rychlost garbage collection ve velkých clusterech a zlepšit stabilitu;
  • Přidána podpora velkých transakcí, jejichž velikost je omezena téměř velikostí fyzické paměti. Limit velikosti jedné transakce zvýšen ze 100 MB na 10 GB;
  • Přidána podpora příkazů BACKUP a RESTORE pro zálohování;
  • Přidána možnost nastavit zámek na stolech;
  • Přidán mechanismus izolace transakcí kompatibilní s MySQL na úrovni čtení (READ COMMITTED);
  • Do příkazu "ADMIN SHOW DDL JOBS" byla přidána podpora výrazů LIKE a WHERE;
  • Přidán parametr oom-use-tmp-storage, který umožňuje použití dočasných souborů pro ukládání mezivýsledků do mezipaměti v podmínkách nedostatečné paměti RAM;
  • Přidáno náhodné klíčové slovo pro přiřazení náhodných hodnot atributům;
  • Příkaz LOAD DATA má nyní možnost používat hexadecimální a binární výrazy;
  • Přidáno 15 parametrů pro ovládání chování optimalizátoru;
  • Přidány nástroje pro diagnostiku výkonu SQL dotazů. Přidán protokol pomalých dotazů dostupný prostřednictvím systémových tabulek SLOW_QUERY / CLUSTER_SLOW_QUERY;
  • Přidána podpora funkcí pro práci se sekvencemi;
  • Přidána možnost dynamicky měnit konfigurační parametry načtené z PD (Placement Driver, server pro správu clusteru). Přidána možnost použít příkaz „SET CONFIG“ ke změně nastavení uzlů PD/TiKV.
  • Přidáno nastavení max-server-connections pro omezení maximálního počtu současných připojení k serveru (4096 ve výchozím nastavení);
  • Vylepšený výkon v situacích, kdy jsou požadované sloupce zcela pokryty indexy;
  • Přidána optimalizace dotazů založená na slučování indexů;
  • Vylepšený výkon operací s rozsahy hodnot;
  • Snížené zatížení procesoru ukládáním výsledků přístupu k indexům a odfiltrováním duplikátů do mezipaměti;
  • Přidána podpora pro nový formát ukládání řetězců, který umožňuje zvýšit výkon tabulek s velkým počtem sloupců;
  • Funkce GROUP_CONCAT nyní podporuje výraz "ORDER BY";
  • Přidána možnost extrahovat data z protokolu TiFlash přes SQL;
  • Příkaz "RECOVER TABLE" implementuje podporu pro obnovu zkrácených tabulek;
  • Přidána systémová tabulka DDLJobs k dotazování na podrobnosti o provádění úlohy DDL;
  • Přidána možnost použití příkazu SHOW CONFIG k zobrazení nastavení PD a TiKV;
  • Zapnutý výchozí mezipaměť koprocesoru;
  • Počet goroutin ve fázi opakování odevzdání lze nyní ovládat pomocí nastavení souběhu odevzdání;
  • Přidána možnost zobrazení oblastí oddílu tabulky;
  • Přidána možnost omezit velikost dočasného úložiště na tidb-server;
  • Přidána podpora pro operace "vložit do oddílu tbl_name (seznam_název_oddílu)" a "nahradit do oddílu název_tbl (seznam_název_oddílu)";
  • V hash používaném pro rozdělení (partitioning) byla přidána podpora pro filtrování na základě "je null";
  • U dělených tabulek byla přidána podpora pro kontrolu, čištění a obnovu indexů.

Zdroj: opennet.ru

Přidat komentář