ТиБД
Разработчик(и) | PingCAP Inc. |
---|---|
Первоначальный выпуск | 15 октября 2017 г [1] |
Стабильная версия | 8.2.0 [2]
/ 11 июля 2024 г |
Репозиторий | |
Написано в | Go (TiDB), Rust (TiKV) |
Доступно в | английский, китайский |
Тип | НьюSQL |
Лицензия | Апач 2.0 |
Веб-сайт | в |
TiDB (/'taɪdiːbi:/, «Ti» означает Titanium) — это база данных NewSQL с открытым исходным кодом , которая поддерживает рабочие нагрузки гибридной транзакционной и аналитической обработки ( HTAP ). [3] Разработанный для совместимости с MySQL , он разрабатывается и поддерживается в основном PingCAP и лицензируется под Apache 2.0. Он также доступен как платный продукт. Первоначальный дизайн TiDB черпал вдохновение из документов Google Spanner и F1. [4] [5] [6]
История выпусков
[ редактировать ]См. все примечания к выпуску TiDB .
- 24 мая 2024 г. была выпущена TiDB 8.1 GA .
- 1 декабря 2023 г. TiDB 7.5 GA . была выпущена
- 31 мая 2023 г. была выпущена TiDB 7.1 GA .
- 7 апреля 2022 г. была выпущена TiDB 6.0 GA .
- 7 апреля 2021 г. была выпущена TiDB 5.0 GA .
- 28 мая 2020 года была выпущена TiDB 4.0 GA .
- 28 июня 2019 г. была выпущена TiDB 3.0 GA .
- 27 апреля 2018 г. была выпущена TiDB 2.0 GA .
- 16 октября 2017 г. была выпущена TiDB 1.0 GA .
Основные особенности
[ редактировать ]Горизонтальная масштабируемость
[ редактировать ]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.0 GA» . Гитхаб .
- ^ «Выпуск 8.2.0» . 11 июля 2024 г. Проверено 28 июля 2024 г.
- ^ Сюй, Кевин (17 октября 2018 г.). «Как TiDB объединяет OLTP и OLAP в распределенной базе данных» . Инфомир .
- ^ «F1: Распределенная база данных SQL, которая масштабируется» . 2013.
- ^ «Spanner: глобально распределенная база данных Google» . 2012.
- ^ Холл, Сьюзен (17 апреля 2017 г.). «TiDB обеспечивает распределенную масштабируемость SQL» . Новый стек .
- ^ Токер, Морган (14 ноября 2018 г.). «Знакомьтесь: TiDB: база данных NewSQL с открытым исходным кодом» . Opensource.com .
- ^ «Совместимость с MySQL» . ПингКАП .
- ^ «ТиКВ Архитектура» . ТиКВ .
- ^ Эванс, Кристен (28 августа 2018 г.). «CNCF разместит TiKV в песочнице» . Фонд облачных вычислений .
- ^ CNCF (21 мая 2019 г.). «TOC голосует за перемещение TiKV в инкубатор CNCF» . Фонд облачных вычислений . Проверено 19 августа 2020 г.
- ^ Авторы ТиКВ (2 сентября 2020 г.). «Празднование выпуска TiKV CNCF» . ТиКВ .
- ^ «Алгоритм консенсуса Плота» .
- ^ Джексон, Иоав (22 января 2019 г.). «Операторы баз данных переносят рабочие нагрузки с отслеживанием состояния в Kubernetes» . Новый стек .
- ^ Филипс, Брэндон (3 ноября 2016 г.). «Знакомство с операторами: внедрение эксплуатационных знаний в программное обеспечение» . КореОС .
- ^ «Репозиторий оператора TiDB на GitHub» . Гитхаб .
- ^ «Представляем оператор Kubernetes для TiDB» . Инфомир . 16 августа 2018 г.
- ^ «Разверните TiDB в Kubernetes на своем ноутбуке» .
- ^ «Развертывание TiDB, распределенной базы данных, совместимой с MySQL, в Kubernetes в Google Cloud» .
- ^ «Развертывание TiDB, распределенной базы данных, совместимой с MySQL, в Kubernetes через AWS EKS» . Гитхаб .
- ^ Лонг, Хэн (19 апреля 2020 г.). «Создайте кластер TiDB всего за одну минуту» . ПинКАП . Проверено 19 августа 2020 г.
- ^ «Ansible Playbook для TiDB» . Гитхаб .
- ^ «Как развернуть базу данных HTAP за 5 минут с помощью TiDB + TiSpark» .
- ^ «Репо DM GitHub» . Гитхаб .
- ^ Шен, Тайнин (13 апреля 2020 г.). «Как выполнить резервное копирование и восстановление кластера емкостью 10 ТБ со скоростью более 1 ГБ/с» . ПингКАП .
- ^ «Обзор пельменей» . ПингКАП .
- ^ Чан, Кенни (30 января 2019 г.). «Представляем TiDB Lightning» . ПингКАП .
- ^ «Обзор TiDB Lightning» . ПингКАП .
- ^ «Обзор кластера бинарных журналов TiDB» . ПингКАП .
- ^ Ван, Сян (29 января 2019 г.). «Эволюция и принципы реализации архитектуры TiDB-Binlog» . ПингКАП .
- Бесплатное программное обеспечение с открытым исходным кодом
- Базы данных
- НьюSQL
- Программное обеспечение, использующее лицензию Apache
- Бесплатное программное обеспечение, написанное на Go.
- Программное обеспечение для работы с базами данных для Linux
- Распределенные вычисления
- Распределенные хранилища данных