Tarantol - Tarantool

Tarantol
Pierwotny autor (autorzy) Grupa Mail.Ru
Pierwsze wydanie 2008
Wersja stabilna
2.7.2 / 21 kwietnia 2021 ( 2021-04-21 )
Magazyn Edytuj to na Wikidata
Napisane w do
System operacyjny Linux , FreeBSD , macOS
Dostępne w język angielski
Rodzaj NoSQL
Licencja Uproszczony BSD
Stronie internetowej www .tarantool .io

Tarantool to platforma obliczeniowa w pamięci z elastycznym schematem danych, która najlepiej nadaje się do tworzenia aplikacji o wysokiej wydajności. Dwie główne części to baza danych w pamięci i serwer aplikacji Lua .

Tarantool utrzymuje dane w pamięci i zapewnia odporność na awarie dzięki zapisywaniu z wyprzedzeniem i robieniu migawek . Zawiera interpreter Lua i interaktywną konsolę, ale akceptuje również połączenia z programów w kilku innych językach.

Historia

Mail.Ru, jedna z największych firm internetowych w Rosji, rozpoczęła projekt w 2008 roku w ramach rozwoju sieci społecznościowej Moy Mir (My World). W 2010 roku na kierownika projektu zatrudniła byłego kierownika technicznego z MySQL . Współtwórcy oprogramowania open source byli aktywni zwłaszcza w obszarze łączników języka zewnętrznego dla C , Perl , PHP , Python , Ruby i node.js

Tarantool stał się częścią szkieletu Mail.Ru, używanego do dynamicznej zawartości, takiej jak sesje użytkowników, niewysłane wiadomości błyskawiczne, kolejki zadań i warstwa pamięci podręcznej dla tradycyjnych relacyjnych baz danych, takich jak MySQL czy PostgreSQL.

Do 2014 roku Tarantool został również przyjęty przez serwisy społecznościowe Badoo i Odnoklassniki (ten ostatni jest powiązany z Mail.Ru od 2010 roku).

Nieruchomości

Wszystkie dane są przechowywane w pamięci (RAM), a trwałość danych jest gwarantowana przez rejestrowanie z wyprzedzeniem i tworzenie migawek. Z tych powodów niektórzy obserwatorzy branżowi porównali Tarantool z Membase .

Replikacja jest asynchroniczna, a przełączanie awaryjne (przejęcie jednego serwera Tarantool przez inny) jest możliwe albo z serwera repliki, albo z serwera „hot standby”.

Nie ma zamków. Tarantool używa coroutines w stylu Lua i asynchronicznych operacji we / wy . W rezultacie aplikacje lub procedury składowane muszą być pisane z myślą o wielozadaniowości opartej na współpracy , a nie o bardziej popularnej wielozadaniowości z wywłaszczaniem.

W przypadku przechowywania bazy danych podstawową jednostką jest krotka . Krotki w zestawach krotek pełnią tę samą rolę, co wiersze w tabelach dla relacyjnych baz danych. Krotki mają dowolną liczbę pól, a pola nie wymagają nazw. Każda krotka w bazie danych ma jeden (unikalny, nie null) klucz podstawowy i jeden lub więcej kluczy pomocniczych, które są włączone do natychmiastowego wyszukiwania za pomocą indeksów. Obsługiwane typy indeksów to B-tree , hash, bitmap i R-tree (przestrzenne).

Pola w krotce są niezależne od typu lub mogą mieć określone typy danych liczbowych lub łańcuchowych. Użytkownicy mogą wstawiać, aktualizować, usuwać lub wybierać, jeśli otrzymali odpowiednie uprawnienia.

W 2017 roku Tarantool wprowadził opcjonalny silnik przechowywania na dysku , który umożliwia tworzenie baz danych większych niż rozmiar pamięci.

W 2019 roku Tarantool wprowadził opcjonalny interfejs SQL , który jest zgodny z większością obowiązkowych funkcji oficjalnego standardu SQL.

Dystrybucja

Tarantool jest częścią oficjalnych dystrybucji niektórych dystrybucji Linuksa, takich jak Debian , Fedora czy Ubuntu . Organizacja Tarantool dostarcza również pliki do pobrania dla innych dystrybucji Linuksa, OS X i FreeBSD. Tarantool może być rozszerzony o moduły instalowane za pomocą LuaRocks i zawiera własny wybór skał przedłużających.

Bibliografia

Linki zewnętrzne