VoltDB - VoltDB
Vývojáři | VoltDB Inc. |
---|---|
Stabilní uvolnění | 10.1 / 30. října 2020 |
Úložiště | ![]() |
Napsáno | Jáva, C ++ |
Operační systém | Linux, Operační Systém Mac |
Plošina | Jáva |
Typ | RDBMS |
Licence | GNU Affero General Public License v3, proprietární licence VoltDB |
webová stránka | voltdb |
VoltDB je databáze v paměti navrhl Michael Stonebraker (kdo dříve navrhl Ingres a PostgreSQL ), Sam Madden a Daniel Abadi. Je to KYSELINA -v souladu RDBMS který používá a nesdílela nic architektury. Zahrnuje jak podniková, tak komunitní vydání. Komunitní vydání je licencováno pod licencí GNU Affero General Public License.
Architektura
VoltDB je a NewSQL relační databáze který podporuje SQL přístup zevnitř předkompilovaný Uložené procedury Java. Jednotkou transakce je uložená procedura napsaná v Javě proložená SQL. Interně jsou data spravována jádrem C ++, aby nedocházelo k problémům s odstraňováním odpadků.[1]
VoltDB se spoléhá na horizontální rozdělení až po jednotlivé hardwarové vlákno v měřítku, k-safety (synchronní replikace ) poskytnout vysoká dostupnost a kombinace kontinuální snímky a protokolování příkazů pro trvanlivost (zotavení po havárii).
VoltDB je založen na H-obchod. K škálování využívá architekturu shared-nothing. Data a zpracování s nimi spojené jsou distribuována napříč jádry CPU v serverech tvořících jeden klastr VoltDB. Rozšířením základu sdíleného ničeho na úroveň jednotlivých jader VoltDB škáluje s rostoucím počtem jádra na procesor na vícejádrových serverech.
Vytvořením uložených procedur jednotkou transakce a jejich provedením v oddílu obsahujícím potřebná data je možné eliminovat zasílání zpráv mezi příkazy SQL. Uložené procedury jsou spouštěny sériově a do dokončení v jediném vlákně bez zamykání nebo blokování, podobně jako u LMAX architektura.[2] Vzhledem k tomu, že data jsou v paměti a jsou lokální pro oddíl, lze uloženou proceduru provést v mikrosekundách. Schéma iniciace uložené procedury VoltDB umožňuje všem uzlům iniciovat uložené procedury a zároveň se vyhnout jediné serializovatelné globální objednávce.[3]
VoltDB je kompatibilní s ACID. Data se zapisují na trvalé úložiště. Trvanlivost je zajištěna průběžnými snímky; asynchronní protokolování příkazů, které vytváří snímky i protokol transakcí mezi snímky; a synchronní protokolování příkazů, které zaznamenává transakce po dokončení transakce a před jejím potvrzením do databáze. Tím je zajištěno, že nedojde k potvrzení žádných transakcí, které nejsou protokolovány, a ke ztrátě transakcí.
Aplikace musí být navrženy tak, aby všechna data změněná jedinou uloženou procedurou byla uložena na stejném oddílu.
Dějiny
VoltDB v5.0 představil nástroj pro monitorování a správu databází, VoltDB Management Center (zkráceně VMC). VMC poskytuje one-stop monitorování a správu konfigurace databáze VoltDB založené na prohlížeči, včetně grafů pro propustnost a latenci klastru a využití CPU a paměti pro aktuální server.
VoltDB verze 5.1, vydaná v březnu 2015, zavádí funkci Database Replication a odstraňuje všechny jednotlivé body selhání. DR poskytuje simultánní, paralelní replikaci více oddílů a binární protokoly o výsledcích transakcí, čímž uloží repliku z nutnosti přehrát transakci.
Viz také
Reference
- ^ „Odhalení mýtů o paměti VoltDB v paměti - DZone Java“. dzone.com. Citováno 2020-11-13.
- ^ „Architektura LMAX“. martinfowler.com. Citováno 2019-04-07.
- ^ „DB Developer Central“. VoltDB. Citováno 2019-04-07.
externí odkazy
- Oficiální webové stránky
- VoltDB na Otevřete rozbočovač
- Curt Monash (25. května 2010). „VoltDB konečně začíná“. DBMS 2. Citováno 2011-07-09.
- „VoltDB oznamuje verzi 5.0“. VoltDB, Inc. 28. ledna 2015. Citováno 2015-03-29.
- „Michael Stonebraker, spoluzakladatel VoltDB a průkopník dat v reálném čase, získal cenu ACM 2014 A.M. Turing Award“. VoltDB, Inc. 26. března 2015. Citováno 2015-03-29.
- „VoltDB usiluje o rychlý rozvoj velkých dat“. ADTmag. 29. ledna 2015. Citováno 2015-03-29.