Издание на разпределената СУБД TiDB 4.0

Достъпен издание на разпределена СУБД TiDB 4.0, разработвана под впечатление от технологиите на Google Spanner и F1. TiDB принадлежи към категорията на хибридните системи HTAP (Хибридна Транзакционна/Аналитична Обработка), способни както да осигуряват изпълнение на транзакции в реално време (OLTP), така и да извършват обработка на аналитични запитвания. Проектът е написан на езика Go и се разпространява се разпространява под лицензия Apache 2.0.

Характеристики на TiDB:

  • Поддържа SQL и предлага клиентски интерфейс, съвместим с протокола на MySQL, което улеснява адаптацията на съществуващи приложения за TiDB, написани за MySQL, и позволява използването на разпространените клиентски библиотеки. Освен протокола MySQL, за достъп до СУБД може да се използва API на основата на JSON и конектор за Spark.
  • От възможностите на SQL се поддържат индекси, агрегатни функции, изрази GROUP BY, ORDER BY, DISTINCT, обединения (LEFT JOIN / RIGHT JOIN / CROSS JOIN), изгледи, прозоречни функции и подзапитвания. Предоставените възможности са достатъчни за организиране на работа с TiDB на такива уеб-приложения, като PhpMyAdmin, Gogs и WordPress;
  • Възможност за хоризонтално мащабиране и осигуряване на устойчивост на повреди: размерът на хранилището и изчислителната мощност могат да се увеличават просто чрез свързване на нови възли. Данните се разпределят по възлите с излишък, позволяващ продължаване на работата при повреда на отделни възли. Повредите се обработват автоматично.
  • Системата гарантира последователност и за клиентския софтуер изглежда като една голяма СУБД, независимо от факта, че за извършване на транзакции се привлекат данни от множество възли.
  • За физическото съхранение на данни на възлите могат да се използват различни бекенди, например, локални хранилища GoLevelDB и BoltDB или собствени механизми за разпределено хранилище TiKV и TiFlash. TiKV съхранява данните в редове в формат ключ/стойност и е по-оптимален за задачи с обработка на транзакции (OLTP). TiFlash съхранява данните по колони и позволява постигане на по-висока производителност при аналитични задачи (OLAP).
  • Възможност за асинхронна промяна на схемата на съхранение, позволяваща на летяща добавяне на колони и индекси без спиране на обработката на текущите операции.

В новото издание:

  • По подразбиране е активиран разпределен сборник на боклук Green GC, който значително повишава скоростта на събиране на боклук в големи клъстери и подобрява стабилността на работата;
  • Добавена е поддръжка за големи транзакции, размерът на които е практически ограничен от физическата памет. Ограничението за размера на една транзакция е увеличено от 100 MB на 10 GB;
  • Добавена е поддръжка за команди 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;
  • Включен по подразбиране кеш на съпроцесора;
  • Числото на сопроцесите (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»;
  • За партиционираните таблици е добавена поддръжка за операции по проверка, почистване и възстановяване на индекси.

Източник: opennet.ru

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster