ဖြန့်ဝေထားသော DBMS TiDB 3.0 ဖြန့်ချိမှု

ရနိုင်ပါတယ် ဖြန့်ဝေထားသော DBMS ထုတ်ဝေမှု TiDB3.0Google ၏နည်းပညာများလွှမ်းမိုးမှုအောက်တွင်တီထွင်ခဲ့သည်။ Spanner и F1. TiDB သည် အချိန်နှင့်တစ်ပြေးညီ ငွေပေးငွေယူများ (OLTP) နှင့် ခွဲခြမ်းစိတ်ဖြာမှုဆိုင်ရာ မေးမြန်းမှုများကို လုပ်ဆောင်ခြင်း နှစ်မျိုးလုံးကို ပေးစွမ်းနိုင်သော ပေါင်းစပ်ငွေပေးငွေယူ/ခွဲခြမ်းစိတ်ဖြာမှု စီမံဆောင်ရွက်ခြင်း) စနစ်များ၏ အမျိုးအစားတွင် ပါဝင်ပါသည်။ ပရောဂျက်ကို Go and ဖြင့် ရေးသားထားသည်။ ဖြန့်ဝေသည် Apache 2.0 အောက်တွင် လိုင်စင်ရထားသည်။

TiDB အင်္ဂါရပ်များ-

  • SQL အတွက် ပံ့ပိုးမှုနှင့် MySQL ပရိုတိုကောနှင့် သဟဇာတဖြစ်သော ဖောက်သည်အင်တာဖေ့စကို ပံ့ပိုးပေးခြင်း၊ MySQL အတွက်ရေးထားသော ရှိပြီးသား အပလီကေးရှင်းများကို TiDB သို့ အလွယ်တကူ လိုက်လျောညီထွေဖြစ်အောင် ပြုလုပ်ပေးသည့်အပြင် ဘုံဖောက်သည် စာကြည့်တိုက်များကိုလည်း အသုံးပြုနိုင်သည်။ MySQL ပရိုတိုကောအပြင်၊ သင်သည် DBMS ကိုဝင်ရောက်ရန် JSON-based API နှင့် Spark အတွက်ချိတ်ဆက်ကိရိယာကိုသုံးနိုင်သည်။
  • SQL ၏အင်္ဂါရပ်များ၊ အညွှန်းကိန်းများ၊ စုစည်းလုပ်ဆောင်ချက်များ၊ အုပ်စုလိုက်၊ မှာယူမှု၊ ကွဲပြားသောအသုံးအနှုန်းများ၊ ပေါင်းစည်းခြင်း (LEFT JOIN / RIGHT JOIN / CROSS JOIN)၊ အမြင်များ၊ ဝင်းဒိုးလုပ်ဆောင်ချက်များနှင့် မေးခွန်းခွဲများကို ပံ့ပိုးထားသည်။ ပေးထားသော အခွင့်အလမ်းများသည် PhpMyAdmin ကဲ့သို့သော ဝဘ်အက်ပလီကေးရှင်းများ၏ TiDB နှင့် အလုပ်တွဲလုပ်ရန် လုံလောက်ပါသည်။ မျက်မှန် နှင့် WordPress;
  • စကေးထွက်ခြင်းနှင့် ခံနိုင်ရည်ရှိခြင်း- node အသစ်များကို ပေါင်းထည့်ခြင်းဖြင့် သိုလှောင်မှုနှင့် လုပ်ဆောင်ခြင်းဆိုင်ရာ ပါဝါကို ရိုးရှင်းစွာ ချဲ့နိုင်သည်။ node တစ်ခုချင်းပျက်ကွက်ပါက လုပ်ဆောင်ချက်များကို ဆက်လက်လုပ်ဆောင်နိုင်စေရန်အတွက် ဒေတာများကို node များတစ်လျှောက်တွင် ဖြန့်ဝေပါသည်။ ပျက်ကွက်မှုများကို အလိုအလျောက် ကိုင်တွယ်သည်။
  • စနစ်သည် တစ်သမတ်တည်းဖြစ်ကြောင်း အာမခံထားပြီး node များစွာမှဒေတာများကို ငွေပေးငွေယူပြီးမြောက်ရန် အမှန်တကယ်အသုံးပြုနေသော်လည်း သုံးစွဲသူဆော့ဖ်ဝဲလ်အတွက် 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.

source: opennet.ru

မှတ်ချက် Add