Jump to content

ТиБД

ТиБД
Разработчик(и) PingCAP Inc.
Первоначальный выпуск 15 октября 2017 г .; 6 лет назад ( 15.10.2017 ) [1]
Стабильная версия
8.2.0 [2]  Отредактируйте это в Викиданных / 11 июля 2024 г .; 22 дня назад ( 11 июля 2024 г. )
Репозиторий
Написано в Go (TiDB), Rust (TiKV)
Доступно в английский, китайский
Тип НьюSQL
Лицензия Апач 2.0
Веб-сайт в .pingcap /тидб /  Edit this on Wikidata

TiDB (/'taɪdiːbi:/, «Ti» означает Titanium) — это база данных NewSQL с открытым исходным кодом , которая поддерживает рабочие нагрузки гибридной транзакционной и аналитической обработки ( HTAP ). [3] Разработанный для совместимости с MySQL , он разрабатывается и поддерживается в основном PingCAP и лицензируется под Apache 2.0. Он также доступен как платный продукт. Первоначальный дизайн TiDB черпал вдохновение из документов Google Spanner и F1. [4] [5] [6]

История выпусков

[ редактировать ]

См. все примечания к выпуску TiDB .

Основные особенности

[ редактировать ]

Горизонтальная масштабируемость

[ редактировать ]

TiDB может расширить как обработку SQL, так и емкость хранилища за счет добавления новых узлов.

Совместимость с MySQL

[ редактировать ]

TiDB действует как сервер MySQL 8.0 для приложений. Пользователь может продолжать использовать все существующие клиентские библиотеки MySQL. [7] Потому что уровень обработки SQL в TiDB создан с нуля, а не является форком MySQL. [8]

Распределенные транзакции с строгой согласованностью

[ редактировать ]

TiDB внутренне разделяет таблицу на небольшие фрагменты на основе диапазонов, которые называются «Регионами». [9] Размер каждого региона по умолчанию составляет примерно 100 МБ, и TiDB использует внутреннюю двухфазную фиксацию , чтобы гарантировать, что регионы поддерживаются в соответствии с транзакциями.

TiDB предназначен для работы в облаке. Уровень хранения TiDB, получивший название TiKV, стал проектом-членом Cloud Native Computing Foundation (CNCF) в августе 2018 года как проект уровня песочницы. [10] и стал проектом инкубационного уровня в мае 2019 года. [11] ТиКВ окончил CNCF в сентябре 2020 года. [12]

HTAP в реальном времени

[ редактировать ]

TiDB может поддерживать рабочие нагрузки как онлайн-обработки транзакций ( OLTP ), так и онлайн-аналитической обработки ( OLAP ). TiDB имеет два механизма хранения данных: TiKV — хранилище строк и TiFlash — хранилище столбцов.

Высокая доступность

[ редактировать ]

TiDB использует алгоритм консенсуса Raft. [13] чтобы гарантировать, что данные доступны и реплицируются в хранилище в группах Raft. В случае сбоя группа Raft автоматически выберет нового лидера для вышедшего из строя участника и выполнит самовосстановление кластера TiDB.

Методы развертывания

[ редактировать ]

Kubernetes с оператором

[ редактировать ]

TiDB можно развернуть в облачной среде с поддержкой Kubernetes с помощью оператора TiDB. [14] Оператор — это метод упаковки, развертывания и управления приложением Kubernetes. Он предназначен для выполнения рабочих нагрузок с отслеживанием состояния и впервые был представлен CoreOS в 2016 году. [15] Оператор ТиБД [16] Первоначально был разработан PingCAP и открыт с открытым исходным кодом в августе 2018 года. [17] TiDB Оператор можно использовать для развертывания TiDB на ноутбуке. [18] Google Cloud Platform , Google Kubernetes Engine [19] и Amazon Web Services 'Elastic Container Service для Kubernetes. [20]

TiDB 4.0 представляет TiUP — инструмент для работы и обслуживания кластера. Он помогает пользователям быстро установить и настроить кластер TiDB с помощью нескольких команд. [21]

ТиБД Анзибль

[ редактировать ]

TiDB можно развернуть с помощью Ansible , используя сборник сценариев TiDB Ansible (не рекомендуется). [22]

Docker можно использовать для развертывания TiDB в контейнерной среде на нескольких узлах и нескольких машинах, а Docker Compose можно использовать для развертывания TiDB с помощью одной команды в целях тестирования. [23]

Инструменты

[ редактировать ]

TiDB имеет ряд инструментов с открытым исходным кодом, созданных вокруг него, чтобы помочь с репликацией и миграцией данных для существующих MySQL и MariaDB пользователей .

Миграция данных TiDB (DM)

[ редактировать ]

Миграция данных TiDB (DM) подходит для репликации данных из уже сегментированных таблиц MySQL или MariaDB в TiDB. [24] Распространенный вариант использования DM — подключение таблиц MySQL или MariaDB к TiDB, рассматривая TiDB почти как подчиненное устройство, а затем напрямую запуская аналитические рабочие нагрузки в этом кластере TiDB почти в реальном времени.

Резервное копирование и восстановление

[ редактировать ]

Backup & Restore (BR) — это распределенный инструмент резервного копирования и восстановления данных кластера TiDB. [25]

Пельмени

[ редактировать ]

Dumpling — это инструмент экспорта данных, который экспортирует данные, хранящиеся в TiDB или MySQL. Он позволяет пользователям создавать логические полные резервные копии или полные дампы из TiDB или MySQL. [26]

ТиДБ Молния

[ редактировать ]

TiDB Lightning — это инструмент, который поддерживает высокоскоростной полный импорт большого дампа MySQL в новый кластер TiDB. Этот инструмент используется для заполнения изначально пустого кластера TiDB большим количеством данных, чтобы ускорить тестирование или миграцию рабочей среды. Повышение скорости импорта достигается за счет анализа операторов SQL на пары ключ-значение, а затем непосредственного создания файлов таблицы сортированных строк (SST) в RocksDB . [27] [28]

TiCDC — это инструмент сбора данных об изменениях , который передает данные из TiDB в другие системы, такие как Apache Kafka .

Бинлог TiDB

[ редактировать ]

TiDB Binlog — это инструмент, используемый для сбора логических изменений, внесенных в кластер TiDB. Он используется для обеспечения инкрементального резервного копирования и репликации либо между двумя кластерами TiDB, либо из кластера TiDB на другую нижестоящую платформу. [29] [30]

См. также

[ редактировать ]
  1. ^ «Примечания к выпуску 1.0 GA» . Гитхаб .
  2. ^ «Выпуск 8.2.0» . 11 июля 2024 г. Проверено 28 июля 2024 г.
  3. ^ Сюй, Кевин (17 октября 2018 г.). «Как TiDB объединяет OLTP и OLAP в распределенной базе данных» . Инфомир .
  4. ^ «F1: Распределенная база данных SQL, которая масштабируется» . 2013.
  5. ^ «Spanner: глобально распределенная база данных Google» . 2012.
  6. ^ Холл, Сьюзен (17 апреля 2017 г.). «TiDB обеспечивает распределенную масштабируемость SQL» . Новый стек .
  7. ^ Токер, Морган (14 ноября 2018 г.). «Знакомьтесь: TiDB: база данных NewSQL с открытым исходным кодом» . Opensource.com .
  8. ^ «Совместимость с MySQL» . ПингКАП .
  9. ^ «ТиКВ Архитектура» . ТиКВ .
  10. ^ Эванс, Кристен (28 августа 2018 г.). «CNCF разместит TiKV в песочнице» . Фонд облачных вычислений .
  11. ^ CNCF (21 мая 2019 г.). «TOC голосует за перемещение TiKV в инкубатор CNCF» . Фонд облачных вычислений . Проверено 19 августа 2020 г.
  12. ^ Авторы ТиКВ (2 сентября 2020 г.). «Празднование выпуска TiKV CNCF» . ТиКВ .
  13. ^ «Алгоритм консенсуса Плота» .
  14. ^ Джексон, Иоав (22 января 2019 г.). «Операторы баз данных переносят рабочие нагрузки с отслеживанием состояния в Kubernetes» . Новый стек .
  15. ^ Филипс, Брэндон (3 ноября 2016 г.). «Знакомство с операторами: внедрение эксплуатационных знаний в программное обеспечение» . КореОС .
  16. ^ «Репозиторий оператора TiDB на GitHub» . Гитхаб .
  17. ^ «Представляем оператор Kubernetes для TiDB» . Инфомир . 16 августа 2018 г.
  18. ^ «Разверните TiDB в Kubernetes на своем ноутбуке» .
  19. ^ «Развертывание TiDB, распределенной базы данных, совместимой с MySQL, в Kubernetes в Google Cloud» .
  20. ^ «Развертывание TiDB, распределенной базы данных, совместимой с MySQL, в Kubernetes через AWS EKS» . Гитхаб .
  21. ^ Лонг, Хэн (19 апреля 2020 г.). «Создайте кластер TiDB всего за одну минуту» . ПинКАП . Проверено 19 августа 2020 г.
  22. ^ «Ansible Playbook для TiDB» . Гитхаб .
  23. ^ «Как развернуть базу данных HTAP за 5 минут с помощью TiDB + TiSpark» .
  24. ^ «Репо DM GitHub» . Гитхаб .
  25. ^ Шен, Тайнин (13 апреля 2020 г.). «Как выполнить резервное копирование и восстановление кластера емкостью 10 ТБ со скоростью более 1 ГБ/с» . ПингКАП .
  26. ^ «Обзор пельменей» . ПингКАП .
  27. ^ Чан, Кенни (30 января 2019 г.). «Представляем TiDB Lightning» . ПингКАП .
  28. ^ «Обзор TiDB Lightning» . ПингКАП .
  29. ^ «Обзор кластера бинарных журналов TiDB» . ПингКАП .
  30. ^ Ван, Сян (29 января 2019 г.). «Эволюция и принципы реализации архитектуры TiDB-Binlog» . ПингКАП .
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: e135553f10bda67bdee9854457a0db09__1722452760
URL1:https://arc.ask3.ru/arc/aa/e1/09/e135553f10bda67bdee9854457a0db09.html
Заголовок, (Title) документа по адресу, URL1:
TiDB - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)