9 сентября 2015 года стала доступна новая версия высокопроизводительной системы распределенной обработки данных.
Apache Spark — это высокопроизводительная система для распределенной обработки данных, основанная на модели вычислений в памяти.
Spark предназначен для запуска в окружении Hadoop-кластера через использование механизма YARN или в одиночном режиме. В качестве уровня хранения данных могут быть использованы HDFS, HBase, Cassandra, Hive или любой Hadoop input format. Поддерживается работа в пакетном режиме (подобно map-reduce), а также режимы потоковой обработки, интерактивных запросов и машинного обучения. Spark предоставляет программные интерфейсы для работы с языками Python, Java и Scala.
Является проектом верхнего уровня Apache Software Foundation (ссылка).
7 апреля стала доступна новая версия отказоустойчивого распределенного хранилища данных Ceph.
Ceph — это масштабируемое петабайтное хранилище с открытым исходным кодом, в основе которого лежит принцип объединения дисковых пространств серверов в единое объектное хранилище, что позволяет реализовать гибкую многократную псевдослучайную избыточность данных. Ceph предоставляет на выбор три различных интерфейса для работы с хранилищем:
RADOS Gateway (RGW) — S3- и Swift-совместимый RESTful интерфейс;
RADOS block device (RBD) — блочное устройство с поддержкой тонкого роста и снэпшотами;
Для горячих голов: CephFS пока ещё не рекомендуется использовать для хранения информации, которую будет жалко потерять. :)
Основные изменения:
увеличено быстродействие RADOS: в OSD (Object Storage Daemon) и в библиотеку librados внесён ряд улучшений, направленных на улучшение работы на flash-накопителях, а также на улучшение параллелизма и масштабируемости системы на быстрых узлах;
добавлено шаридирование бакетов RGW: индексы бакетов теперь поддерживают разнесение на разные узлы, что увеличивает быстродействие для больших бакетов;
добавлены карты объектов RBD: создан механизм, отслеживающий аллокации частей образов блочных устройств, что увеличивает производительность операций клонирования, удаления и др.
много улучшений в механизме создания снэпшотов CephFS;
много улучшений направленных на повышение скорости и стабильности в утилитах восстановления и диагностики CephFS;
улучшения в CRUSH*): добавлен новый алгоритм (straw2), который позволяет снизить количество миграций при переконфигурировании кластера.
*) CRUSH - Controlled Replication Under Scalable Hashing; алгоритм определяющий распределение данных по узлам и, соответственно, их извлечение.
1-го апреля 2015 года стала доступна новая версия нереляционной СУБД Redis. Основной отличительной особенностью данного релиза является то, что это первая стабильная версия Redis со встроенной поддержкой кластеризации*).
Redis - это нереляционная СУБД типа ключ-значение (key-value) с открытым исходным кодом.
Поддерживает следующие структуры данных:
строка (string);
хэш (hash);
список (list);
множество (set);
сортированное множество (sorted set);
битовый массив (bitmap);
HyperLogLog (структура данных для реализации алгоритма рандомизированного вероятностного подсчета количества уникальных значений).
Для всех этих типов поддерживаются атомарные операции (например вставка в список или пересечение множеств). База данных Redis хранится в основной памяти, а для обеспечения долговременного хранения используется синхронизация на диск.
Основные изменения:
встроенная поддержка кластеризации;
улучшен аппроксимационный алгоритм вытеснения ключей для LRU**)-кешей;
добавлена команда CLIENT PAUSE: остановка обработки всех запросов клиента на определенное время;
переработан механизм обеспечения долговременного хранения даных AOF***) с целью уменьшения задержек при сбросе буфера на медленных дисках;
25 марта вышла новая версия графовой базы данных Neo4J.
В этом релизе представлены улучшения, которые, как утверждается, позволят существенно повысить производительность операций чтения и записи данных, а также улучшают возможности по отладке и тестированию.
Ключевые моменты изменений версии 2.2:
новый планировщик запросов для языка Cypher основанный на анализе затрат (cost-based optimizer);
поддержка профилирования и отладочного вывода для запросов Cypher;
новый механизм кеширования операций чтения, основанный на размещении страниц кеша в памяти (in-memory page cache);
новый механизм быстрой буферизации записи и оптимизация сброса транзакций на диск.
На начало 2015 года графовая база данных Neo4J занимает 23 место по популярности (по версии сайта DB-ENGINES).
30.11.2011 в свет вышла очередная версия фреймворка для построения компиляторов и виртуальных машин.
Википедия
Low Level Virtual Machine (LLVM) — универсальная система анализа, трансформации и оптимизации программ, реализующая виртуальную машину с RISC-подобными инструкциями. Может использоваться как оптимизирующий компилятор этого байткода в машинный код для различных архитектур либо для его интерпретации и JIT-компиляции (для некоторых платформ).
Проект LLVM официально включает в себя следующие основные проекты:
LLVMCore - библиотеки для обеспечения платформонезависимой оптимизации и кодогенерации под различные виды процессоров и платформ;
CLang - компилятор языков C/C++/Objective-C для LLVM;
dragonegg - объединяет в себе парсер GCC-4.5 и оптимизацию и кодогенерацию на основе библиотек LLVM;
LLDB - дебаггер, использует Clang и LLVM;
libc++ - реализация стандартной библиотеки C++ (включает неполную поддержку стандарта C++11);
vmkit - реализация языков Java и .Net для LLVM;
SAFECode - память-безопасный компилятор С/С++.
Помимо упомянутых официальных проектов существует большое количество проектов, которые используют LLVM для компиляции программ для таких языков как Ruby, Python, Haskell, Java, D, PHP, Lua и т.д.
Основные изменения:
llvm-gcc больше не поддерживается, рекомендуется использовать clang или dragonegg;
LLVM IR (intermediate representation - платформонезависимый ассемблер для LLVM) включает в себя полную поддержку атомарных операций с памятью (load, store, compare, exchange, read/modify/write, etc.);
полностью переделан механизм обработки исключений в LLVM IR;
полностью переделана система типов LLVM IR;
MIPS backend доведён до production quality;
...
Полный и подробный перечень изменений можно посмотреть в подробностях.
В настоящее время для скачивания доступен только исходный код (через svn). В ближайшее время на сайте в списке закачек ожидается появление бинарных сборок и тарболла.
Вышел новый релиз CGAL ( Computational Geometry Algorithms Library, библиотека алгоритмов вычислительной геометрии ).
Основные изменения:
трёхмерная периодическая триангуляция; теперь можно использовать CGAL для расчёта периодических альфа переходов;
генерация трёхмерной сетки; в генератор сетки была добавлена фаза оптимизации, что позволило добавить генерацию трёхмерной сетки с использованием правильного тетраэдра (well shaped tetrahedra);
алгебраическое ядро (новый пакет); содержит алгоритмы для нахождения, оценки и сравнения реальных корней одномерных (univariate) и двумерных (bivariate) систем полиномов.
CGAL распространяется под лицензиями LGPL и QPL (Qt Public License).