Страницы

2015-01-21

Выпуск СУБД OrientDB 2.0

Представлен релиз системы управления базами данных OrientDB 2.0, которая объединяет в себе возможности документо-ориентированной и графо-ориентированной БД. Код OrientDB написан на языке Java и распространяется под лицензией Apache. Новая ветка отмечена как достигшая уровня стабильности, пригодного для промышленной эксплуатации.

Отличительной чертой OrientDB 2.0 является новая распределённая архитектура, поддерживающая параллельные запросы, асинхронную репликацию и автоматический шардинг данных по узлам кластера. По сравнению с прошлыми выпусками OrientDB в новой ветке отмечается в среднем рост производительности на 40%, для распределённых на несколько серверов конфигураций в тестах наблюдается трёхкратное ускорение работы. Благодаря кэшированию JavaScript-движка в JVM вызов JavaScript-функций теперь осуществляется до 10 раз быстрее. Переписана и заметно ускорена функция поиска кратчайшего пути в графе (shortestPath).

Кроме того, в OrientDB 2.0 задействован новый бинарный протокол, обеспечивающий хранение данных с использованием сжатия, что позволило заметно сократить занимаемое базой место на диске и уменьшить интенсивность ввода/вывода. Для повышения защищённости реализована возможность шифрования каналов связи с использованием SSL. Повышена устойчивость СУБД к повреждениям индексов. В графическом интерфейсе OrientDB Studio переработан интерфейс, представлен новый редактор графов, добавлена панель управления доступом пользователей и ролями. Добавлены ETL-модули для импорта данных из JDBC, CVS и JSON.

В OrientDB даже при работе с документ-ориентированными данными взаимодействие между документами обрабатывается как в графо-ориентированной БД с определением прямых связей между записями. При этом, можно в считанные миллисекунды пройти по цепочке содержимого деревьев и графов, как целиком так и частями. Дополнительно поддерживается интерфейс объектно-ориентированной БД, который работает поверх документо-ориентированного слоя.

OrientDB отличается высокой скоростью работы, на обычном оборудовании позволяя сохранять до 150 000 записей в секунду. При тестировании производительности, один сервер с OrientDB оказался способен заменить собой 125 серверов MySQL. Распределённая сеть серверов способна обеспечить хранение до 9 223 372 036 миллиардов записей (2^63) и 19 807 040 628 566 084 Тб данных. Оперирующий запросами ключ/значение кластер OrientDB может состоять из тысяч узлов, используя для организации единого хранилища алгоритм распределённой хэш-таблицы (DHT). Для непосредственного хранения данных используется собственный алгоритм RB+Tree, сочетающий в себе особенности Red-Black Tree и B+Tree, что позволяет добиться вдвое меньшего потребления памяти при сохранении скорости Red-Black Tree за счёт балансировки операций добавления и обновления данных.

Основные особенности OrientDB:
  • Полная поддержка ACID транзакций;
  • Поддержка подмножества языка SQL для выполнения запросов c использованием конструкции SELECT (OrientDB не является реляционной БД, поэтому в полной мере все возможности SQL не поддерживает);
  • Поддержка хранения данных без описания предварительной схемы, с описанием полной структуры или в смешанном режиме;
  • 100% совместима со стандартом TinkerPop Blueprints для графо-ориентированных БД;
  • Поддержка языка запросов Gremlin;
  • Нативно поддерживает HTTP, RESTful и JSON протоколы без использования сторонних компонентов;
  • Возможность работы как в режиме встраивания в другие приложения, так и в качестве выделенного сервера;
  • Возможность отката внесённых в документ локальных изменений (ODocument.undo);
  • Имеет очень малый размер и не имеет сторонних зависимостей;
  • Поддерживается строгая политика разграничения доступа на основе ролей и полномочий пользователей;
  • Дистрибутив полностью самодостаточен;
  • Поддерживает отказоустойчивые конфигурации и репликацию (архитектура OrientDB изначально рассчитана на мультимастер репликацию);
  • Поддержка запуска скриптов на стороне сервера (Server Side Scripting);
  • Доступна коммерческая поддержка.
source1
source2

Представлена СУБД ArangoDB 2.4

