שחרור ה-DBMS המבוזר TiDB 4.0

זמין שחרור של DBMS מבוזר TiDB 4.0, שפותח בהשפעת הטכנולוגיות של גוגל מַפתֵחַ בְּרָגִים и F1. TiDB שייכת לקטגוריה של מערכות HTAP היברידיות (Hybrid Transactional/Analytical Processing), המסוגלות גם לספק עסקאות בזמן אמת (OLTP) וגם לעבד שאילתות אנליטיות. הפרויקט כתוב בשפת Go ו מופץ על ידי מורשה תחת Apache 2.0.

תכונות של TiDB:

  • תמיכה ב-SQL ואספקת ממשק לקוח התואם לפרוטוקול MySQL, המפשט את ההתאמה של יישומים קיימים שנכתבו עבור MySQL ל-TiDB, וכן מאפשר שימוש בספריות לקוח נפוצות. בנוסף לפרוטוקול MySQL, אתה יכול להשתמש ב-API מבוסס JSON ובמחבר עבור Spark כדי לגשת ל-DBMS.
  • תכונות SQL תומכות באינדקסים, פונקציות מצטברות, GROUP BY, ORDER BY, ביטויי DISTINCT, מיזוגים (LEFT JOIN / RIGHT JOIN / CROSS JOIN), תצוגות, פונקציות חלון ושאילתות משנה. היכולות המסופקות מספיקות כדי לארגן עבודה עם TiDB עבור יישומי אינטרנט כגון PhpMyAdmin, Gogs ו- WordPress;
  • מדרגיות אופקית וסובלנות תקלות: ניתן להגדיל את גודל האחסון וכוח העיבוד על ידי חיבור צמתים חדשים. הנתונים מופצים על פני צמתים עם יתירות, מה שמאפשר את המשך הפעולה אם צמתים בודדים נכשלים. כשלים מטופלים באופן אוטומטי.
  • המערכת מבטיחה עקביות ועבור תוכנת הלקוח היא נראית כמו DBMS אחד גדול, למרות העובדה שלמעשה, נתונים מצמתים רבים נמשכים להשלמת העסקה.
  • Для физического хранения данных на узлах могут применяться разные бэкенды, например, локальные движки хранения GoLevelDB и BoltDB или собственные движки распределённого хранилища TiKV и TiFlash. TiKV хранит данные в разрезе строк в формате ключ/значение и является более оптимальным для задач обработки транзакций (OLTP). TiFlash хранит данные в привязке к столбцам и позволяет добиться более высокой производительности при решении аналитических задач (OLAP).
  • היכולת לשנות באופן אסינכרוני את סכימת האחסון, מה שמאפשר לך להוסיף עמודות ואינדקסים תוך כדי בלי לעצור את העיבוד של הפעולות השוטפות.

במהדורה החדשה:

  • По умолчанию включён распределённый сборщик мусора 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;
  • כלול по умолчанию кэш сопроцессора;
  • Число сопрограмм (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

הוספת תגובה