Hāʻawi ʻo TiDB 4.0 i ka hoʻokuʻu DBMS

Loaʻa hoʻokuʻu ʻia o kahi DBMS puʻupuʻu TiDB 4.0, kūkulu ʻia ma lalo o ka mana o nā ʻenehana Google Pākuʻi и F1. Aia ʻo TiDB i ka ʻāpana o nā ʻōnaehana HTAP hybrid (Hybrid Transactional/Analytical Processing), hiki ke hāʻawi i nā hana manawa maoli (OLTP) a me ka hoʻoponopono ʻana i nā nīnau analytical. Ua kākau ʻia ka papahana ma Go a mahele ʻia e laikini ma lalo o Apache 2.0.

Nā hiʻohiʻona o TiDB:

  • Kākoʻo SQL a me ka hāʻawi ʻana i kahi kikowaena mea kūʻai aku i kūpono me ka protocol MySQL, e hoʻomaʻamaʻa i ka hoʻololi ʻana o nā noi i kākau ʻia no MySQL iā TiDB, a ʻae pū i ka hoʻohana ʻana i nā hale waihona puke maʻamau. Ma kahi o ka protocol MySQL, hiki iā ʻoe ke hoʻohana i kahi API e pili ana i ka JSON a me kahi mea hoʻohui no Spark e komo i ka DBMS.
  • Kākoʻo nā hiʻohiʻona SQL i nā indexes, aggregate functions, GROUP BY, ORDER BY, DISTINCT expressions, merges (LEFT JOIN / RIGHT JOIN / CROSS JOIN), nā hiʻohiʻona, nā hana puka makani a me nā subqueries. Ua lawa nā mea i hāʻawi ʻia e hoʻonohonoho i ka hana me TiDB no nā noi pūnaewele e like me PhpMyAdmin, ʻO Gogs a me WordPress;
  • Hiki ke hoʻonui ʻia ka nui o ka mālama ʻana a me ka mana hana ma ka hoʻopili ʻana i nā nodes hou. Hoʻokaʻawale ʻia ka ʻikepili ma nā nodes me ka redundancy, e ʻae ana i ka hana e hoʻomau inā hāʻule kēlā me kēia node. Hana 'akomi 'ia nā hemahema.
  • Hōʻoia ka ʻōnaehana i ka kūlike a no ka polokalamu mea kūʻai aku ua like ia me hoʻokahi DBMS nui, ʻoiai ʻo ka ʻoiaʻiʻo, ua huki ʻia ka ʻikepili mai nā nodes he nui e hoʻopau i ke kālepa.
  • Для физического хранения данных на узлах могут применяться разные бэкенды, например, локальные движки хранения GoLevelDB и BoltDB или собственные движки распределённого хранилища TiKV и TiFlash. TiKV хранит данные в разрезе строк в формате ключ/значение и является более оптимальным для задач обработки транзакций (OLTP). TiFlash хранит данные в привязке к столбцам и позволяет добиться более высокой производительности при решении аналитических задач (OLAP).
  • ʻO ka hiki ke hoʻololi asynchronously i ka schema mālama, e ʻae iā ʻoe e hoʻohui i nā kolamu a me nā kuhikuhi i ka lele me ka ʻole o ka hoʻōki ʻana i ka hana o nā hana e hoʻomau nei.

I ka hoʻokuʻu hou:

  • По умолчанию включён распределённый сборщик мусора Green GC, позволяющий существенно повысить скорость сборки мусора в крупных кластерах и повысить стабильность работы;
  • Добавлена поддержка больших транзакций, размер которых ограничены практически размером физической памяти. Ограничение размера одной транзакции увеличено со 100 МБ до 10ГБ;
  • Добавлена поддержка команд BACKUP и RESTORE для резервного копирования;
  • Добавлена возможность установки блокировки на таблицы;
  • Добавлен совместимый с MySQL механизм изоляции транзакций на уровне чтения (READ COMMITTED);
  • В команду «ADMIN SHOW DDL JOBS» добавлена поддержка выражений LIKE и WHERE;
  • Добавлен параметр oom-use-tmp-storage, позволяющий использовать временные файлы для кэширования промежуточных результатов в условиях нехватки оперативной памяти;
  • Добавлено ключевое слово Random для присвоения атрибутам случайных значений;
  • В команде LOAD DATA появилась возможность использования шестнадцатеричных и двоичных выражений;
  • Добавлено 15 параметров для управления поведением оптимизатора;
  • Добавлены средства для диагностики производительности SQL-запросов. Добавлен лог медленных запросов, доступный через системные таблицы SLOW_QUERY / CLUSTER_SLOW_QUERY;
  • Добавлена поддержка функций для работы с последовательностями;
  • Добавлена возможность динамического изменения параметров конфигурации, читаемых из PD (Placement Driver, сервер управления кластером). Добавлена возможность использования выражения «SET CONFIG» для изменения настроек узлов PD/TiKV.
  • Добавлена настройка max-server-connections для ограничения максимального числа одновременных соединений к серверу (по умолчанию 4096);
  • Увеличена производительность в ситуациях, когда запрошенные столбцы полностью покрываются индексами;
  • Добавлена оптимизация запросов на основе слияния индексов;
  • Повышена производительность операций с диапазонами значений;
  • Снижена нагрузка на CPU за счёт кэширования результатов обращения к индексам и отсеивания дубликатов;
  • Добавлена поддержка нового формата хранения строк, позволяющего увеличить производительность таблиц с большим числом столбцов;
  • В функции GROUP_CONCAT появилась поддержка выражения «ORDER BY»;
  • Добавлена возможность извлечения данных из лога TiFlash через SQL;
  • В команде «RECOVER TABLE реализована поддержка восстановления обрезанных таблиц;
  • Добавлена системная таблица DDLJobs для запроса деталей о выполнении работ DDL;
  • Добавлена возможность применения команды SHOW CONFIG для показа настроек PD и TiKV;
  • Ua ho'ā по умолчанию кэш сопроцессора;
  • Число сопрограмм (goroutine) в фазе повторных попыток коммита теперь может контролироваться при помощи настройки committer-concurrency;
  • Добавлена возможность отображения регионов раздела таблиц (table partition);
  • В tidb-server добавлена возможность ограничения размера временного хранилища;
  • Добавлена поддержка операций «insert into tbl_name partition(partition_name_list)» и «replace into tbl_name partition(partition_name_list)»;
  • В используемом для секционирования (партицирования) хэше добавлена поддержка фильтрации по признаку «is null»;
  • Для секционированных таблиц добавлена поддержка операций проверки, чистки и восстановления индексов.

Source: opennet.ru

Pākuʻi i ka manaʻo hoʻopuka