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 .
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):
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:
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]
Databasestyringssystemer (DBMS) | |
---|---|
Klient-server | |
Motorer | |
Filserver |
Database | |
---|---|
Begreber |
|
Objekter | |
Nøgler | |
SQL | |
Komponenter |
Lua | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
VK | ||
---|---|---|
Sociale netværk og budbringere |
| ![]() |
Medieprojekter og underholdning | ||
Uddannelse |
| |
Produkter og service | ||
Enheder | ||
Økosystemtjenester |
| |
Nøglepersoner |
| |
Lukkede projekter |
|