utgÄvan av den distribuerade databasen , utvecklad under intryck av teknologier frÄn Google och . TiDB tillhör kategorin hybrid HTAP-system (Hybrid Transactional/Analytical Processing), som kan bÄde genomföra realtids transaktioner (OLTP) och utföra analysfrÄgor. Projektet Àr skrivet i Go och Àr licensierad under Apache 2.0.
Egenskaper hos TiDB:
- Stöd för SQL och tillhandahÄllande av klientgrÀnssnitt som Àr kompatibelt med MySQL-protokollet, vilket förenklar anpassningen av befintliga applikationer mot TiDB skrivna för MySQL och möjliggör anvÀndning av populÀra klientbibliotek. Förutom MySQL-protokollet kan man anvÀnda ett API baserat pÄ JSON och en connector för Spark för att kommunicera med databasen.
- Det SQL-stöd som erbjuds inkluderar index, aggregatfunktioner, GROUP BY, ORDER BY, DISTINCT, sammanslagningar (LEFT JOIN / RIGHT JOIN / CROSS JOIN), vyer, fönsterfunktioner och subfrÄgor. De tillhandahÄllna funktionerna Àr tillrÀckliga för att organisera arbetet med TiDB i web-applikationer som PhpMyAdmin, och WordPress;
- Möjlighet till horisontell skalning och felöverlevnad: lagringsstorlek och berÀkningskraft kan ökas enkelt genom att ansluta nya noder. Data distribueras över noderna med redundans som möjliggör fortsatt drift vid eventuella nodfel. Fel hanteras automatiskt.
- Systemet garanterar konsistens och ser ut som en stor databas för klientprogramvara, trots att data för att utföra transaktioner faktiskt hÀmtas frÄn flera noder.
- För fysisk lagring av data pÄ noder kan olika backends tillÀmpas, som lokala lagringsmotorer GoLevelDB och BoltDB, eller egna motorer för distribuerad lagring och TiFlash. TiKV lagrar data i radvis i nyckel/vÀrde-format och Àr mer optimal för transaktionsbearbetning (OLTP). TiFlash lagrar data kolumnvis och möjliggör högre prestanda för analytiska uppgifter (OLAP).
- Möjlighet till asynkron Àndring av lagringsschema, vilket gör det möjligt att pÄ sprÄng lÀgga till kolumner och index utan att stoppa behandlingen av aktuella operationer.
I den nya utgÄvan:
- Som standard Àr den distribuerade skrÀpsamlaren Green GC aktiverad, vilket vÀsentligt kan öka hastigheten pÄ skrÀpsamling i stora kluster och förbÀttra stabiliteten i driften;
- Stöd för stora transaktioner har lagts till, dÀr storleken i princip begrÀnsas av den fysiska minnesstorleken. StorleksgrÀnsen för en enda transaktion har ökat frÄn 100 MB till 10 GB;
- Stöd för kommandona BACKUP och RESTORE för sÀkerhetskopiering har lagts till;
- Möjlighet att sÀtta lÄs pÄ tabeller har lagts till;
- En kompatibel transaktionsisolering mekanism i MySQL stil pÄ lÀsnivÄn (READ COMMITTED) har lagts till;
- Stöd för LIKE och WHERE uttryck har lagts till i kommandot "ADMIN SHOW DDL JOBS";
- Parametern oom-use-tmp-storage har lagts till, vilket möjliggör anvÀndning av temporÀra filer för att cachea mellanresultat vid brist pÄ RAM;
- Nyckelordet Random har lagts till för att tilldela attribut slumpmÀssiga vÀrden;
- I LOAD DATA-kommandot har möjligheten att anvÀnda hexadecimala och binÀra uttryck lagts till;
- 15 parametrar för att styra optimerarens beteende har lagts till;
- Verktyg för att diagnostisera SQL-frÄgers prestanda har lagts till. Logg för lÄngsamma frÄgor har lagts till, vilket Àr tillgÀngligt via systemtabellerna SLOW_QUERY / CLUSTER_SLOW_QUERY;
- Stöd för funktioner för arbete med sekvenser har lagts till;
- Möjlighet till dynamisk Àndring av konfigurationsparametrar som lÀses frÄn PD (Placement Driver, klusterhanteringsserver) har lagts till. Möjlighet att anvÀnda uttrycket "SET CONFIG" för att Àndra instÀllningarna för noderna PD/TiKV har lagts till.
- InstÀllningen max-server-connections har lagts till för att begrÀnsa det maximala antalet samtidiga anslutningar till servern (standard 4096);
- Prestandan har ökat i situationer dÀr de begÀrda kolumnerna helt tÀcks av index;
- Optimering av frÄgor pÄ basis av sammanslagning av index har lagts till;
- Prestanda för operationer med vÀrdeserier har ökat;
- CPU-belastningen har minskats genom att cacha resultat frÄn indexanrop och filtrera bort dubbletter;
- Stöd för ett nytt format för lagring av rader har lagts till, vilket gör det möjligt att öka prestandan för tabeller med ett stort antal kolumner;
- I funktionen GROUP_CONCAT har stöd för uttrycket "ORDER BY" lagts till;
- Det har lagts till möjlighet att extrahera data frÄn loggen TiFlash via SQL;
- I teamet "RECOVER TABLE" har stöd för ÄterstÀllning av beskurna tabeller;
- En systemtabell DDLJobs har lagts till för att begÀra detaljer om genomförda DDL-uppgifter;
- Möjlighet att anvÀnda kommandot SHOW CONFIG har lagts till för att visa instÀllningarna för PD och TiKV;
- standard cache för samprocessorn;
- Antalet goroutines i commitÄterföringsfasen kan nu kontrolleras med instÀllningen committer-concurrency;
- Möjlighet att visa regionerna i tabellpartitioner har lagts till;
- I tidb-server har möjligheten att begrÀnsa storleken pÄ det temporÀra lagret lagts till;
- Stöd för operationerna "insert into tbl_name partition(partition_name_list)" och "replace into tbl_name partition(partition_name_list)" har lagts till;
- I den hash som anvÀnds för partitionering har stöd för filtrering med egenskapen "is null" lagts till;
- För partitionerade tabeller har stöd för kontroller, rensning och ÄterstÀllning av index lagts till.
KĂ€lla: opennet.ru