Увидела свет многоцелевая открытая СУБД ArangoDB 2.4, предоставляющая гибкие модели хранения документов, графов и данных в формате ключ-значение. Работа с базой осуществляется через SQL-подобный язык запросов AQL или через специальные расширения на языке JavaScript. Средства для хранения данных соответствуют требованиям ACID (атомарность, согласованность, изолированность, надежность), поддерживают транзакции и обеспечивают как горизонтальную, так и вертикальную масштабируемость. Управление СУБД может производиться через web-интерфейс или консольный клиент ArangoSH. Код ArangoDB распространяется под лицензией Apache 2. Проект написан на языках Си и JavaScript.

Ключевые особенности ArangoDB:
  • Отсутствие необходимости определения схемы хранения данных (Schema-free), данные структурируются в форме документов, в которых метаданные и информация о структуре отделена от пользовательских данных;
  • Возможность использования ArangoDB в качестве сервера для web-приложений на языке JavaScript. Поддержка доступа к базе через REST/Web API;
  • Использование JavaScript как для обращающихся к БД браузерных приложений, так и для обработчиков, выполняемых на стороне СУБД;
  • Многопоточная архитектура, распределяющая нагрузку на все ядра CPU;
  • Гибкая модель хранения данных, в которой могут быть комбинированы пары ключ-значение, документы и параметры, определяющие связи между записями (предоставляются средства для обхода вершин графа);
  • Возможность выбора типа индекса, соответствующего решаемым задачам (например, можно использовать индекс для полнотекстового поиска);
  • Настраиваемая надёжность: приложение само может определять, что для него важнее: более высокая надёжность или более высокая производительность;
  • Эффективное хранилище, в котором в полной мере используются возможности современного оборудования (например, SSD-накопители) и могут применяться большие кэши;
  • Транзакции: возможность запускать запросы сразу для нескольких документов или коллекций с опциональной согласованностью транзакций и изоляцией;
  • Поддержка репликации и шардинга: возможность создания master-slave конфигураций и разнесения наборов данных на разные серверы в зависимости от определённого признака.
В новом выпуске осуществлён переход на новую версию движка V8, что позволило добавить поддержку конструкций ECMAScript 6, таких как итераторы, тип symbol, типизированные массивы, списки (sets) и хэши (maps). В реализации языка AQL увеличена эффективность групповых запросов при использовании выражения COUNT, улучшена обработка индексов при фильтрации запросов, добавлено выражение RETURN для передачи значений из запросов модификации данных. Добавлен новый JavaScript-драйвер arangojs 3.0. Представлен новый фреймворк Foxx-Generator, позволяющий создавать Web API и простые web-приложения поверх ArangoDB. В web-интерфейсе полностью переработана вкладка для управления приложениями, в том числе обеспечена возможность генерации приложений и установки программ из Github и zip-архивов.

source1
source2

2015-01-19

Стабильный релиз прокси-сервера Squid 3.5

После года разработки представлена новая стабильная ветка прокси-сервера Squid 3.5, которая по заявлению разработчиков достигла состояния готовности для промышленного использования. После придания ветке 3.5.x статуса стабильной, в ней отныне будут производиться только исправления уязвимостей и проблем со стабильностью, также допускается внесение небольших оптимизаций. Поддержка прошлой стабильной ветки 3.4.x прекращена, пользователям рекомендуется спланировать переход на ветку 3.5.x.

