Versió distribuïda de SGBD TiDB 4.0

Disponible llançament de DBMS distribuït TiDB 4.0desenvolupat sota la influència de les tecnologies de Google Spanner и F1. TiDB pertany a la categoria de sistemes híbrids HTAP (Hybrid Transactional/Analytical Processing) capaços tant de proporcionar transaccions en temps real (OLTP) com de processar consultes analítiques. El projecte està escrit en Go i Distribuït per amb llicència d'Apache 2.0.

Característiques de TiDB:

  • Suport per a SQL i subministrament d'una interfície de client compatible amb el protocol MySQL, que facilita l'adaptació de les aplicacions existents escrites per MySQL a TiDB, i també us permet utilitzar biblioteques de client habituals. A més del protocol MySQL, podeu utilitzar l'API basada en JSON i el connector per a Spark per accedir al SGBD.
  • De les característiques d'SQL, s'admeten índexs, funcions d'agregació, expressions GROUP BY, ORDER BY, DISTINCT, fusions (LEFT JOIN / RIGHT JOIN / CROSS JOIN), vistes, funcions de finestra i subconsultes. Les oportunitats proporcionades són suficients per organitzar el treball amb TiDB d'aplicacions web com PhpMyAdmin, gogs i WordPress;
  • Ampliació i resiliència: la potència d'emmagatzematge i processament es pot augmentar simplement afegint nous nodes. Les dades es distribueixen entre nodes amb redundància per permetre que les operacions continuïn si els nodes individuals fallen. Els errors es gestionen automàticament.
  • El sistema garanteix la coherència i sembla un gran DBMS per al programari del client, malgrat que, de fet, hi ha dades de molts nodes implicades per completar la transacció.
  • Es poden utilitzar diferents backends per a l'emmagatzematge de dades físiques als nodes, per exemple, motors d'emmagatzematge local GoLevelDB i BoltDB o motors d'emmagatzematge distribuït nadiu TiKV i TiFlash. TiKV emmagatzema dades en format línia per línia en format clau/valor i és més òptim per a tasques de processament de transaccions (OLTP). TiFlash emmagatzema les dades d'una manera basada en columnes i us permet aconseguir un major rendiment a l'hora de resoldre problemes analítics (OLAP).
  • La capacitat de canviar l'esquema d'emmagatzematge de manera asíncrona, la qual cosa us permet afegir columnes i índexs sobre la marxa sense aturar el processament de les operacions en curs.

A la nova versió:

  • Per defecte, el col·lector d'escombraries distribuït Green GC està habilitat, cosa que pot augmentar significativament la velocitat de recollida d'escombraries en grans clústers i millorar l'estabilitat;
  • S'ha afegit suport per a transaccions grans, la mida de les quals està limitada gairebé per la mida de la memòria física. El límit de mida de transacció única ha augmentat de 100 MB a 10 GB;
  • S'ha afegit suport per a les ordres BACKUP i RESTORE per a la còpia de seguretat;
  • S'ha afegit la possibilitat d'establir un bloqueig a les taules;
  • S'ha afegit un mecanisme d'aïllament de transaccions compatible amb MySQL a nivell de lectura (READ COMMITTED);
  • S'ha afegit suport per a les expressions LIKE i WHERE a l'ordre "ADMIN SHOW DDL JOBS";
  • S'ha afegit el paràmetre oom-use-tmp-storage, que permet utilitzar fitxers temporals per a la memòria cau de resultats intermedis en condicions de RAM insuficient;
  • S'ha afegit una paraula clau aleatòria per assignar valors aleatoris als atributs;
  • L'ordre LOAD DATA ara té la capacitat d'utilitzar expressions hexadecimals i binàries;
  • S'han afegit 15 paràmetres per controlar el comportament de l'optimitzador;
  • S'han afegit eines per diagnosticar el rendiment de les consultes SQL. S'ha afegit un registre de consultes lenta disponible a través de les taules del sistema SLOW_QUERY / CLUSTER_SLOW_QUERY;
  • S'ha afegit suport per a funcions per treballar amb seqüències;
  • S'ha afegit la possibilitat de canviar dinàmicament els paràmetres de configuració llegits des del PD (Controlador de col·locació, servidor de gestió de clúster). S'ha afegit la possibilitat d'utilitzar la instrucció "SET CONFIG" per canviar la configuració dels nodes PD/TiKV.
  • S'ha afegit la configuració max-server-connections per limitar el nombre màxim de connexions simultànies al servidor (4096 per defecte);
  • Rendiment millorat en situacions en què les columnes sol·licitades estan completament cobertes per índexs;
  • S'ha afegit una optimització de consultes basada en la fusió d'índexs;
  • Millora del rendiment de les operacions amb rangs de valors;
  • S'ha reduït la càrrega de la CPU mitjançant l'emmagatzematge a la memòria cau dels resultats de l'accés als índexs i la filtració de duplicats;
  • S'ha afegit suport per a un nou format d'emmagatzematge de cadenes que permet augmentar el rendiment de les taules amb un gran nombre de columnes;
  • La funció GROUP_CONCAT ara admet l'expressió "ORDER BY";
  • S'ha afegit la possibilitat d'extreure dades del registre de TiFlash mitjançant SQL;
  • L'ordre "RECOVER TABLE" implementa suport per recuperar taules truncades;
  • S'ha afegit la taula del sistema DDLJobs per consultar detalls sobre l'execució de treballs DDL;
  • S'ha afegit la possibilitat d'utilitzar l'ordre SHOW CONFIG per mostrar la configuració de PD i TiKV;
  • Encès memòria cau del coprocessador predeterminat;
  • El nombre de goroutines a la fase de reintent de commit ara es pot controlar mitjançant la configuració de committer-concurrency;
  • S'ha afegit la possibilitat de mostrar les regions de la partició de la taula;
  • S'ha afegit la possibilitat de limitar la mida de l'emmagatzematge temporal al servidor tidb;
  • S'ha afegit suport per a les operacions "insert into tbl_name partition(partition_name_list)" i "substitueix a tbl_name partition(partition_name_list)";
  • En el hash utilitzat per a la partició (particionament), s'ha afegit suport per al filtratge sobre la base de "és nul";
  • Per a les taules particionades, s'ha afegit suport per comprovar, netejar i restaurar índexs.

Font: opennet.ru

Afegeix comentari