A TiDB egy nyílt forráskódú NewSQL adatbázis amely támogatja a hibrid tranzakciós és analitikai feldolgozási munkaterheléseket (htap), amely valós idejű tranzakciókat (OLTP) hajthat végre és elemzési kéréseket dolgozhat fel.
Kompatibilis a MySQL-kel és vízszintes méretezhetőséget tud biztosítani, erős konzisztencia és magas rendelkezésre állás. A Google Spanner és az F1 technológiák nyomán fejlesztették ki. A projekt Go-ban íródott, és Apache 2.0 licenc alatt terjeszthető.
A TiDB-ről
TiDB rendelkezik SQL támogatással és a MySQL protokollal kompatibilis kliens felület biztosításával, amely leegyszerűsíti a MySQL-hez írt meglévő alkalmazások TiDB-be történő adaptálását, és lehetővé teszi a közös kliens könyvtárak használatát is. A MySQL protokoll mellett a JSON alapú API-t és a Spark csatlakozót is használhatja a DBMS eléréséhez.
SQL szolgáltatások támogató indexek, összesített függvények, GROUP GROUP kifejezések, ORDER BY, DISTINCT, összekapcsolások, nézetek, ablakfunkciók és alkérdezések. A biztosított lehetőségek elegendőek a TiDB-vel való munka megszervezéséhez olyan webes alkalmazásokban, mint a PhpMyAdmin, a Gogs és a WordPress.
A vízszintes méretezés és hibatűrés lehetősége: A tároló mérete és a számítási teljesítmény egyszerűen új csomópontok összekapcsolásával növelhető. Az adatok redundanciával kerülnek elosztásra a csomópontok között, így egyedi csomópont meghibásodás esetén folytathatja a munkát. Az összeomlásokat automatikusan kezelik.
A rendszer biztosítja a konzisztenciát, és az ügyfélszoftver számára remek DBMS-nek tűnik, annak ellenére, hogy egy tranzakció végrehajtásához több csomópont adatait használják.
Különböző háttérprogramok használhatók a csomópontok fizikai adattárolásáraPéldául a GoLevelDB és BoltDB helyi tároló motorok vagy a saját TiKV elosztott tároló motorjai.
A tárolási séma aszinkron megváltoztatásának lehetősége, amely lehetővé teszi oszlopok és indexek menet közbeni hozzáadását az aktuális műveletek feldolgozásának leállítása nélkül.
A TiDB 3.0 fő új funkciói
Mint már említettük, A TiDB 3.0 elérhető, és ezzel együtt új fejlesztések is érkeznek dolgozni és növelni a termelékenységet.
A Sysbench-tesztben A 3.0 verzió 2.1-szer megelőzi a 1.5-es ágat, amikor kiválasztási és frissítési műveleteket végez és a TPC-C tesztben 4.5-szer. Az optimalizálás különféle típusú lekérdezéseket érintett, beleértve az "IN", a "DO" és a "NOT EXISTS" al lekérdezéseket, a JOIN műveleteket, az indexek használatát és egyebeket.
Ebben az új verzióban a fejlesztők kiemelik egy új TiFlash tároló motor hozzáadását, amely jobb teljesítményt nyújt az elemzési feladatok (OLAP) megoldásában az oszlopalapú tárolásnak köszönhetően.
A TiFlash kiegészíti a korábban javasolt TiKV-tárolást, az adatokat karakterláncok kontextusában kulcs / érték formátumban tárolja, és optimálisabb a tranzakció-feldolgozási (OLTP) feladatok számára.
A TiFlash kéz a kézben dolgozik a TiKV-vel, és az adatok továbbra is a TiKV-vel replikálódnak, mint korábban, a Raft protokoll segítségével a konszenzus meghatározása érdekében, de a Raft replikák minden csoportjához létrejön egy további replika, amelyet a TiFlash-ben használnak.
Ez a megközelítés lehetővé teszi az erőforrások jobb megosztását az OLTP és az OLAP feladatok között, és a tranzakciós adatokat azonnal elérhetővé teszi az analitikai lekérdezésekhez;
Ezenkívül egy elosztott szemétszedőt is megvalósítottak, amely lehetővé teszi a szemétgyűjtés sebességének jelentős növelését nagy csoportokban és a stabilitás növelését.
Az ablakfunkciók támogatása (ablakfunkciók vagy analitikai funkciók) kompatibilis a MySQL 8.0-val. Az ablakban található funkciók lehetővé teszik a lekérdezés minden sorának számítások elvégzését más vonalak használatával.
Az összesített függvényektől eltérően, amelyek egy csoportosított sorkészletet egy sorra bontanak, az ablakfüggvények egy "ablak" tartalma alapján összesülnek, amely egy vagy több sort tartalmaz az eredményhalmazból. A megvalósított ablakfunkciók közül: NTILE, LEAD, LAG, PERCENT_RANK, NTH_VALUE, CUME_DIST, FIRST_VALUE, LAST_VALUE, RANK, DENSE_RANK és ROW_NUMBER.
Ha többet szeretne megtudni erről a kiadásról, ellenőrizheti a módosítások jegyzetét, és letöltéshez megkaphatja a linkeket ugyanebben a linkben.