Основные новшества Squid 3.5:
  • Реализован полноценный релей для протокола FTP, позволяющий манипулировать FTP-трафиком, проверять на вирусы при помощи ICAP/eCAP и применять ACL для каналов связи между FTP-клиентом и FTP-сервером. Кэширование передаваемых через FTP данных пока не реализовано, но будет доступно в будущих выпусках. Команды/ответы FTP транслируются в формат HTTP-запросов/ответов, поэтому к ним применимы те же операции, что и для HTTP.
  • Поддержка именованных сервисов, позволяющих упростить запуск в одной системе нескольких экземпляров Squid, которые не пересекаются между собой. При запуске можно связать сервер с определённым именем, которое задаётся через опцию "-n" (по умолчанию привязывается имя "squid"), и в дальнейшем использовать данное имя для остановки или перезапуска избранного сервера. Для унификации конфигурации в файле squid.conf можно использовать макрос ${service_name}.
  • Возможность отправки в хелпер аутентификации дополнительных деталей, помимо минимально необходимых для HTTP-аутенитфикации данных. Например, можно передавать такие параметры, как подсеть клиента, номер порта, запрошенный домен или любые другие данные, которые могут фигурировать в logformat. На основании дополнительных данных в хелпере может быть осуществлёно переключение между базами аутентификации. Для управления передачей дополнительных данных в директиву auth_param добавлен новый параметр key_extras.
  • Поддержка параллелизма каналов для хелперов, позволяющая ускорить связь между squid и хелперами за счёт параллельного выполнения транзакций вместо последовательной обработки запросов (следующий запрос теперь может быть отправлен до того как выдан ответ по предыдущему запросу, в то время как раньше новый запрос отправлялся только после ответа на предыдущий). Параллельные каналы доступны для хелперов Digest authentication, Store-ID и URL-rewrite. Разделение каналов производится на основании содержимого поля channel-ID.
  • Возвращена поддержка опции collapsed_forwarding, которая была доступна в ветке Squid-2, но не попала в релиз Squid 3.0. Опция позволяет включить оптимизацию проброса трафика при наличии большого числа параллельных запросов к одному URL. Оптимизация производится за счёт объединения нескольких запросов к кэшу, в которых фигурирует один URL, до того как Squid узнает о том, должен ли быть прокэширован ответ.
  • Поддержка eCAP 1.0. Использование новой библиотеки libecap позволяет улучшить процесс согласования версий библиотеки eCAP и загруженного адаптера eCAP, используемого для взаимодействия с антивирусным пакетом.
  • Переработана организация перехвата шифрованных HTTPS-сеансов (ssl_bump), вместо режимов перехвата ("modes") введены в обиход действия ("actions"), которые в том числе можно использоваться в ACL. Режим "server-first", при котором вначале осуществляется соединение с целевым сервером, а потом создаётся защищённое соединение между клиентом и прокси, теперь доступен как действие "bump". Режим "none", при котором создаётся TCP-туннель без дешифровки трафика, теперь доступен как действие "splice". Для обеспечения обратной совместимости добавлено действие "peek-and-splice", при котором решение о типе создаваемого вначале соединения (клиент-прокси или прокси-сервер) принимается на основе SSL hello-сообщений. Добавлены действия "peek" и "stare" для получения клиентского или серверного сертификата с сохранением возможности дальнейшего применения режимов "splice" и "bump" для соединений. Добавлено действие "terminate" для закрытия соединений к клиенту или серверу.
  • В хранилище Rock и в разделяемой памяти обеспечена возможность кэширования больших объектов (более 32Кб).
  • Поддержка расширенного управления принятием решения о выдаче данных из кэша (HIT/MISS). Добавлены новые директивы: "send_hit" для включения отправки прокэшированного контента на основе выбора ACL, в котором могут учитываться параметры запроса или детали ответа; "store_miss" для включения кэшировния MISS-ответов на основе ACL.
  • Обновлена утилита squidclient, в которую помимо протокола HTTP добавлена поддержка отправки запросов по HTTPS ("--https"), добавлена команда "--ping" для периодического повтора отправки сообщений, реализованы уровни отладочного вывода.
  • Начальная поддержка протокола PROXY, позволяющего передавать информацию о соединении (например, оригинальный IP-адрес клиента) по всей цепочке проксирования или туннелирования соединения без необходимости модификации и разбора протокола внутри соединения. В настоящее время протокол PROXY может использоваться в Squid для получения HTTP-трафика от прокси на стороне клиента.
  • Удалена поддержка хранилища COSS, вместо которого следует использовать хранилище Rock. Удалены хелпер dnsserver и DNS helper API, на смену которым пришёл встроенный клиент DNS.
source1
source2

Представлен прокси-сервер MariaDB MaxScale

Разработчики СУБД MariaDB представили первый стабильный выпуск нового продукта MariaDB MaxScale, представляющего собой прокси-сервер, работающий между клиентским приложением и СУБД, и способный решать такие задачи, как обеспечение высокой доступности, балансировка нагрузки, прозрачное масштабирование или сглаживание процесса миграции инфраструктуры на другие СУБД. Поддерживается работа с СУБД MariaDB Enterprise, MariaDB Enterprise Cluster, MariaDB 5.5, MariaDB 10 и Oracle MySQL. Кроме того, через плагины возможна организация работы с такими системами, как PostgreSQL, Microsoft SQL Server и Hadoop. Код проекта написан на языке Си и распространяется под лицензией GPLv2.

