( denesb | 2018. 02. 01., cs – 08:27 )

A scylladb a cassandra (tovabbiakban C*) egy reimplementacioja C++ ban ennek minden elonyevel es hatranyaval egyutt.

Az inditek a scylladb szuletesere a C* borzalmas gepkihasznalasa (alacsony throughput) es magas kesleltetese (latency) a JVM korlatai miatt. A scylladb maximalisan kihasznlaja a vasat amit ala teszel, szepen skalazodik felfele az izommal, ugyanakkor megtartotta a remek viszintes skalazodasi kepessegeit is amiket a C* genekbol orokolt. Mivel az implementacio mindenre kiterjed: sajat memory allocator, CPU scheduler, IO scheduler, page-cache, TCP stack (opcionalis) a kesleltetest maximalisan kezben tudjuk tartani, igy le tud menni 1ms ala. Sajat mereseink szerint bizonyos korulmenyek kozott 3 scylla node kivalthat akar 100 C* node-ot, megtartva a kluszter SLA-jat.

Hatranyok: nyilvan rosszat nem fogok mondani egy termeken amin dolgozok, de mivel ez nem egy sales eloadas oszinte leszek:
1) Habar ugy reklamozzuk mint drop-in replacement azert meg nem 100% a feature parity, de ezen folyamatosan dolgozunk es az osszes fontos feature-t tamogatjuk. Azt mondanam a feature-parity 90+%.
2) Tovabba mivel mind a vasat, mind az operacios rendszert es konyvtarakat elegge a hataron jaratjuk neha csunyan be tud borulni az egesz. De ez is javuloban van, kuldtunk a patcheket a glibc-hez, a kernelhez es a gcc-hez, a helyzet folyamatosan javul.

A merleg pozitiv, a klienseink nagyon meg vannak elegedve. Ehhez hozzajarul, hogy nagyon jo a support, olyan emberek dolgoznak nallunk akiknek komoly multjuk van kernelfejlesztesben, virtualizacioban, stb, szoval mindent ki tudnak nyomozni es meg tudnak oldani. Nem kell az OS vendorhoz kuldjuk a klienst ha azt gyanitjuk, hogy a hiba a kernelben vagy valamelyik rendszer-konyvtarban van.

Akit erdekelnek tovabbi reszletek, itt egy kis olvasnivalo:
http://www.scylladb.com/2017/10/05/io-access-methods-scylla/
http://www.scylladb.com/2017/09/21/scylla-heat-weighted-load-balancing/
http://www.scylladb.com/2017/09/18/scylla-2-0-workload-conditioning/
http://www.scylladb.com/2017/07/06/scyllas-approach-improve-performance…
http://www.scylladb.com/2016/04/14/io-scheduler-1/
http://www.scylladb.com/2016/04/29/io-scheduler-2/
--
:wq