Rilascio DBMS distribuito TiDB 4.0

A disposizione rilascio di un DBMS distribuito TiDB 4.0, sviluppato sotto l'influenza delle tecnologie di Google chiave и F1. TiDB appartiene alla categoria dei sistemi ibridi HTAP (Hybrid Transactional/Analytical Processing), in grado sia di fornire transazioni in tempo reale (OLTP) sia di elaborare query analitiche. Il progetto è scritto in Go and distribuito da concesso in licenza con Apache 2.0.

Caratteristiche di TiDB:

  • Supporto SQL e fornitura di un'interfaccia client compatibile con il protocollo MySQL, che semplifica l'adattamento delle applicazioni esistenti scritte per MySQL a TiDB e consente inoltre l'utilizzo di librerie client comuni. Oltre al protocollo MySQL, puoi utilizzare un'API basata su JSON e un connettore per Spark per accedere al DBMS.
  • Le funzionalità SQL supportano indici, funzioni aggregate, espressioni GROUP BY, ORDER BY, DISTINCT, fusioni (LEFT JOIN / RIGHT JOIN / CROSS JOIN), visualizzazioni, funzioni finestra e sottoquery. Le funzionalità fornite sono sufficienti per organizzare il lavoro con TiDB per applicazioni web come PhpMyAdmin, Gogs e WordPress;
  • Scalabilità orizzontale e tolleranza agli errori: le dimensioni dello storage e la potenza di elaborazione possono essere aumentate semplicemente collegando nuovi nodi. I dati vengono distribuiti tra i nodi con ridondanza, consentendo il proseguimento delle operazioni in caso di guasto dei singoli nodi. Gli errori vengono gestiti automaticamente.
  • Il sistema garantisce coerenza e per il software client sembra un grande DBMS, nonostante in realtà vengano attratti dati da molti nodi per completare la transazione.
  • Per archiviare fisicamente i dati sui nodi, è possibile utilizzare diversi backend, ad esempio i motori di archiviazione locali GoLevelDB e BoltDB o i nostri motori di archiviazione distribuiti TiKV e TiFlash. TiKV memorizza i dati in stringhe in formato chiave/valore ed è più ottimale per le attività di elaborazione delle transazioni (OLTP). TiFlash memorizza i dati in modo colonnare e consente di ottenere prestazioni più elevate durante la risoluzione di problemi analitici (OLAP).
  • La possibilità di modificare in modo asincrono lo schema di archiviazione, consentendo di aggiungere colonne e indici al volo senza interrompere l'elaborazione delle operazioni in corso.

Nella nuova versione:

  • Per impostazione predefinita, è abilitato il Garbage Collector distribuito Green GC, che può aumentare significativamente la velocità della Garbage Collection in cluster di grandi dimensioni e migliorare la stabilità;
  • Aggiunto il supporto per transazioni di grandi dimensioni, la cui dimensione è limitata quasi dalla dimensione della memoria fisica. Il limite di dimensione per una singola transazione è stato aumentato da 100 MB a 10 GB;
  • Aggiunto il supporto ai comandi BACKUP e RESTORE per il backup;
  • Aggiunta la possibilità di impostare blocchi sui tavoli;
  • Aggiunto meccanismo di isolamento delle transazioni a livello di lettura compatibile con MySQL (READ COMMITTED);
  • Aggiunto il supporto per le espressioni LIKE e WHERE al comando “ADMIN SHOW DDL JOBS”;
  • Aggiunto il parametro oom-use-tmp-storage, che consente di utilizzare file temporanei per memorizzare nella cache i risultati intermedi quando la RAM è insufficiente;
  • Aggiunta la parola chiave Random per assegnare valori casuali agli attributi;
  • Il comando LOAD DATA ora ha la capacità di utilizzare espressioni esadecimali e binarie;
  • Aggiunti 15 parametri per controllare il comportamento dell'ottimizzatore;
  • Aggiunti strumenti per diagnosticare le prestazioni delle query SQL. Aggiunto un log delle query lente, accessibile tramite le tabelle di sistema SLOW_QUERY / CLUSTER_SLOW_QUERY;
  • Aggiunto supporto per funzioni per lavorare con sequenze;
  • Aggiunta la possibilità di modificare dinamicamente i parametri di configurazione letti da PD (Placement Driver, server di gestione del cluster). Aggiunta la possibilità di utilizzare l'espressione "SET CONFIG" per modificare le impostazioni dei nodi PD/TiKV.
  • Aggiunta l'impostazione max-server-connections per limitare il numero massimo di connessioni simultanee al server (default 4096);
  • Prestazioni migliorate in situazioni in cui le colonne richieste sono completamente coperte da indici;
  • Aggiunta ottimizzazione delle query basata sull'unione degli indici;
  • Miglioramento delle prestazioni delle operazioni con intervalli di valori;
  • Ridotto carico della CPU memorizzando nella cache i risultati dell'accesso agli indici e filtrando i duplicati;
  • Aggiunto il supporto per un nuovo formato di archiviazione delle righe che consente di aumentare le prestazioni delle tabelle con un numero elevato di colonne;
  • La funzione GROUP_CONCAT ora supporta l'espressione "ORDER BY";
  • Aggiunta la possibilità di estrarre dati dal log TiFlash tramite SQL;
  • Il comando RECOVER TABLE ora supporta il ripristino delle tabelle troncate;
  • Aggiunta la tabella di sistema DDLJobs per interrogare i dettagli sull'esecuzione del lavoro DDL;
  • Aggiunta la possibilità di utilizzare il comando SHOW CONFIG per visualizzare le impostazioni PD e TiKV;
  • Incluso cache del coprocessore per impostazione predefinita;
  • Il numero di coroutine (goroutine) nella fase di nuovo tentativo di un commit può ora essere controllato utilizzando l'impostazione committer-concurrency;
  • Aggiunta la possibilità di visualizzare le regioni delle partizioni della tabella;
  • È stata aggiunta la possibilità di limitare la dimensione della memoria temporanea a tidb-server;
  • Aggiunto il supporto per le operazioni “inserisci in tbl_name partizione(partition_name_list)” e “sostituisci in tbl_name partizione(partition_name_list)”;
  • Nell'hash utilizzato per il partizionamento è stato aggiunto il supporto al filtraggio in base all'attributo “is null”;
  • Per le tabelle partizionate è stato aggiunto il supporto per le operazioni di controllo dell'indice, pulizia e riparazione.

Fonte: opennet.ru

Aggiungi un commento