Pagpagawas sa gipang-apod-apod nga DBMS TiDB 3.0

Magamit pagpagawas sa usa ka gipang-apod-apod nga DBMS TiDB 3.0, naugmad ubos sa impluwensya sa mga teknolohiya sa Google Spanner и F1. Ang TiDB nahisakop sa kategorya sa hybrid nga HTAP (Hybrid Transactional/Analytical Processing) nga mga sistema, nga makahimo sa paghatag ug real-time nga mga transaksyon (OLTP) ug pagproseso sa analytical nga mga pangutana. Ang proyekto gisulat sa Go ug giapod-apod sa lisensyado ubos sa Apache 2.0.

Mga bahin sa TiDB:

  • Ang suporta sa SQL ug probisyon sa usa ka interface sa kliyente nga nahiuyon sa protocol sa MySQL, nga gipasimple ang pagpahiangay sa mga naglungtad nga aplikasyon nga gisulat alang sa MySQL ngadto sa TiDB, ug gitugotan usab ang paggamit sa mga sagad nga librarya sa kliyente. Dugang pa sa MySQL protocol, mahimo nimong gamiton ang JSON-based API ug connector para sa Spark aron ma-access ang DBMS.
  • Ang SQL adunay mga suporta nga indeks, aggregate functions, GROUP BY, ORDER BY, DISTINCT expressions, merges (LEFT JOIN / RIGHT JOIN / CROSS JOIN), view, window functions ug subqueries. Ang gihatag nga mga kapabilidad igo na aron maorganisar ang trabaho kauban ang TiDB alang sa mga aplikasyon sa web sama sa PhpMyAdmin, Mga salaming ug WordPress;
  • Horizontal scalability ug fault tolerance: ang gidak-on sa pagtipig ug gahum sa pagproseso mahimong madugangan pinaagi lamang sa pagkonektar sa bag-ong mga node. Ang datos giapod-apod sa mga node nga adunay redundancy, nga nagtugot sa operasyon nga magpadayon kung ang indibidwal nga mga node mapakyas. Awtomatikong gidumala ang mga kapakyasan.
  • Gigarantiyahan sa sistema ang pagkamakanunayon ug alang sa software sa kliyente kini sama sa usa ka dako nga DBMS, bisan pa sa kamatuoran nga sa tinuud, ang mga datos gikan sa daghang mga node nadani aron makompleto ang transaksyon.
  • Sa pisikal nga pagtipig sa datos sa mga node, lain-laing mga backend ang mahimong gamiton, pananglitan, ang mga lokal nga storage engine nga GoLevelDB ug BoltDB o ang atong kaugalingong gipang-apod-apod nga storage engine. TiKV.
  • Ang abilidad sa asynchronously nga pagbag-o sa storage schema, nga nagtugot kanimo sa pagdugang sa mga kolum ug mga indeks sa langaw nga walay paghunong sa pagproseso sa nagpadayon nga mga operasyon.

