{"id":36120,"date":"2019-10-31T22:09:43","date_gmt":"2019-10-31T19:09:43","guid":{"rendered":"https:\/\/prohoster.info\/blog\/vypusk-raspredelyonnoj-subd-tidb-3-0\/"},"modified":"2019-10-31T22:09:43","modified_gmt":"2019-10-31T19:09:43","slug":"vypusk-raspredelyonnoj-subd-tidb-3-0","status":"publish","type":"post","link":"https:\/\/prohoster.info\/it\/blog\/news\/vypusk-raspredelyonnoj-subd-tidb-3-0","title":{"rendered":"Uscita del DBMS distribuito TiDB 3.0","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><noindex><a rel=\"nofollow\" href=\"https:\/\/pingcap.com\/blog\/tidb-3.0-announcement\/\">\u00c8 disponibile<\/a><\/noindex> rilascio di un DBMS distribuito <noindex><a rel=\"nofollow\" href=\"https:\/\/pingcap.com\/index\">TiDB 3.0<\/a><\/noindex>, sviluppato sotto l'influenza delle tecnologie di Google <noindex><a rel=\"nofollow\" href=\"http:\/\/research.google.com\/archive\/spanner.html\">Spanner<\/a><\/noindex> e <noindex><a rel=\"nofollow\" href=\"http:\/\/research.google.com\/pubs\/pub38125.html\">F1<\/a><\/noindex>. TiDB appartiene alla categoria dei sistemi ibridi HTAP (Hybrid Transactional\/Analytical Processing), in grado di eseguire transazioni in tempo reale (OLTP) e di gestire l'elaborazione di query analitiche. Il progetto \u00e8 scritto in Go e <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/pingcap\/tidb\">\u00e8 distribuito<\/a><\/noindex> sotto licenza Apache 2.0.<\/p>\n<p>Caratteristiche di TiDB:\n<\/p>\n<ul>\n<li class=\"l\"> Supporto per SQL e fornitura di un'interfaccia client compatibile con il protocollo MySQL, che semplifica l'adattamento delle applicazioni esistenti per TiDB scritte per MySQL, permettendo anche di utilizzare le librerie client pi\u00f9 comuni. Oltre al protocollo MySQL, \u00e8 possibile utilizzare un API basata su JSON e un connettore per Spark per accedere al DBMS.\n<\/li>\n<li class=\"l\"> Tra le funzionalit\u00e0 SQL supportate ci sono indici, funzioni aggregate, espressioni GROUP BY, ORDER BY, DISTINCT, unioni (LEFT JOIN \/ RIGHT JOIN \/ CROSS JOIN), viste, funzioni di finestra e sottoquery. Le funzionalit\u00e0 offerte sono sufficienti per gestire applicazioni web come PhpMyAdmin con TiDB, <noindex><a rel=\"nofollow\" href=\"https:\/\/gogs.io\/\">Gogs<\/a><\/noindex> e WordPress;\n<\/li>\n<li class=\"l\"> Possibilit\u00e0 di scalabilit\u00e0 orizzontale e di garantire la tolleranza ai guasti: la capacit\u00e0 di archiviazione e la potenza di calcolo possono essere ampliate semplicemente aggiungendo nuovi nodi. I dati sono distribuiti tra i nodi con ridondanza, permettendo il proseguimento delle operazioni in caso di guasto di nodi singoli. I guasti vengono gestiti automaticamente.\n<\/li>\n<li class=\"l\"> Il sistema garantisce la coerenza e si presenta al software client come un unico grande DBMS, anche se per eseguire la transazione vengono coinvolti dati da molti nodi.\n<\/li>\n<li class=\"l\"> Per la memorizzazione fisica dei dati sui nodi possono essere utilizzati diversi backend, come i motori di archiviazione locali GoLevelDB e BoltDB o il proprio motore di archiviazione distribuito <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/pingcap\/tikv\">TiKV<\/a><\/noindex>.\n<\/li>\n<li class=\"l\"> Possibilit\u00e0 di modifica asincrona dello schema di archiviazione, che consente di aggiungere colonne e indici al volo senza fermare l'elaborazione delle operazioni correnti.\n<\/ul>\n<p>Principali <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/pingcap\/tidb\/releases\/tag\/v3.0.0\">novit\u00e0<\/a><\/noindex>:<\/p>\n<ul>\n<li class=\"l\"> \u00c8 stato effettuato un lavoro per aumentare le prestazioni. Nel test Sysbench versione 3.0 supera il ramo 2.1 di 1,5 volte nell'esecuzione delle operazioni di selezione e aggiornamento, e nel test TPC-C di 4,5 volte. Le ottimizzazioni hanno riguardato diversi tipi di query, inclusi i sottoquery \u00abIN\u00bb, \u00abDO\u00bb e \u00abNOT EXISTS\u00bb, operazioni di join tra tabelle, utilizzo degli indici e molto altro.<br \/>\n<center><noindex><a rel=\"nofollow\" href=\"https:\/\/pingcap.com\/images\/blog\/oltp-point-select-in-sysbench-and-tidb-2.1.png\"><img decoding=\"async\" alt=\"Uscita del DBMS distribuito TiDB 3.0 \" src=\"\/wp-content\/uploads\/2019\/07\/f4c63d50663f95fb877fa111810439f3.png\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><noindex><a rel=\"nofollow\" href=\"https:\/\/pingcap.com\/images\/blog\/tpc-c-results-for-tidb-3.0-and-tidb-2.1.png\"><img decoding=\"async\" alt=\"Uscita del DBMS distribuito TiDB 3.0 \" src=\"\/wp-content\/uploads\/2019\/07\/89768360adce73a07b9248cf286053bd.png\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/center><\/p>\n<li class=\"l\"> \u00c8 stato aggiunto un nuovo motore di archiviazione TiFlash, che permette di ottenere prestazioni superiori nella risoluzione di compiti analitici (OLAP), grazie all'archiviazione basata su colonne. TiFlash integra il precedente sistema di archiviazione TiKV, che memorizza i dati in formato chiave\/valore riga-per-riga ed \u00e8 pi\u00f9 ottimale per le operazioni di elaborazione delle transazioni (OLTP). TiFlash funziona a fianco di TiKV e i dati continuano a essere replicati in TiKV come prima, utilizzando il protocollo Raft per determinare il consenso, ma per ogni gruppo di repliche Raft viene creata una replica aggiuntiva, che viene utilizzata in TiFlash. Questo approccio consente di ottenere una migliore separazione delle risorse tra compiti OLTP e OLAP, rendendo i dati delle transazioni immediatamente disponibili per le query analitiche.\n<p><center><noindex><a rel=\"nofollow\" href=\"https:\/\/pingcap.com\/images\/blog\/tidb-htap-architecture-1.png\"><img decoding=\"async\" alt=\"Uscita del DBMS distribuito TiDB 3.0 \" src=\"\/wp-content\/uploads\/2019\/07\/ba4a4e5e9c9390c7db6fcdb4e88e7e40.png\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/center><\/p>\n<li class=\"l\"> \u00c8 stato implementato un raccoglitore di spazzatura distribuito, che consente di aumentare notevolmente la velocit\u00e0 di raccolta della spazzatura nei grandi cluster e migliorare la stabilit\u00e0 del sistema.\n<li class=\"l\"> \u00c8 stata aggiunta un'implementazione sperimentale di un sistema di controllo degli accessi basato sui ruoli (RBAC). \u00c8 stata anche fornita la possibilit\u00e0 di definire diritti di accesso per le operazioni ANALYZE, USE, SET GLOBAL e SHOW PROCESSLIST.\n<li class=\"l\"> \u00c8 stata aggiunta la possibilit\u00e0 di utilizzare espressioni SQL per l'estrazione dal log delle query lente.\n<li class=\"l\"> \u00c8 stato implementato un meccanismo di ripristino rapido delle tabelle eliminate, che permette di recuperare i dati eliminati accidentalmente.\n<li class=\"l\"> \u00c8 stato unificato il formato dei log registrati.\n<li class=\"l\"> \u00c8 stata aggiunta la supporto per modalit\u00e0 di blocco pessimistiche, che rende l'elaborazione delle transazioni pi\u00f9 simile a quella di MySQL.\n<li class=\"l\"> \u00c8 stata aggiunta la supporto per le funzioni finestra (funzioni finestra o funzioni analitiche), compatibili con MySQL 8.0. Le funzioni finestra consentono di eseguire calcoli per ogni riga della query utilizzando altre righe. A differenza delle funzioni aggregative, che riducono un insieme di righe raggruppate in una sola riga, le funzioni finestra effettuano l'aggregazione sulla base del contenuto della \u00abfinestra\u00bb, che include una o pi\u00f9 righe dall'insieme dei risultati. Tra le funzioni finestra implementate ci sono:<br \/>\nNTILE, LEAD, LAG, PERCENT_RANK, NTH_VALUE, CUME_DIST, FIRST_VALUE, LAST_VALUE, RANK, DENSE_RANK e ROW_NUMBER.<\/p>\n<li class=\"l\"> \u00c8 stato aggiunto il supporto sperimentale per le viste (VIEW).\n<li class=\"l\"> \u00c8 stato migliorato il sistema di partizionamento, aggiungendo la possibilit\u00e0 di distribuire i dati in base a intervalli di valori o hash.\n<li class=\"l\"> Aggiunto un framework per lo sviluppo di plugin, ad esempio, sono gi\u00e0 disponibili plugin per l'uso di un elenco bianco di IP o per la registrazione di un audit;\n<li class=\"l\"> \u00c8 stato fornito il supporto sperimentale per la funzione \u00abEXPLAIN ANALYZE\u00bb per la creazione del piano di esecuzione della query SQL (Gestione del piano SQL);\n<li class=\"l\">  Aggiunta del comando next_row_id per ottenere l'identificativo della prossima riga;\n<li class=\"l\"> Aggiunte nuove funzioni integrate JSON_QUOTE, JSON_ARRAY_APPEND, JSON_MERGE_PRESERVE, BENCHMARK, COALESCE e NAME_CONST.\n<\/ul>\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>Fonte: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=51060\">opennet.ru<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0414\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0440\u0435\u043b\u0438\u0437 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u043e\u0439 \u0421\u0423\u0411\u0414 TiDB 3.0, \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0435\u043c\u043e\u0439 \u043f\u043e\u0434 \u0432\u043f\u0435\u0447\u0430\u0442\u043b\u0435\u043d\u0438\u0435\u043c \u043e\u0442 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0439 Google Spanner \u0438 F1. TiDB \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0441\u044f \u043a \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0438 \u0433\u0438\u0431\u0440\u0438\u0434\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c HTAP (Hybrid Transactional\/Analytical Processing), \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u044b\u0445 \u043a\u0430\u043a \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0442\u044c \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0439 \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u0438 (OLTP), \u0442\u0430\u043a \u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432. \u041f\u0440\u043e\u0435\u043a\u0442 \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Go \u0438 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u0434 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0435\u0439 Apache 2.0. \u041e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438 TiDB: \u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 SQL [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":27011,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-36120","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0414\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0440\u0435\u043b\u0438\u0437 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u043e\u0439 \u0421\u0423\u0411\u0414 TiDB 3.0.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/it\/blog\/news\/vypusk-raspredelyonnoj-subd-tidb-3-0\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"it_IT\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0412\u044b\u043f\u0443\u0441\u043a \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u043e\u0439 \u0421\u0423\u0411\u0414 TiDB 3.0 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0414\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0440\u0435\u043b\u0438\u0437 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u043e\u0439 \u0421\u0423\u0411\u0414 TiDB 3.0.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/it\/blog\/news\/vypusk-raspredelyonnoj-subd-tidb-3-0\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:09:43+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:09:43+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Pubblicazione del database distribuito TiDB 3.0 | ProHoster","description":"Disponibile il rilascio del database distribuito TiDB 3.0.","canonical_url":"https:\/\/prohoster.info\/it\/blog\/news\/vypusk-raspredelyonnoj-subd-tidb-3-0","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"it_IT","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0412\u044b\u043f\u0443\u0441\u043a \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u043e\u0439 \u0421\u0423\u0411\u0414 TiDB 3.0 | ProHoster","og:description":"\u0414\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0440\u0435\u043b\u0438\u0437 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u043e\u0439 \u0421\u0423\u0411\u0414 TiDB 3.0.","og:url":"https:\/\/prohoster.info\/it\/blog\/news\/vypusk-raspredelyonnoj-subd-tidb-3-0","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:09:43+00:00","article:modified_time":"2019-10-31T19:09:43+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"36120","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-22 02:06:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 01:50:23","updated":"2026-01-22 02:06:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/36120","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/comments?post=36120"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/36120\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media\/27011"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=36120"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=36120"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=36120"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}