Facebook Announces Apollo, a New NoSQL Database for On-line Low Latency Storage

Facebook har tillkännagivit Apollo, en ny NoSQL-databas designad för låg latens online-lagring, särskilt för flash- och in-memory-system. Apollo är ett hierarkiskt lagringssystem skrivet i C++11, baserat på Apache Thrift 2 RPC-ramverket, och använder ett konsensusprotokoll baserat på Raft. Databasen hanterar modifieringar av datastrukturer som kartor, köer och träd, och använder RocksDB som primär lagring, med planer på att stödja MySQL. Systemet inkluderar ett klient-API med atomiska läs- och skrivoperationer samt feltoleranta tillståndsmaskiner (FTSMS) för system- och användarkod. Facebook överväger att använda Apollo för att ersätta vissa Memcached-användningsfall, för tillförlitlig meddelandeköning till iOS, Android och operatörer, samt för snabbare analys.