Состоялось очередное большое обновление Apache Cassandra — отказоустойчивой распределенной системы управления базами данных. Данный релиз можно скорее назвать эволюционным или оптимизационным, поскольку среди основных нововведений значатся оптимизации использования оперативной памяти и жесткого диска.
Итак, главные заявленные отличия от предыдущих релизов:
- Компрессия расположенных на жестком диске файлов с данными. В отличие от традиционных СУБД, Cassandra не модифицирует свои файлы данных при обновлении и хранит данные по колонкам, благодаря чему компрессия работает особенно эффективно;
- Улучшенная производительность в плане продвинутого управления использованием памяти, в частности кэширование данных в области, не контролируемой сборщиком мусора JVM. Улучшено использование оперативной памяти и добавлена автоматическая самонастройка, направленная на уменьшение пауз при работе сборщика мусора;
- Улучшенное использование жесткого диска: более быстрое удаление устаревших файлов с данными, запись логов фиксированным объемом данных;
- Опциональная функция многоуровневого слияния файлов с данными, увеличивающая производительность при большом количестве update/delete операций;
- Улучшена функция отложенного сохранения данных при недоступности всех отвечающих за ключ реплик (hinted hanoff). Благодаря этому удалось отказаться о постоянного использования функции восстановления целостности при чтении (read repair), повысив общую скорость чтения данных;
- Многочисленные улучшения в плане производительности, обновления языка запросов CQL (Cassandra Query Language), и многое другое.
Отдельно стали доступны драйвера JDBC и Python DB-API2: http://acunu.com/blogs/eric-evans/cassandra-drivers-released/
При использовании Cassandra 0.8 теперь можно легко обновить ее до версии 1.0, обновляя отдельные узлы без полной перезаливки кластера.
>>> Подробности