nag-unang mga inobasyon:

  • Ang trabaho gihimo aron madugangan ang pagka-produktibo. Sa pagsulay sa Sysbench, ang pagpagawas sa 3.0 mao ang 2.1 ka beses nga mas paspas kaysa sa 1.5 nga sanga kung gihimo ang pagpili ug pag-update nga mga operasyon, ug sa pagsulay sa TPC-C sa 4.5 ka beses. Ang mga pag-optimize nakaapekto sa lain-laing klase sa mga pangutana, lakip ang IN, DO ug NOT EXISTS subqueries, table merging (JOIN) operations, ang paggamit sa index ug daghan pa;
    Pagpagawas sa gipang-apod-apod nga DBMS TiDB 3.0Pagpagawas sa gipang-apod-apod nga DBMS TiDB 3.0

  • Gidugang ang usa ka bag-ong TiFlash storage engine nga nagtugot sa mas taas nga performance sa pagsulbad sa analytical problems (OLAP) salamat sa columnar storage. Gidugangan sa TiFlash ang kaniadto nga gitanyag nga pagtipig sa TiKV, nga nagtipig sa row-wise nga datos sa usa ka yawe / kantidad nga format ug labi ka maayo alang sa mga buluhaton sa pagproseso sa transaksyon (OLTP). Ang TiFlash nagtrabaho kauban ang TiKV ug ang data nagpadayon nga gisundog sa TiKV sama sa una nga gigamit ang Raft protocol aron mahibal-an ang consensus, apan alang sa matag grupo sa Raft replicas usa ka dugang nga replika ang gihimo nga gigamit sa TiFlash. Kini nga pamaagi nagtugot alang sa mas maayo nga pagpaambit sa kapanguhaan tali sa OLTP ug OLAP nga mga buluhaton, ug naghimo usab sa datos sa transaksyon nga magamit dayon alang sa analytical nga mga pangutana;

    Pagpagawas sa gipang-apod-apod nga DBMS TiDB 3.0

  • Gipatuman ang usa ka distributed garbage collector, nga makapausbaw pag-ayo sa katulin sa pagkolekta sa basura sa dagkong mga pungpong ug makapauswag sa kalig-on;
  • Usa ka eksperimento nga pagpatuman sa Role-Based Access Control (RBAC) gidugang. Posible usab nga magtakda og mga katungod sa pag-access para sa mga operasyon sa ANALYZE, USE, SET GLOBAL ug SHOW PROCESSLIST;
  • Gidugang ang abilidad sa paggamit sa mga ekspresyon sa SQL aron makuha ang hinay nga mga pangutana gikan sa log;
  • Ang usa ka mekanismo alang sa dali nga pagpasig-uli sa mga natangtang nga mga lamesa gipatuman, nga nagtugot kanimo sa pagpasig-uli sa aksidenteng natangtang nga datos;
  • Ang pormat sa narekord nga mga troso nahiusa;
  • Gidugang nga suporta alang sa pessimistic locking mode, nga naghimo sa pagproseso sa transaksyon nga mas susama sa MySQL;
  • Gidugang nga suporta alang sa mga function sa bintana (mga function sa bintana o analytical function) nga nahiuyon sa MySQL 8.0. Ang mga function sa bintana nagtugot kanimo sa paghimo sa mga kalkulasyon alang sa matag query row gamit ang ubang mga row. Dili sama sa mga aggregate functions, nga nag-collapse sa usa ka grouped set of row ngadto sa usa ka row, ang window functions aggregate base sa sulod sa "window," nga naglakip sa usa o daghan pa nga row gikan sa resulta set. Lakip sa gipatuman nga mga function sa bintana:
    NTILE, LEAD, LAG, PERCENT_RANK, NTH_VALUE, CUME_DIST, FIRST_VALUE, LAST_VALUE, RANK, DENSE_RANK ug ROW_NUMBER;

  • Gidugang nga eksperimento nga suporta alang sa mga pagtan-aw (VIEW);
  • Ang sistema sa pagbahin gipauswag, ang katakus sa pag-apod-apod sa datos sa mga seksyon base sa lainlaing mga kantidad o hash gidugang;
  • Usa ka balangkas alang sa pagpalambo sa mga plugin ang gidugang, pananglitan, ang mga plugins giandam na alang sa paggamit sa usa ka IP whitelist o pagmintinar sa usa ka audit log;
  • Gihatag ang eksperimento nga suporta alang sa function nga "EXPLAIN ANALYZE" alang sa pagtukod sa usa ka plano sa pagpatuman alang sa usa ka pangutana sa SQL (SQL Plan Management);
  • Gidugang sunod_row_id nga sugo aron makuha ang ID sa sunod nga laray;
  • Gidugang ang bag-ong built-in nga function JSON_QUOTE, JSON_ARRAY_APPEND, JSON_MERGE_PRESERVE, BENCHMARK, COALESCE ug NAME_CONST.

Source: opennet.ru

Idugang sa usa ka comment