Frigivelse af det distribuerede DBMS TiDB 4.0

Ledig frigivelse af et distribueret DBMS TiDB 4.0, udviklet under indflydelse af Googles teknologier Spanner и F1. TiDB tilhører kategorien af ​​hybride HTAP (Hybrid Transactional/Analytical Processing) systemer, der både er i stand til at levere realtidstransaktioner (OLTP) og behandle analytiske forespørgsler. Projektet er skrevet på Go sprog og distribueret af licenseret under Apache 2.0.

Funktioner i TiDB:

  • SQL-understøttelse og levering af en klientgrænseflade, der er kompatibel med MySQL-protokollen, hvilket forenkler tilpasningen af ​​eksisterende applikationer skrevet til MySQL til TiDB, og tillader også brugen af ​​almindelige klientbiblioteker. Ud over MySQL-protokollen kan du bruge en JSON-baseret API og en forbindelse til Spark for at få adgang til DBMS.
  • SQL-funktioner understøtter indekser, aggregerede funktioner, GROUP BY, ORDER BY, DISTINCT udtryk, fletninger (LEFT JOIN / RIGHT JOIN / CROSS JOIN), visninger, vinduesfunktioner og underforespørgsler. De medfølgende muligheder er tilstrækkelige til at organisere arbejdet med TiDB for sådanne webapplikationer som PhpMyAdmin, Gogs og WordPress;
  • Horisontal skalerbarhed og fejltolerance: Lagerstørrelse og processorkraft kan øges ved blot at forbinde nye noder. Data fordeles på tværs af noder med redundans, hvilket gør det muligt at fortsætte driften, hvis individuelle noder svigter. Fejl håndteres automatisk.
  • Systemet garanterer konsistens, og for klientsoftwaren ser det ud som ét stort DBMS, på trods af at data fra mange noder faktisk tiltrækkes for at gennemføre transaktionen.
  • For fysisk at gemme data på noder kan forskellige backends bruges, for eksempel lokale storage-motorer GoLevelDB og BoltDB eller vores egne distribuerede storage-motorer TiKV og TiFlash. TiKV gemmer data i strenge i nøgle/værdi-format og er mere optimal til transaktionsbehandlingsopgaver (OLTP). TiFlash gemmer data på en kolonneformet måde og giver dig mulighed for at opnå højere ydeevne, når du løser analytiske problemer (OLAP).
  • Muligheden for asynkront at ændre lagerskemaet, så du kan tilføje kolonner og indekser på farten uden at stoppe behandlingen af ​​igangværende operationer.

I den nye udgivelse:

  • Som standard er den distribuerede affaldsopsamler Green GC aktiveret, hvilket markant kan øge hastigheden af ​​affaldsindsamling i store klynger og forbedre stabiliteten;
  • Tilføjet understøttelse af store transaktioner, hvis størrelse næsten er begrænset af størrelsen af ​​fysisk hukommelse. Størrelsesgrænsen for en enkelt transaktion er blevet øget fra 100 MB til 10 GB;
  • Tilføjet understøttelse af BACKUP og RESTORE kommandoer til backup;
  • Tilføjet muligheden for at sætte låse på borde;
  • Tilføjet MySQL-kompatibel transaktionsisoleringsmekanisme på læseniveau (READ COMMITTED);
  • Tilføjet understøttelse af LIKE og WHERE udtryk til kommandoen "ADMIN SHOW DDL JOBS";
  • Tilføjet parameteren oom-use-tmp-storage, som giver dig mulighed for at bruge midlertidige filer til at cache mellemresultater, når der ikke er tilstrækkelig RAM;
  • Tilføjet tilfældig nøgleord for at tildele tilfældige værdier til attributter;
  • Kommandoen LOAD DATA har nu mulighed for at bruge hexadecimale og binære udtryk;
  • Tilføjet 15 parametre for at kontrollere opførselen af ​​optimizeren;
  • Tilføjede værktøjer til diagnosticering af ydelsen af ​​SQL-forespørgsler. Tilføjet en log over langsomme forespørgsler, tilgængelig via SLOW_QUERY / CLUSTER_SLOW_QUERY systemtabellerne;
  • Tilføjet understøttelse af funktioner til at arbejde med sekvenser;
  • Tilføjet muligheden for dynamisk at ændre konfigurationsparametre læst fra PD (Placeringsdriver, klyngestyringsserver). Tilføjet muligheden for at bruge udtrykket "SET CONFIG" til at ændre indstillingerne for PD/TiKV-noder.
  • Tilføjet indstilling for max-server-forbindelser for at begrænse det maksimale antal samtidige forbindelser til serveren (standard 4096);
  • Forbedret ydeevne i situationer, hvor de anmodede kolonner er fuldstændig dækket af indekser;
  • Tilføjet forespørgselsoptimering baseret på indekssammenlægning;
  • Forbedret ydeevne af operationer med værdiområder;
  • Reduceret CPU-belastning ved at cache resultaterne af adgang til indekser og frafiltrere dubletter;
  • Tilføjet understøttelse af et nyt rækkelagringsformat, der giver dig mulighed for at øge ydeevnen af ​​tabeller med et stort antal kolonner;
  • GROUP_CONCAT-funktionen understøtter nu udtrykket "ORDER BY";
  • Tilføjet muligheden for at udtrække data fra TiFlash-loggen via SQL;
  • Kommandoen RECOVER TABLE understøtter nu gendannelse af trunkerede tabeller;
  • Tilføjet DDLJobs-systemtabel for at forespørge på detaljer om DDL-job-udførelse;
  • Tilføjet muligheden for at bruge kommandoen SHOW CONFIG til at vise PD- og TiKV-indstillinger;
  • Inkluderet coprocessor cache som standard;
  • Antallet af coroutiner (goroutiner) i genforsøgsfasen af ​​en commit kan nu kontrolleres ved hjælp af committer-concurrency indstillingen;
  • Tilføjet muligheden for at vise tabelpartitionsområder;
  • Muligheden for at begrænse størrelsen af ​​midlertidig lagring er blevet tilføjet til tidb-server;
  • Tilføjet understøttelse af operationerne "indsæt i tbl_name partition(partition_name_list)" og "erstat i tbl_name partition(partition_name_list)";
  • I den hash, der bruges til partitionering, er understøttelse af filtrering baseret på attributten "er null" blevet tilføjet;
  • For opdelte tabeller er der tilføjet understøttelse af indekstjek, oprydning og reparation.

Kilde: opennet.ru

Tilføj en kommentar