Release van de gedistribueerde DBMS TiDB 4.0

Beschikbaar release van een gedistribueerd DBMS TiDB 4.0, ontwikkeld onder invloed van Google-technologieën Moersleutel и F1. TiDB behoort tot de categorie hybride HTAP-systemen (Hybrid Transactional/Analytical Processing), die zowel realtime transacties (OLTP) kunnen leveren als analytische vragen kunnen verwerken. Het project is geschreven in Go en gedistribueerd door gelicentieerd onder Apache 2.0.

Kenmerken van TiDB:

  • SQL-ondersteuning en levering van een clientinterface die compatibel is met het MySQL-protocol, wat de aanpassing van bestaande applicaties die voor MySQL zijn geschreven aan TiDB vereenvoudigt, en ook het gebruik van gemeenschappelijke clientbibliotheken mogelijk maakt. Naast het MySQL-protocol kunt u een op JSON gebaseerde API en een connector voor Spark gebruiken om toegang te krijgen tot het DBMS.
  • SQL-functies ondersteunen indexen, aggregatiefuncties, GROUP BY, ORDER BY, DISTINCT-expressies, samenvoegingen (LEFT JOIN / RIGHT JOIN / CROSS JOIN), views, vensterfuncties en subquery's. De geboden mogelijkheden zijn voldoende om het werk met TiDB te organiseren voor webapplicaties als PhpMyAdmin, Gogs en WordPress;
  • Horizontale schaalbaarheid en fouttolerantie: de opslaggrootte en verwerkingskracht kunnen worden vergroot door simpelweg nieuwe knooppunten aan te sluiten. Gegevens worden redundant over knooppunten verdeeld, waardoor de werking kan worden voortgezet als individuele knooppunten uitvallen. Storingen worden automatisch afgehandeld.
  • Het systeem garandeert consistentie en voor de clientsoftware lijkt het op één groot DBMS, ondanks het feit dat er in feite gegevens van veel knooppunten worden aangetrokken om de transactie te voltooien.
  • Om gegevens fysiek op knooppunten op te slaan, kunnen verschillende backends worden gebruikt, bijvoorbeeld lokale opslagmotoren GoLevelDB en BoltDB of onze eigen gedistribueerde opslagmotoren TiKV en TiFlash. TiKV slaat gegevens op in tekenreeksen in sleutel/waarde-indeling en is optimaal voor transactieverwerkingstaken (OLTP). TiFlash slaat gegevens in kolommen op en zorgt ervoor dat u hogere prestaties kunt bereiken bij het oplossen van analytische problemen (OLAP).
  • De mogelijkheid om het opslagschema asynchroon te wijzigen, zodat u on-the-fly kolommen en indexen kunt toevoegen zonder de verwerking van lopende bewerkingen te stoppen.

In de nieuwe uitgave:

  • Standaard is de gedistribueerde garbage collector Green GC ingeschakeld, wat de snelheid van garbage collection in grote clusters aanzienlijk kan verhogen en de stabiliteit kan verbeteren;
  • Ondersteuning toegevoegd voor grote transacties, waarvan de omvang bijna wordt beperkt door de grootte van het fysieke geheugen. De maximale grootte voor een enkele transactie is verhoogd van 100 MB naar 10 GB;
  • Ondersteuning toegevoegd voor BACKUP- en RESTORE-opdrachten voor back-up;
  • De mogelijkheid toegevoegd om sloten op tafels in te stellen;
  • MySQL-compatibel transactie-isolatiemechanisme op leesniveau toegevoegd (READ COMMITTED);
  • Ondersteuning toegevoegd voor LIKE- en WHERE-expressies aan de opdracht “ADMIN SHOW DDL JOBS”;
  • De parameter oom-use-tmp-storage toegevoegd, waarmee u tijdelijke bestanden kunt gebruiken om tussenresultaten in de cache op te slaan wanneer er onvoldoende RAM is;
  • Het willekeurige trefwoord toegevoegd om willekeurige waarden aan attributen toe te wijzen;
  • Het LOAD DATA-commando heeft nu de mogelijkheid om hexadecimale en binaire uitdrukkingen te gebruiken;
  • 15 parameters toegevoegd om het gedrag van de optimizer te controleren;
  • Hulpmiddelen toegevoegd voor het diagnosticeren van de prestaties van SQL-query's. Een log van langzame queries toegevoegd, toegankelijk via de SLOW_QUERY / CLUSTER_SLOW_QUERY systeemtabellen;
  • Ondersteuning toegevoegd voor functies voor het werken met reeksen;
  • De mogelijkheid toegevoegd om configuratieparameters dynamisch te wijzigen die worden gelezen vanaf PD (Placement Driver, clusterbeheerserver). De mogelijkheid toegevoegd om de expressie “SET CONFIG” te gebruiken om de instellingen van PD/TiKV-knooppunten te wijzigen.
  • Max-server-connections-instelling toegevoegd om het maximale aantal gelijktijdige verbindingen met de server te beperken (standaard 4096);
  • Verbeterde prestaties in situaties waarin de gevraagde kolommen volledig worden bedekt door indexen;
  • Queryoptimalisatie toegevoegd op basis van indexsamenvoeging;
  • Verbeterde prestaties van bewerkingen met waardebereiken;
  • Verminderde CPU-belasting door de resultaten van toegang tot indexen in het cachegeheugen op te slaan en duplicaten uit te filteren;
  • Ondersteuning toegevoegd voor een nieuw rijopslagformaat waarmee u de prestaties van tabellen met een groot aantal kolommen kunt verbeteren;
  • De functie GROUP_CONCAT ondersteunt nu de expressie "ORDER BY";
  • De mogelijkheid toegevoegd om gegevens uit het TiFlash-logboek te extraheren via SQL;
  • Het RECOVER TABLE-commando ondersteunt nu het herstellen van afgekapte tabellen;
  • DDLJobs-systeemtabel toegevoegd om details over de uitvoering van DDL-taken op te vragen;
  • De mogelijkheid toegevoegd om de opdracht SHOW CONFIG te gebruiken om PD- en TiKV-instellingen weer te geven;
  • Inbegrepen standaard coprocessorcache;
  • Het aantal coroutines (goroutines) in de fase van opnieuw proberen van een commit kan nu worden beheerd met behulp van de committer-concurrency-instelling;
  • De mogelijkheid toegevoegd om tabelpartitieregio's weer te geven;
  • De mogelijkheid om de grootte van tijdelijke opslag te beperken is toegevoegd aan tidb-server;
  • Ondersteuning toegevoegd voor de bewerkingen “invoegen in tbl_name partitie (partitie_naam_lijst)” en “vervangen in tbl_naam partitie (partitie_naam_lijst)”;
  • In de hash die wordt gebruikt voor het partitioneren is ondersteuning voor filteren op basis van het attribuut “is null” toegevoegd;
  • Voor gepartitioneerde tabellen is ondersteuning voor indexcontrole, opruim- en reparatiebewerkingen toegevoegd.

Bron: opennet.ru

Voeg een reactie