TiDB
Deweloperzy | PingCAP Inc. |
---|---|
Pierwsze wydanie | 15 października 2017 |
Wersja stabilna | |
Magazyn | |
Napisane w | Go (TiDB), Rust (TiKV) |
Dostępne w | angielski, chiński |
Typ | NewSQL |
Licencja | Apache 2.0 |
Strona internetowa |
|
TiDB (/'taɪdiːbi:/, „Ti” oznacza Titanium) to baza danych NewSQL typu open source , która obsługuje obciążenia hybrydowego przetwarzania transakcyjnego i analitycznego ( HTAP ). Jest kompatybilny z MySQL i może zapewnić skalowalność poziomą, silną spójność i wysoką dostępność. Jest rozwijany i wspierany głównie przez PingCAP , Inc. i licencjonowany w ramach Apache 2.0. TiDB czerpał swoją początkową inspirację projektową z dokumentów Google Spanner i F1.
Historia wydania
Zobacz wszystkie informacje o wersji TiDB .
- 7 kwietnia 2022 roku wydano TiDB 6.0 GA .
- 7 kwietnia 2021 r. wydano TiDB 5.0 GA .
- 28 maja 2020 r. wydano TiDB 4.0 GA . Jego kluczowe funkcje obejmują: TiFlash , TiDB Dashboard (eksperymentalne), TiUP , pesymistyczne transakcje , kaskadowe reguły rozmieszczania (eksperymentalne), elastyczne planowanie (eksperymentalne), duże transakcje, nowe funkcje SQL , bez rozróżniania wielkości liter i akcentów `utf8mb4_general_ci` i ` sortowanie utf8_general_ci`, ulepszona szyfrowana komunikacja, Transparent Data Encryption (TDE), Kopia zapasowa i przywracanie , Pamięć podręczna koprocesora (eksperymentalna), Follower Read i TiCDC (eksperymentalne).
- 28 czerwca 2019 roku wydano TiDB 3.0 GA .
- 27 kwietnia 2018 roku wydano TiDB 2.0 GA .
- 16 października 2017 roku wydano TiDB 1.0 GA .
Główne cechy
Skalowalność pozioma
TiDB może rozszerzyć zarówno przetwarzanie SQL, jak i pojemność pamięci masowej, dodając nowe węzły. Dzięki temu skalowanie pojemności infrastruktury jest łatwiejsze i bardziej elastyczne w porównaniu z tradycyjnymi relacyjnymi bazami danych , które skalują się tylko w pionie.
Zgodność z MySQL
TiDB działa tak, jakby był serwerem MySQL 5.7 dla aplikacji. Użytkownik może nadal korzystać ze wszystkich istniejących bibliotek klienta MySQL. Ponieważ warstwa przetwarzania SQL TiDB jest zbudowana od podstaw, a nie rozwidlenia MySQL, jej kompatybilność nie jest w 100% i znane są różnice w zachowaniu między MySQL i TiDB.
Rozproszone transakcje o dużej spójności
TiDB wewnętrznie dzieli tabelę na małe porcje oparte na zakresie, które są określane jako „Regiony”. Każdy region domyślnie ma rozmiar około 100 MB, a TiDB stosuje zatwierdzanie dwufazowe, aby zapewnić utrzymanie regionów w sposób spójny transakcyjnie.
Natywna chmura
TiDB zaprojektowano do pracy w chmurze, aby zapewnić elastyczność wdrażania, udostępniania, operacji i konserwacji. Warstwa pamięci masowej TiDB, zwana TiKV, stała się Cloud Native Computing Foundation (CNCF) w sierpniu 2018 r. jako projekt na poziomie piaskownicy, a w maju 2019 r. stała się projektem hostowanym na poziomie inkubacji. TiKV ukończył CNCF we wrześniu 2020 r. Architektura platformy TiDB umożliwia również niezależne od siebie skalowanie przetwarzania i przechowywania SQL.
HTAP w czasie rzeczywistym
obciążenia związane z przetwarzaniem transakcji online ( OLTP ), jak i przetwarzaniem analitycznym online ( OLAP ). TiDB ma dwa silniki pamięci masowej: TiKV, magazyn wierszy i TiFlash, magazyn kolumn. Dane mogą być replikowane z TiKV do TiFlash w czasie rzeczywistym, aby zapewnić, że TiFlash przetwarza najnowsze dane.
Duża dostępność
TiDB korzysta z algorytmu konsensusu Raft , aby zapewnić wysoką dostępność danych i bezpieczną replikację podczas przechowywania w grupach Raft. W przypadku niepowodzenia grupa Raft automatycznie wybierze nowego lidera dla uszkodzonego członka i samodzielnie naprawi klaster TiDB bez wymaganej ręcznej interwencji. Awarie i operacje samonaprawy są przezroczyste dla aplikacji.
Metody wdrażania
Kubernetes z Operatorem
TiDB można wdrożyć w środowisku chmurowym obsługującym Kubernetes za pomocą TiDB Operator. Operator to metoda pakowania, wdrażania i zarządzania aplikacją Kubernetes. Jest przeznaczony do uruchamiania obciążeń stanowych i został po raz pierwszy wprowadzony przez CoreOS w 2016 r. Operator TiDB został pierwotnie opracowany przez PingCAP i udostępniony jako open source w sierpniu 2018 r. Operator TiDB może być używany do wdrażania TiDB na laptopie, Google Cloud Platform Google Kubernetes Engine i usługa elastycznego kontenera Amazon Web Services dla Kubernetes.
TiUP
TiDB 4.0 wprowadza TiUP , narzędzie do obsługi i konserwacji klastra. Pomaga użytkownikom szybko zainstalować i skonfigurować klaster TiDB za pomocą kilku poleceń.
Ansible TiDB
TiDB można wdrożyć za pomocą rozwiązania Ansible przy użyciu podręcznika TiDB Ansible (niezalecane).
Doker
Docker może służyć do wdrażania TiDB w środowisku kontenerowym na wielu węzłach i wielu komputerach, a Docker Compose może służyć do wdrażania TiDB za pomocą jednego polecenia do celów testowych.
Narzędzia
TiDB ma zbudowaną wokół niego serię narzędzi typu open source, które pomagają w replikacji i migracji danych dla istniejących użytkowników MySQL i MariaDB .
Migracja danych TiDB (DM)
TiDB Data Migration (DM) nadaje się do replikacji danych z już podzielonych tabel MySQL lub MariaDB do TiDB. Typowym przypadkiem użycia DM jest łączenie tabel MySQL lub MariaDB z TiDB, traktowanie TiDB prawie jak niewolnika, a następnie bezpośrednie uruchamianie obciążeń analitycznych w tym klastrze TiDB w czasie zbliżonym do rzeczywistego.
Przywracania kopii zapasowej
Backup & Restore (BR) to rozproszone narzędzie do tworzenia kopii zapasowych i przywracania danych klastra TiDB. Oferuje wysokie prędkości tworzenia kopii zapasowych i przywracania dla klastrów TiDB na dużą skalę.
Kluska
Dumpling to narzędzie do eksportu danych, które eksportuje dane przechowywane w TiDB lub MySQL. Pozwala użytkownikom tworzyć logiczne pełne kopie zapasowe lub pełne zrzuty z TiDB lub MySQL.
Błyskawica TiDB
TiDB Lightning to narzędzie, które obsługuje szybki pełny import dużego zrzutu MySQL do nowego klastra TiDB, zapewniając szybsze importowanie niż wykonywanie każdej instrukcji SQL. To narzędzie służy do szybkiego wypełnienia początkowo pustego klastra TiDB dużą ilością danych, aby przyspieszyć testowanie lub migrację produkcyjną. Poprawę szybkości importu uzyskuje się poprzez analizowanie instrukcji SQL w parach klucz-wartość, a następnie bezpośrednie generowanie plików Sorted String Table (SST) w RocksDB .
Binlog TiDB
TiDB Binlog to narzędzie służące do zbierania logicznych zmian dokonanych w klastrze TiDB. Służy do tworzenia przyrostowych kopii zapasowych i replikacji między dwoma klastrami TiDB lub z klastra TiDB na inną platformę podrzędną.
Pod względem funkcjonalności jest podobny do replikacji pierwotnej i wtórnej MySQL. Główna różnica polega na tym, że ponieważ TiDB jest rozproszoną bazą danych, binlog generowany przez każdą instancję TiDB musi zostać scalony i posortowany zgodnie z czasem zatwierdzenia transakcji, zanim zostanie wykorzystany w dalszym ciągu.
Wydania
TiDB występuje w trzech wersjach: Enterprise, cloud on premise oraz open source na licencji Apache 2.0.