MariaDB MaxScale позволяет на основе определения правил задавать достаточно сложные пути перенаправления запросов к СУБД. Правила могут привязываться к отдельным типам SQL-запросов, а также учитывать назначение конкретных серверов. Для приложения взаимодействие с MariaDB MaxScale ничем не отличается от привычного обращения к СУБД, при этом, MaxScale может в прозрачном для приложения виде обеспечивать распределение запросов на серию серверов или организовать оперативное переключение на запасной сервер в случае сбоя первичного.

Благодаря гибкой архитектуре MaxScale позволяет создавать плагины, через которые можно реализовывать новые методы маршрутизации запросов или добавлять поддержку новых протоколов. Все протоколы, методы маршрутизации запросов, способы аутентификации, механизмы мониторинга и механизмы ведения логов реализованы как модули, оформленные в виде разделяемых библиотек. Для обеспечения высокой производительности используются методы асинхронной обработки ввода/вывода и мультиплексирование через epoll.

Из областей использования MariaDB MaxScale выделяется:
  • Улучшение масштабируемости и эксплуатационной гибкости, в том числе благодаря таким возможностям как разделение запросов на запись и чтение на master- и slave-серверы, или возможность перенаправления сложных, ресурсоёмких или связанных с генерацией отчётов запросов на отдельно выделенные серверы.
  • Повышение безопасности за счет применения дополнительных методов фильтрации запросов, а также выявления и предотвращения совершения атак по подстановке SQL-запросов и попыток неавторизированного доступа. На базе MaxScale можно организовать подобие межсетевого экрана для СУБД, не пропускающего запросы, соответствующие заданной маске.
  • Организация постепенного перехода на иные версии или типы СУБД - процесс переработки приложений и переход на новые выпуски СУБД может быть разделён на несколько стадий, с обеспечением трансляции запросов устаревших приложений на стороне прокси-сервера.
  • Обеспечение мониторинга производительности запросов через ведение расширенного лога, отображающего узкие места и длительно выполняющиеся запросы.
  • Возможность организации резервного копирования или синхронизации через дублирование запросов в другую СУБД, например, можно организовать одновременное хранение в InnoDB и NoSQL.
  • Возможность организации шардинга на уровне прокси или перенаправления запросов на основе указанных приложением меток.
  • Создание конфигураций с несколькими активными master-серверами.
  • Организация репликации в условиях использования территориально распределённых узлов;
  • Возможность изменения поддерживаемого клиентом протокола взаимодействия с СУБД для организации обращения к другим внешним СУБД, например, NoSQL-хранилищам, Microsoft SQL Server или к PostgreSQL.
source1
source2

2015-01-15

Релиз платформы XenServer 6.5

После полутора лет разработки компания Citrix представила платформу XenServer 6.5 "Creedence", предназначенную для организации управления инфраструктурой серверов виртуализации на базе гипервизора Xen. XenServer 6.5 пришёл на смену платформе Xen Cloud Platform (XCP), которая потеряла смысл после открытия кода XenServer, и является первым выпуском подготовленным на основе открытой кодовой базы, в рамках открытой модели развития проекта и при участии независимого сообщества. Для загрузки доступен iso-образ, основанный на CentOS и адаптированный для быстрого развертывания хост-системы.

XenServer включает в себя средства для централизованного управления, позволяющие контролировать неограниченное число серверов и виртуальных машин. Поддерживается «горячее» копирование виртуальных машин с одного сервера на другой и совместное использование разделяемых ресурсов при помощи технологии XenMotion. Платформа поддерживает большое число систем хранения информации и отличается наличием простого и понятного интерфейса для установки и администрирования.
Основные новшества XenServer 6.5:
  • Переход на 64-разрядную архитектуру dom0;
  • Обновление ядра Linux до версии 3.10, при этом вместо пакета с ядром из дистрибутива задействовано ванильное ядро из kernel.org с соответствующими патчами;
  • Обновление гипервизора Xen до версии 4.4;
  • Виртуальный коммутатор Open vSwitch обновлён до версии 2.10;
  • Для обработки каждого виртуального сетевого интерфейса задействована отдельная нить с обработчиком;
  • Возвращена поддержка балансировки нагрузки WLB (workload balancing) и DVSC (Distributed Virtual Switch Controller);
  • Поддержка географической привязки ресурсов, например, для ограничения запуска работ в определённых местах из соображений безопасности;
  • Поддержка технологии NVIDIA GRID vGPU для виртуализации GPU и на 50% увеличение плотности запуска 3D-приложений на одном сервере в процессе обеспечения работы виртуальных рабочих столов;
  • Увеличена скорость загрузки большого числа виртуальных окружений;
  • Проведена значительная оптимизация сетевой подситемы, что позволило обеспечить обработку потоков на уровне 10 гигабитных сетевых адаптеров и частично 40-гигабитных адаптеров;
  • Увеличена производительность компонентов системы хранения, осуществлён переход на tapdisk3. Существенно увеличилась совокупная пропускная способность дисков.


