В последнее время мне пришлось довольно близко познакомится с внутренностями 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
Комментариев нет:
Отправить комментарий