Itusilẹ ti DBMS TiDB 3.0 ti o pin

Wa itusilẹ ti DBMS ti o pin TiDB 3.0, idagbasoke labẹ ipa ti awọn imọ-ẹrọ Google Spanner и F1. TiDB jẹ ti ẹya ti arabara HTAP (Hybrid Transactional/Analytical Processing) awọn ọna ṣiṣe, ti o lagbara mejeeji pese awọn iṣowo akoko gidi (OLTP) ati ṣiṣe awọn ibeere itupalẹ. Ise agbese ti kọ ni Go ede ati pin nipasẹ iwe-aṣẹ labẹ Apache 2.0.

Awọn ẹya ti TiDB:

  • Atilẹyin SQL ati ipese wiwo alabara ti o ni ibamu pẹlu ilana MySQL, eyiti o jẹ irọrun isọdi ti awọn ohun elo ti o wa tẹlẹ ti a kọ fun MySQL si TiDB, ati tun gba laaye lilo awọn ile-ikawe alabara ti o wọpọ. Ni afikun si Ilana MySQL, o le lo API-orisun JSON ati asopo fun Spark lati wọle si DBMS.
  • Awọn ẹya SQL ṣe atilẹyin awọn atọka, awọn iṣẹ apapọ, GROUP BY, PERE nipasẹ, Awọn ikosile YATO, dapọ (Isopọ Osi / Ọtun Darapọ mọ / AGBALAGBAJA), awọn iwo, awọn iṣẹ window ati awọn ibeere. Awọn agbara ti a pese ni o to lati ṣeto iṣẹ pẹlu TiDB fun iru awọn ohun elo wẹẹbu bii PhpMyAdmin, Awọn gogo ati wodupiresi;
  • Ilọgun petele ati ifarada ẹbi: iwọn ibi ipamọ ati agbara sisẹ le pọ si nipa sisopọ awọn apa tuntun nikan. Data ti pin kaakiri awọn apa pẹlu apọju, gbigba iṣiṣẹ lati tẹsiwaju ti awọn apa kọọkan ba kuna. Awọn ikuna ni a mu laifọwọyi.
  • Eto naa ṣe iṣeduro aitasera ati fun sọfitiwia alabara o dabi DBMS nla kan, botilẹjẹpe otitọ pe ni otitọ, data lati ọpọlọpọ awọn apa ni ifamọra lati pari idunadura naa.
  • Для физического хранения данных на узлах могут применяться разные бэкенды, например, локальные движки хранения GoLevelDB и BoltDB или собственный движок распределённого хранилища TiKV.
  • Agbara lati asynchronously yi eto ipamọ pada, gbigba ọ laaye lati ṣafikun awọn ọwọn ati awọn atọka lori fo laisi idaduro sisẹ awọn iṣẹ ṣiṣe ti nlọ lọwọ.

akọkọ awọn imotuntun:

  • Проведена работа по увеличению производительности. В тесте Sysbench выпуск 3.0 опережает ветку 2.1 в 1.5 раза при выполнении операций select и update, а в тесте TPC-C в 4.5 раза. Оптимизации затронули различные виды запросов, включая подзапросы «IN», «DO» и «NOT EXISTS», операции слияния таблиц (JOIN), использование индексов и многое другое;
    Itusilẹ ti DBMS TiDB 3.0 ti o pinItusilẹ ti DBMS TiDB 3.0 ti o pin

  • Добавлен новый движок хранения TiFlash, позволяющий добиться более высокой производительности при решении аналитических задач (OLAP), благодаря хранению в привязке к столбцам. TiFlash дополняет собой ранее предлагаемое хранилище TiKV, хранящее данные в разрезе строк в формате ключ/значение и более опримальное для задач обработки транзакций (OLTP). TiFlash работает бок о бок с TiKV и данные продолжают как и раньше реплицироваться в TiKV с использоанием протокола Raft для определении консенсуса, но для каждой группы реплик Raft создаётся дополнительная реплика, которая используется в TiFlash. Подобный поход позволяет добиться лучшего разделения ресурсов между задачами OLTP и OLAP, а также делает данные транзакций мгновенно доступными для аналитических запросов;

    Itusilẹ ti DBMS TiDB 3.0 ti o pin

  • Реализован распределённый сборщик мусора, позволяющий существенно повысить скорость сборки мусора в крупных кластерах и повысить стабильность работы;
  • Добавлена экспериментальная реализация системы разграничения доступа на основе ролей (RBAC). Также обеспечена возможность задания прав доступа для операций ANALYZE, USE, SET GLOBAL и SHOW PROCESSLIST;
  • Добавлена возможность использования выражений SQL для выблрки из лога медленных запросов;
  • Реализован механизм быстрого восстановления удалённых таблиц, позволяющий восстановить случайно удалённые данные;
  • Унифицирован формат записываемых логов;
  • Добавлена поддержка пессимистического режима блокировки, который делает обработку транзакций более близкой к MySQL;
  • Добавлена поддержка оконных функций (window-функции или аналитические функции), совместимых с MySQL 8.0. Оконные функции позволяют для каждой строки запроса выполнить вычисления, используя другие строки. В отличие от агрегатных функций, которые свёртывают сгруппированный набор строк в одну строку, оконные функции производят агрегирование на основе содержимого «окна», включающего одну или более строк из результирующего набора. Среди реализованных оконных функций:
    NTILE, LEAD, LAG, PERCENT_RANK, NTH_VALUE, CUME_DIST, FIRST_VALUE , LAST_VALUE, RANK, DENSE_RANK и ROW_NUMBER;

  • Добавлена экспериментальная поддержка представлений (VIEW);
  • Улучшена система секционирования (партицирования), добавлена возможность распределения данным по секциям на основании диапазона значений или хэшей;
  • Добавлен фреймворк для разработки плагинов, например, уже подготовлены плагины для использования белого списка IP или ведения лога аудита;
  • Обеспечена экспериментальная поддержка функции «EXPLAIN ANALYZE» для построения плана выполнения SQL-запроса (SQL Plan Management);
  • Добавлена команда next_row_id для получения идентификатора следующей строки;
  • Добавлены новые встроенные функции JSON_QUOTE, JSON_ARRAY_APPEND, JSON_MERGE_PRESERVE, BENCHMARK ,COALESCE и NAME_CONST.

orisun: opennet.ru

Fi ọrọìwòye kun