Tarantool | |
---|---|
Típusú | NoSQL |
Szerző | VK |
Fejlesztő | VK |
Beírva | Xi |
Operációs rendszer | Linux , FreeBSD , macOS |
Első kiadás | 2008 |
legújabb verzió | 2.7.2 (2021. április 21.) |
Engedély | Egyszerűsített BSD |
Weboldal | tarantool.io |
A Tarantool egy rugalmas adatséma memórián belüli számítási platform a nagy terhelésű alkalmazások hatékony létrehozásához. Tartalmazza az adatbázist és az alkalmazáskiszolgálót a Lua -ban .
A hagyományos DBMS-hez képest nagy sebességgel rendelkezik, és ugyanazokkal a tulajdonságokkal rendelkezik: perzisztencia , tranzakciós ACID , mester-szolga, mester-mester replikáció .
Lekérdezés nyelve:
Tárolási technológiák:
Taples (tuples) az adatok tárolására szolgál. Ez egy tömb olyan adatokkal, amelyek nincsenek beírva. A sorokat vagy csapokat szóközökké kombinálják. A Space egy analóg az SQL világából, egy táblázat. A tér a csapok gyűjteménye, a csap pedig a mezők gyűjteménye.
A mezők a következő típusúak lehetnek:
Skalár/Kompozit | MsgPack típus | Lua típusú | Példa |
---|---|---|---|
skalár | nulla | "nulla" | msgpack.NULL |
skalár | logikai érték | logikai érték | igaz |
skalár | húr | húr | ABC |
skalár | egész szám | szám | 12345 |
skalár | dupla pontosságú lebegőpontos | szám | 1,2345 |
összetett | asszociatív tömb | "asztal" füzérbillentyűkkel | {"a": 5, "b": 6} |
összetett | sor | "táblázat" számbillentyűkkel | [1, 2, 3, 4, 5] |
összetett | bájttömb | cdata |
A sorok terekbe (térbe vagy táblázatokba) vannak rendezve. Minden helyhez meg van adva a tárolási technológia (memtx vagy vinyl).
A helyet az elsődleges kulccsal indexelni kell. Korlátlan számú másodlagos kulcs is támogatott.
A kulcs egy vagy több mezőből állhat.
Támogatott indexek:
A MessagePack tárolási formátumként és adatátviteli protokollként használatos .
Az adatbázis támogatja az aszinkron és a szinkron replikációt. A replikáció mester-mester módban is elvégezhető.
A hagyományos ACL modell a hozzáférés elkülönítésére szolgál . Minden objektumnak van egy tulajdonosa korlátlan hozzáféréssel. A tulajdonos hozzáférést biztosíthat az objektumhoz más felhasználóknak vagy szerepköröknek. A szerepkör viszont a felhasználók egy csoportja.
A behatárolt műveletek listája:
Az adatbázis támogatja a Lua nyelven írt tárolt eljárásokat és triggereket .
Globális trigger
Szóközök (táblázatok) triggerei:
Az üzleti logika írásához a Lua nyelvet és annak LuaJIT fordítóját használják .
Az alkalmazásszerver magas szintű API -t tartalmaz az adatbázis, fájlrendszer, hálózat eléréséhez.
A felhasználó dinamikusan adhat hozzá, távolíthat el, módosíthat funkciókat. A kooperatív multitasking a kód egyidejű végrehajtására szolgál .
Az alkalmazásszerver kibővítéséhez Lua - könyvtárak elérhetők a tarantool/rocks tárolóból és forrásokból is lefordítva.
A szabványos tarantool modulok listája:
A tarantool/rocks tárolóból elérhető modulok:
A Mail.ru , egy nagy oroszországi internetes cég 2008-ban indította el a projektet befektetésekkel és programozók keresésével. Egy korábbi MySQL CTO -t vettek fel projektvezetőnek .
A Tarantool magának a Mail.ru portálnak a részévé vált, és mára dinamikus tartalomhoz használják: felhasználói munkamenetekhez, azonnali üzenetekhez és egyebekhez, valamint gyorsítótárként használják a hagyományos relációs adatbázisokhoz, például a MySQL -hez vagy a PostgreSQL -hez . [egy]
2014-ben a Tarantoolt a Badoo és az Odnoklassniki közösségi hálózatok is elfogadták . [2]
2014 júniusában a Coimbrai Politechnikai Intézet és a Coimbrai Egyetem (Portugália) kutatói elvégezték a NoSQL -rendszerek első hivatalos független teljesítménytesztjét , amelybe a Tarantool is beletartozott. A tesztek a szabványos YCSB tesztet használták , és más NoSQL-rendszerek versenyeztek a Tarantool-lal: Cassandra , HBase , Oracle NoSQL ( angol ), Redis , Voldemort ( angol ), Scalaris , Elasticsearch , MongoDB és OrientDB . [3]
2018-ban a Tarantool központi fejlesztőcsapatának vezetője, Konstantin Osipov nyerte el a HighLoad++ Awards díjat . [4] 2019 szeptemberében elhagyta a Mail.ru projekt csapatát, és létrehozta saját fejlesztési ágát. [5]
Adatbázis-kezelő rendszerek (DBMS) | |
---|---|
Kliens-szerver | |
Motorok | |
Fájlszerver |
Adatbázis | |
---|---|
Fogalmak |
|
Objektumok |
|
Kulcsok | |
SQL |
|
Alkatrészek |
Lua | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
VK | ||
---|---|---|
Közösségi hálózatok és hírnökök |
| |
Médiaprojektek és szórakoztatás | ||
Oktatás |
| |
Termékek és szolgáltatás | ||
Eszközök | ||
Ökoszisztéma-szolgáltatások |
| |
Kulcs ember |
| |
Lezárt projektek |