განაწილებული DBMS TiDB 3.0 გამოშვება

ხელმისაწვდომია განაწილებული DBMS გამოშვება TiDB3.0Google-ის ტექნოლოგიების გავლენით განვითარებული სპიკერი и F1. TiDB მიეკუთვნება ჰიბრიდული HTAP (ჰიბრიდული ტრანზაქციების/ანალიტიკური დამუშავების) სისტემების კატეგორიას, რომელსაც შეუძლია როგორც რეალურ დროში ტრანზაქციების (OLTP) უზრუნველყოფა, ასევე ანალიტიკური მოთხოვნების დამუშავება. პროექტი დაწერილია Go და ვრცელდება ლიცენზირებულია Apache 2.0-ით.

TiDB მახასიათებლები:

  • SQL-ის მხარდაჭერა და კლიენტის ინტერფეისის უზრუნველყოფა, რომელიც თავსებადია MySQL პროტოკოლთან, რაც აადვილებს MySQL-სთვის დაწერილი აპლიკაციების TiDB-ზე ადაპტაციას და ასევე საშუალებას გაძლევთ გამოიყენოთ საერთო კლიენტის ბიბლიოთეკები. MySQL პროტოკოლის გარდა, შეგიძლიათ გამოიყენოთ JSON-ზე დაფუძნებული API და Spark-ის კონექტორი DBMS-ზე წვდომისთვის.
  • SQL-ის მახასიათებლებიდან მხარდაჭერილია ინდექსები, აგრეგატული ფუნქციები, GROUP BY, ORDER BY, DISTINCT გამონათქვამები, შერწყმა (LEFT JOIN / RIGHT JOIN / CROSS JOIN), ხედები, ფანჯრის ფუნქციები და ქვემოთხოვნები. მოწოდებული შესაძლებლობები საკმარისია ისეთი ვებ აპლიკაციების TiDB-თან მუშაობის ორგანიზებისთვის, როგორიცაა PhpMyAdmin, გოგები და WordPress;
  • მასშტაბირება და ელასტიურობა: შენახვისა და დამუშავების სიმძლავრე შეიძლება გაიზარდოს უბრალოდ ახალი კვანძების დამატებით. მონაცემები ნაწილდება ჭარბი კვანძებით, რათა ოპერაციები გაგრძელდეს, თუ ცალკეული კვანძები ვერ ხერხდება. წარუმატებლობების დამუშავება ხდება ავტომატურად.
  • სისტემა უზრუნველყოფს თანმიმდევრულობას და ჰგავს ერთ დიდ DBMS-ს კლიენტის პროგრამულ უზრუნველყოფას, მიუხედავად იმისა, რომ მრავალი კვანძის მონაცემები რეალურად გამოიყენება ტრანზაქციის დასასრულებლად.
  • Для физического хранения данных на узлах могут применяться разные бэкенды, например, локальные движки хранения GoLevelDB и BoltDB или собственный движок распределённого хранилища TiKV.
  • შენახვის სქემის ასინქრონულად შეცვლის შესაძლებლობა, რომელიც საშუალებას გაძლევთ დაამატოთ სვეტები და ინდექსები ფრენის დროს, მიმდინარე ოპერაციების დამუშავების შეჩერების გარეშე.

მთავარი ინოვაციები:

  • Проведена работа по увеличению производительности. В тесте Sysbench выпуск 3.0 опережает ветку 2.1 в 1.5 раза при выполнении операций select и update, а в тесте TPC-C в 4.5 раза. Оптимизации затронули различные виды запросов, включая подзапросы «IN», «DO» и «NOT EXISTS», операции слияния таблиц (JOIN), использование индексов и многое другое;
    განაწილებული DBMS TiDB 3.0 გამოშვებაგანაწილებული DBMS TiDB 3.0 გამოშვება

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

    განაწილებული DBMS TiDB 3.0 გამოშვება

  • Реализован распределённый сборщик мусора, позволяющий существенно повысить скорость сборки мусора в крупных кластерах и повысить стабильность работы;
  • Добавлена экспериментальная реализация системы разграничения доступа на основе ролей (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.

წყარო: opennet.ru

ახალი კომენტარის დამატება