Tarantværktøj

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 25. februar 2021; checks kræver 7 redigeringer .
Tarantværktøj
Type NoSQL
Forfatter VK
Udvikler VK
Skrevet i Xi
Operativ system Linux , FreeBSD , macOS
Første udgave 2008
nyeste version 2.7.2 (21. april 2021)
Licens Forenklet BSD
Internet side tarantool.io

Tarantool er en fleksibel dataskema -in-memory  computerplatform til effektiv oprettelse af højbelastningsapplikationer. Inkluderer database og applikationsserver i Lua .

Den har en høj hastighed sammenlignet med traditionel DBMS, med de samme egenskaber: persistens , transaktions ACID , master-slave, master-master replikering .

Oversigt

Database

Forespørgselssprog:

Opbevaringsteknologier:

Tapler (tupler) bruges til at lagre data. Dette er et array med data, der ikke er indtastet. Tupler eller haner kombineres til rum. Space er en analog fra SQL-verdenen, en tabel. Et mellemrum er en samling af haner, og et tryk er en samling af felter.

Felter kan være en af ​​følgende typer:

Skalar/komposit MsgPack type Lua type Eksempel
skalar nul "nul" msgpack.NULL
skalar boolesk boolesk rigtigt
skalar snor snor ABC
skalar heltal nummer 12345
skalar dobbelt præcision flydepunkt nummer 1,2345
sammensatte associativ array "bord" med strengnøgler {"a": 5, "b": 6}
sammensatte array "tabel" med numeriske taster [1, 2, 3, 4, 5]
sammensatte byte array cdata

Tuples er organiseret i rum (rum eller borde). For hvert rum er opbevaringsteknologien (memtx eller vinyl) angivet.

Mellemrummet skal indekseres af den primære nøgle. Et ubegrænset antal sekundære nøgler understøttes også.

Nøglen kan bestå af et eller flere felter.

Understøttede indekser:

MessagePack bruges som lagringsformat og dataoverførselsprotokol .

Databasen understøtter asynkron og synkron replikering. Replikering kan udføres på en master-master måde.

Den traditionelle ACL- model bruges til at adskille adgang . Hvert objekt har en ejer med ubegrænset adgang. Ejeren kan give adgang til objektet til andre brugere eller roller. En rolle er til gengæld en gruppe af brugere.

Liste over afgrænsede handlinger:

Databasen understøtter lagrede procedurer og udløsere skrevet på Lua-sproget .

Global trigger

Udløsere for mellemrum (tabeller):

Applikationsserver

For at skrive forretningslogik bruges Lua-sproget og dets LuaJIT- kompiler .

Applikationsserveren indeholder en API på højt niveau til adgang til databasen, filsystemet, netværket.

Brugeren kan dynamisk tilføje, fjerne, ændre funktioner. Cooperative multitasking bruges til at udføre kode samtidigt .

For at udvide applikationsserveren er Lua - biblioteker tilgængelige både fra tarantool/rocks-depotet og kompileret fra kilder.

Liste over standard tarantool-moduler:

Moduler tilgængelige fra tarantool/rocks repository:

Historie

Mail.ru , en stor internetvirksomhed i Rusland, startede projektet i 2008 ved at investere og lede efter programmører. En tidligere MySQL CTO blev ansat som projektleder .

Tarantool er blevet en del af selve Mail.ru-portalen og bruges nu til dynamisk indhold: brugersessioner, onlinemeddelelser og mere, og bruges også som et cachinglag til traditionelle relationsdatabaser som MySQL eller PostgreSQL . [en]

I 2014 blev Tarantool også adopteret af de sociale netværk Badoo og Odnoklassniki . [2]

I juni 2014 gennemførte forskere fra Polytechnic Institute of Coimbra og University of Coimbra (Portugal) den første officielle uafhængige præstationstest af NoSQL -systemer , som også omfattede Tarantool. Testene brugte standard YCSB-testen , og andre NoSQL-systemer konkurrerede med Tarantool: Cassandra , HBase , Oracle NoSQL ( engelsk ), Redis , Voldemort ( engelsk ), Scalaris , Elasticsearch , MongoDB og OrientDB . [3]

I 2018 vandt lederen af ​​Tarantools kerneudviklingsteam, Konstantin Osipov, HighLoad++ Awards . [4] I september 2019 forlod han projektteamet på Mail.ru og skabte sin egen udviklingsafdeling. [5]

Noter

  1. NoSQL betyder noget Köln 2013 Dag 2 Spor 3 05 Konstantin Osipov . Hentet 18. maj 2018. Arkiveret fra originalen 12. marts 2017.
  2. Tarantool i Badoo: opbevaring af browserhistorik. Rapport af Anton Povarov på Tarantool Meetup . Hentet 18. maj 2018. Arkiveret fra originalen 19. april 2021.
  3. Arkiveret kopi . Hentet 18. maj 2018. Arkiveret fra originalen 16. maj 2018.
  4. HighLoad++ Awards: en pris, der blev implementeret, implementeret og til sidst indsat . habr.com. Hentet 10. december 2018. Arkiveret fra originalen 9. december 2018.
  5. Chefarkitekten for Tarantool DBMS forlod Mail.ru og annoncerede "holdets sammenbrud" . Cnews.ru. Hentet 1. januar 2020. Arkiveret fra originalen 1. januar 2020.

Links