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;