TiDB 3.0 banatutako DBMS bertsioa

Eskuragarri Banatutako DBMS baten askatzea TiDB 3.0, Google teknologien eraginez garatua Spanner ΠΈ F1. TiDB HTAP (Hybrid Transactional/Analytical Processing) sistema hibridoen kategoriakoa da, denbora errealeko transakzioak (OLTP) eta kontsulta analitikoak prozesatzeko gai direnak. Proiektua Go hizkuntzan idatzita dago eta arabera banatuta Apache 2.0 lizentziapean.

TiDBren ezaugarriak:

  • SQL laguntza eta MySQL protokoloarekin bateragarria den bezero-interfazea hornitzea, MySQLrako idatzitako aplikazioen TiDBra egokitzea errazten duena, eta bezeroen liburutegi arruntak erabiltzeko aukera ere ematen du. MySQL protokoloaz gain, JSONn oinarritutako API bat eta Spark-erako konektore bat erabil ditzakezu DBMSra sartzeko.
  • SQL-k onartzen ditu indizeak, funtzio agregatuak, GROUP BY, ORDER BY, DISTINCT esamoldeak, bateratzeak (LEFT JOIN / RIGHT JOIN / CROSS JOIN), ikuspegiak, leiho funtzioak eta azpikontsultak. Emandako gaitasunak nahikoak dira PhpMyAdmin bezalako web aplikazioetarako TiDBrekin lana antolatzeko, Gogak eta WordPress;
  • Eskalagarritasun horizontala eta akatsen tolerantzia: biltegiratze-tamaina eta prozesatzeko potentzia handitu daitezke nodo berriak konektatuz. Datuak nodoen artean banatzen dira erredundantziarekin, eta funtzionamendua jarraitzeko aukera ematen du, banakako nodoek huts egiten badute. Hutsegiteak automatikoki kudeatzen dira.
  • Sistemak koherentzia bermatzen du eta bezeroaren softwarearentzat DBMS handi bat dirudi, nahiz eta nodo askotako datuak erakartzen diren transakzioa burutzeko.
  • Nodoetan datuak fisikoki gordetzeko, backend desberdinak erabil daitezke, adibidez, tokiko biltegiratze-motorrak GoLevelDB eta BoltDB edo gure banatutako biltegiratze-motor propioa. TiKV.
  • Biltegiratze-eskema modu asinkronoan aldatzeko gaitasuna, zutabeak eta indizeak berehala gehitzeko aukera ematen dizu, etengabeko eragiketen prozesamendua gelditu gabe.

Nagusia berrikuntzak:

  • Produktibitatea areagotzeko lanak egin dira. Sysbench proban, 3.0 bertsioa 2.1 adarra baino 1.5 aldiz azkarragoa da hautaketa eta eguneratze eragiketak egiterakoan, eta TPC-C proban 4.5 aldiz. Optimizazioek hainbat kontsultei eragin diete, besteak beste, IN, DO eta NOT EXISTS azpikontsultei, taulak bateratzeko (JOIN) eragiketei, indizeen erabilerari eta askoz gehiago;
    TiDB 3.0 banatutako DBMS bertsioaTiDB 3.0 banatutako DBMS bertsioa

  • TiFlash biltegiratze-motor berri bat gehitu da, arazo analitikoak (OLAP) ebazteko errendimendu handiagoa ahalbidetzen duen zutabe biltegiratzeari esker. TiFlash-ek aurrez eskainitako TiKV biltegia osatzen du, errenkaden datuak gako/balio formatuan gordetzen dituena eta transakzioen prozesatzeko zereginetarako (OLTP) aproposagoa dena. TiFlash-ek TiKV-rekin batera lan egiten du eta datuak TiKV-ra errepikatzen jarraitzen du Raft protokoloa erabili aurretik adostasuna zehazteko, baina Raft-en erreplika talde bakoitzeko TiFlash-en erabiltzen den erreplika gehigarri bat sortzen da. Ikuspegi honek OLTP eta OLAP zereginen artean baliabideak hobeto partekatzeko aukera ematen du, eta transakzio-datuak berehala eskuragarri jartzen ditu kontsulta analitikoetarako;

    TiDB 3.0 banatutako DBMS bertsioa

  • Banatutako zabor-biltzaile bat ezarri da, eta horrek zabor bilketa-abiadura nabarmen handitu dezake multzo handietan eta egonkortasuna hobetu;
  • Role-Based Access Control (RBAC) inplementazio esperimentala gehitu da. Halaber, AZTERTU, ERABILI, EZAR GLOBAL eta ERAKUTSI PROZESU-LISTA eragiketetarako sarbide-eskubideak ezar daitezke;
  • Erregistrotik kontsulta motelak ateratzeko SQL adierazpenak erabiltzeko gaitasuna gehitu da;
  • Ezabatutako taulak azkar leheneratzeko mekanismo bat ezarri da, ustekabean ezabatutako datuak leheneratu ahal izateko;
  • Grabatutako erregistroen formatua bateratu egin da;
  • Blokeo modu ezkorrari euskarria gehitu zaio, transakzioen prozesamendua MySQLren antzekoagoa bihurtzen duena;
  • MySQL 8.0-rekin bateragarriak diren leiho-funtzioetarako (leiho-funtzioak edo funtzio analitikoak) euskarria gehitu da. Leiho-funtzioek kontsulta-errenda bakoitzerako kalkuluak egiteko aukera ematen dute beste errenkada batzuk erabiliz. Funtzio agregatuek ez bezala, multzokatutako errenkada multzo bat errenkada bakarrean tolesten dutenez, leiho-funtzioak agregatu egiten dira "leiho" baten edukian oinarrituta, emaitza multzoko errenkada bat edo gehiago barne hartzen dituena. Inplementatutako leiho funtzioen artean:
    NTILE, LEAD, LAG, PERCENT_RANK, NTH_VALUE, CUME_DIST, FIRST_VALUE, LAST_VALUE, RANK, DENSE_RANK eta ROW_NUMBER;

  • Ikuspegietarako laguntza esperimentala gehitu da (VIEW);
  • Partizio-sistema hobetu da, datuak ataletan banatzeko gaitasuna balio edo hash sorta batean oinarrituta gehitu da;
  • Pluginak garatzeko esparru bat gehitu da, adibidez, pluginak dagoeneko prestatuta daude IP zerrenda zuri bat erabiltzeko edo auditoretza erregistroa mantentzeko;
  • Laguntza esperimentala eman zaio β€œAZALDU ANALISIA” funtzioari SQL kontsulta baten exekuzio-plana eraikitzeko (SQL Planaren Kudeaketa);
  • next_row_id komandoa gehitu da hurrengo errenkadaren IDa lortzeko;
  • JSON_QUOTE, JSON_ARRAY_APPEND, JSON_MERGE_PRESERVE, BENCHMARK, COALESCE eta NAME_CONST integratutako funtzio berriak gehitu dira.

Iturria: opennet.ru

Gehitu iruzkin berria