Teams sometimes need lower latency, lower costs (especially as they scale) or the ability to run their applications somewhere other than AWS. Lako je razumjeti zašto se toliko timova okrenulo na Amazon DynamoDB od njegovog uvođenja 2012. godine. Jednostavno je započeti, pogotovo ako je vaša organizacija već utemeljena u AWS ekosustavu. To je relativno brzo i skalabilno, s niskom krivuljom učenja. Međutim, s vremenom se pojavljuju nedostatci, osobito s razinom radnog opterećenja i razvojem poslovnih zahtjeva. Timovi ponekad trebaju nižu latenciju, niže troškove (osobito kada se razvijaju) ili mogućnost pokretanja svojih aplikacija negdje drugdje osim u AWS-u. Razmotrimo izazove koji su potaknuli tri tima da napuste DynamoDB. Multi-cloud fleksibilnost i ušteda troškova Yieldmo je online platforma za oglašavanje koja povezuje izdavače i oglašivače u realnom vremenu pomoću aukcijskog sustava optimiziranog za ML. Njihovo poslovanje ovisi o brzoj isporuci oglasa (u roku od 200-300 milisekundi) i učinkovitosti, što zahtijeva ultra brze, visoke pretraživanja baze podataka na skali. Isprva su izgradili platformu na DynamoDB-u. Međutim, dok je DynamoDB bio pouzdan, značajna ograničenja su se pojavila kako su rasla. Kao što je objasnio Todd Coleman, tehnički suosnivač i glavni arhitekt, njihove su glavne brige bile dvostruke: povećanje troškova i geografska ograničenja. Dok su istraživali alternative DynamoDB-u, nadali su se da će pronaći opciju koja će zadržati brzinu, skalabilnost i pouzdanost, a istovremeno smanjiti troškove i osigurati neovisnost dobavljača oblaka. Yieldmo je najprije razmislio o ostanku s DynamoDB-om i dodavanju sloja caching-a. međutim, caching nije mogao riješiti problem geografske latencije. Također su istražili Aerospike, koji je ponudio brzinu i potporu u oblaku. međutim, Aerospikeovo indeksiranje u memoriji zahtijevalo bi zabranjivo velik i skup skup skupova za rukovanje Yieldmom velikim brojem malih objekata podataka. Tada su otkrili ScyllaDB. i ScyllaDB-ov DynamoDB-kompatibilni API (Alternator) bio je promjena igre. Todd je objasnio: "ScyllaDB podržava razmještanje u oblaku, zahtijeva upravljiv broj poslužitelja i nudi konkurentne troškove. Najbolje od svega, njegov API je kompatibilan s DynamoDB-om, što znači da možemo migrirati s minimalnim promjenama koda. Proces migracije bio je pažljivo planiran, koristeći svoju postojeću Kafku arhitekturu reda poruka kako bi osigurali cjelovitost podataka. proveli su dva testiranja dokaza o konceptu (POC): prvo s jednom tablicom od 28 milijardi objekata, a zatim u svih pet AWS regija. Rezultati su bili impresivni. Todd je podijelio: "Naši troškovi baze podataka su se smanjili za polovicu, čak i uz DynamoDB rezerviranu cijenu kapaciteta."I pored uštede troškova, Yieldmo je stekao fleksibilnost za potencijalno razmještanje na različitim pružateljima usluga u oblaku. Todd je zaključio: "Jedna od naših početnih zabrinutosti bila je odstupanje od dokazane pouzdanosti DynamoDB-a. međutim, ScyllaDB je bio izvrstan partner. Njihov tim pruža praćenje naših klupova, upozorava nas na potencijalne probleme i savjetuje nas kada je potrebno skaliranje u smislu kontinuiranog održavanja. Iskustvo je bilo usporedivo s DynamoDB-om, ali s većom neovisnošću i značajnim uštedama troškova." Sjećanje na Yieldmo Migracija na GCP s boljom učinkovitosti i nižim troškovima Digital Turbine, glavni igrač u tehnologiji mobilnog oglašavanja s godišnjim prihodom od 500 milijuna dolara, suočavao se s sve većim izazovima s implementacijom DynamoDB-a. Dok je njegova glavna motivacija za migraciju bila standardizacija na Google Cloud Platform nakon akvizicija, postojeće rješenje DynamoDB izazvalo je zabrinutost u pogledu performansi i troškova. "To može biti malo skupo kako ste skali, da budem iskren", objasnio je Joseph Shorter, potpredsjednik za arhitekturu platformi u Digital Turbine. "Našli smo neke probleme s performansi. radili smo ton čitanja - 90% svih interakcija s DynamoDB-om su bili čitanja operacija. Glavna zabrinutost, prema Shorteru, bila je "Kako možemo migrirati bez radikalnog refaktoriranja naše platforme, zadržavajući barem istu učinkovitost i vrijednost - i izbjegavajući situaciju nesreće i spaljivanja? Nakon evaluacije nekoliko opcija, Digital Turbine je prešao na ScyllaDB i postigao neposredna poboljšanja. "Razlika u troškovima od 20% - to je veliki broj, bez obzira o čemu govorite", napomenuo je Shorter. Osim uštede troškova, pronašli su se "jedva iskorištavajući ScyllaDB klastere", sugerirajući prostor za još veći rast bez proporcionalnog povećanja troškova. Slušajte digitalnu turbinu Visoka brzina pisanja s niskom latencijom i nižim troškovima Tim za stanje korisnika i prilagodbe za jednu od najvećih svjetskih usluga streaming medija koristio je DynamoDB već nekoliko godina. Dok su preuređivali dva postojeća slučaja korištenja, pitali su se je li došlo vrijeme za promjenu baze podataka. Pauza / nastavak: Ako korisnik gleda emisiju i zaustavlja je, može preuzeti gdje je prestao - na bilo kojem uređaju, s bilo koje lokacije. Stanje gledanja: Koristeći te iste podatke, utvrdite je li korisnik gledao emisiju. Evo jednostavnog arhitektonskog dijagrama: Svakih 30 sekundi, klijent šalje otkucaje srca s ažuriranim položajem glave predstava, a zatim šalje te događaje u bazu podataka. Edge Pipeline učitava događaje u istoj regiji kao i korisnik, dok Authority (Auth) Pipeline kombinira događaje za svih pet regija koje tvrtka služi. Dva glavna tehnička zahtjeva za potporu ovoj arhitekturi bila su: Kako bi se osiguralo odlično korisničko iskustvo, sustav je morao ostati vrlo dostupan, s niskim zakašnjenjem i sposobnošću razmještanja na temelju prometa. Kako bi izbjegli opsežno postavljanje infrastrukture ili DBA rad, potrebna je jednostavna integracija sa svojim AWS uslugama. Nakon što su te kutije provjerene, tim se nadao i smanjenju ukupnih troškova. "Naša postojeća infrastruktura imala je podatke raspršene po različitim klasterima DynamoDB-a i Elasticache-a, pa smo stvarno željeli nešto jednostavno što bi ih moglo kombinirati u mnogo niži sustav troškova", objasnio je njihov inženjer. Konkretno, trebali su bazu podataka s: Multiregionalna podrška, jer je usluga bila popularna u pet glavnih geografskih regija. Updatumi nisu imali strog sporazum o razini usluge (SLA), ali sustav je trebao obavljati uvjetne ažuriranja na temelju vremenskih oznaka događaja. Sposobnost rukovanja preko 78K čitanja po sekundi s latentnošću P99 od 10 do 20 milisekundi. slučaj korištenja uključivao je samo jednostavne točke upita; stvari kao što su indeksi, particioniranje i složeni obrasci upita nisu bili glavna briga. Oko 10TB podataka s prostorom za rast. Prema njihovom backend inženjeru, "DynamoDB bi mogao savršeno poduprijeti naše tehničke zahtjeve. ali s obzirom na našu veličinu podataka i visoku (tešku) prodajnu snagu, nastavak s DynamoDB-om bio bi poput guranja novca u vatru." Na temelju njihovih zahtjeva za performanse pisanja i troškove, odlučili su istražiti ScyllaDB. Kako bi dokazali koncept, uspostavili su ScyllaDB Cloud test cluster sa šest AWS i4i 4xlarge čvorova i pretovarili kluster s 3 milijarde zapisa. Radili su kombinirana opterećenja od 170K pisanja po sekundi i 78K čitanja po sekundi. Ove niske latencije, u kombinaciji s značajnim uštedama troškova (više od 50%), uvjerile su ih da napuste DynamoDB. ScyllaDB-ov dizajn usmjeren na performanse (građen na okviru Seastar, koristeći C++, budući da je NUMA svjestan, nudeći vozače koji nisu svjesni itd.) pomaže timu da smanji vrijeme i troškove održavanja. Strategija povećanja kompresije pomaže im da značajno smanje pojačanje pisanja. Fleksibilna razina dosljednosti i čimbenici replikacije pomažu im da podržavaju odvojene cijevi Auth i Edge. Na primjer, Auth koristi dosljednost kvoruma, dok Edge koristi razinu dosljednosti "1" zbog dupliranja podataka i visoke prodajne snage. Njihov backend inženjer zaključio je: "Odabir baze podataka je težak. morate uzeti u obzir ne samo značajke, već i troškove. "U našem slučaju, zbog visokih zahtjeva za prodorom i latentnošću, DynamoDB serverless nije bio odličan izbor. Također, nemojte podcjenjivati ulogu hardvera. Saznajte više Je li vaš tim sljedeći? Ako vaš tim razmatra , za istraživanje. prijavite se za da bismo razgovarali više o vašem slučaju korištenja, SLA-ima, tehničkim zahtjevima i onome što se nadate optimizirati. obavijestit ćemo vas je li ScyllaDB dobro prilagođen i, ako je tako, što bi migracija mogla uključivati u smislu promjena aplikacija, modeliranja podataka, infrastrukture i tako dalje. Prebacivanje s DynamoDB-a ScyllaDB može biti opcija Tehničko savjetovanje Bonus: Evo brzog pogleda na to kako se ScyllaDB uspoređuje s DynamoDB-om: Napisano od : u Guilherme da Silva Nogueira i Felipe Cardeneti Mendes . Napisano od Guilherme da Silva Nogueira Felipe Cardeneti Mendes