четверг, 21 сентября 2017 г.

Aerospike


        В последнее время мне пришлось довольно близко познакомится с внутренностями Aerospike. Большим открытием для меня стал тот факт что  специализированный SSD storage аероспайка не имеет собственного кэша. Так как этот сторадж работает напрямую с блочным устройством, то они также обходят кэш файловой системы.  Это означает что каждый GET запрос к персистентному namespace означает поход на SSD. Это конечно быстрее чем HDD, но все равно во много раз медленнее чем работа с памятью.  Исходя из этого я могу сделать вывод что Aerospike проектировался в первую очередь под write нагрузку либо под смешанную 50% write/50% read нагрузку. В таких случаях кэш как правило бесполезен, поэтому в AS его и нет.
             Но если вам нужен persistent сторадж с преимущественно read нагрузкой очень хорошо себя показал файловый сторадж аероспайка. В этом случае чтение идет с кэша файловой системы, что весьма позитивно сказывается на общей производительности Aerospike.
              Для тех кто хочет понять как работает Aerospike, я рекомендую к прочтению whitepaper Aerospike: Architecture of a Real-Time Operational DBMS