source1
source2

2015-01-13

Премьер-министр Великобритании не исключает блокирование сервисов, обеспечивающих стойкое шифрование

В выступлении, приуроченном к трагическим событиям в Париже, Дэвид Кэмерон, премьер-министр Великобритании, представил план усиления слежки за переговорами потенциальных террористов в Сети. Помимо прочего, план подразумевает возможность блокировки доступа к сервисам, предоставляющим надёжные средства шифрования коммуникаций, таким как WhatsApp, Snapchat, Telegram, iMessage, FaceTime и т.п.

Речь ведётся о сервисах с шифрованием данных на стороне клиента (end-to-end), в которых невозможно организовать перехват трафика через оказание давления на владельца сервиса. В случае централизованных механизмов шифрования на стороне сервера, спецслужбы имеют возможность перехвата трафика, получив доступ к закрытым ключам. По мнению Дэвида Кэмерона, создатели сервисов шифрованной передачи данных при предъявлении официальных ордеров должны обеспечить возможность доступа спецслужб к информации, передаваемой по шифрованным каналам связи. Если используемые в сети методы шифрования изначально препятствуют организации подобного контроля, то такие сервисы могут быть заблокированы.

source1
source2

Выпуск почтового сервера Exim 4.85 с поддержкой DANE

Представлен релиз почтового сервера Exim 4.85, в который внесены накопившиеся исправления и добавлены новые экспериментальные возможности. В соответствии с данными, полученными в результате автоматизированного опроса около двух миллионов почтовых серверов, Exim используется на 50.23% (было 44.23%) почтовых серверов, доля Postfix составляет 28.01% (23.36%), Sendmail - 9.39% (11.76%), Microsoft Exchange - 5.63% (12.25%).
Добавленные улучшения:
  • Поддержка верификации серверных сертификатов TLS с использованием DANE (DNS-based Authentication of Named Entities) без привлечения инфраструктуры открытых ключей (PKI, Public Key Infrastructure), т.е. без оценки валидности на основе заверения удостоверяющим центром. Для включения требуется сборка exim с опцией EXPERIMENTAL_DANE. При использовании DANE для подтверждения достоверности сервера применяется метод непосредственной передачи публичного ключа или сертификата сервера через DNS с проверкой подлинности переданных данных при помощи DNSSEC. Основной проблемой PKI является большое разрастание доверительной сети, в которой любой удостоверяющий центр может выписать валидный сертификат для любого домена, что подрывает всю систему при компрометации хотя бы одного удостоверяющего центра. В случае DANE за подтверждение сертификатов отвечает непосредственно владелец доменной зоны, права которого подтверждаются владельцем родительского домена более высокого уровня.
  • Добавлена опция EXPERIMENTAL_CERTNAMES, включающая улучшенный механизм проверки серверных сертификатов, используемых в TLS для сопоставления результатов определения доступных MX. При сборке с EXPERIMENTAL_CERTNAMES опция "tls_verify_cert_hostname" не допускает многокомпонентные совпадения по маске.
  • Опция EXPERIMENTAL_TPDA переименована в EXPERIMENTAL_EVENT ("event_action") с добавлением дополнительных типов обрабатываемых событий. Для привязки к событиям в условных операторах теперь нужно использовать переменную $event_name. Переименование выполнено так как функциональность вышла за рамки обработки только событий на стадии передачи данных.
  • Устранены проблемы со сборкой на BSD-системах. Добавлена поддержка API arc4random.
  • Расширена документация.
  • Решены проблемы с интеграцией со SpamAssassin.
  • Улучшен отладочный вывод.
  • В exigrep добавлена опция "-M" для показа связанных сообщений;
  • Улучшена поддержка LDAP.
  • Добавлен оператор условной сортировки ${sort {list}{condition}{extractor}}.
  • Обновлена реализация поддержки DSN (EXPERIMENTAL_DSN).
  • Реализована возможность указания разделителя для результатов поиска MX/SRV/TLSA. 
source1
source2