Архив за 09 августа 2014

image
8 августа 2014 года вышла новая версия HP Vertica 7.1. Команда Майкла Стоунбрейкера продолжает утверждать, что работа с большими данными сродни БАМу и продолжает новым версиям выдавать названия с строительной тематикой. Итак, Бульдозером (6 версия) по таблицам данные разровняли, сверху неструктурированными данными во Flex зону приложили (версия 7.0), пришла пора большого Экскаватора повернуть реки вспять. Встречаем версию Dragline 7.1! В этой статье я опишу, что же изменилось в новой версии.

Расширения функциональности проекций

Напомню для тех, кто в курсе и расскажу для тех, кто не знает: проекцией в Vertica называется материализация данных таблицы. Таблица в Vertica это описание структуры таблицы (столбцов), constraints и партиций. А непосредственно данные хранятся в проекциях, которые создаются на таблицы. Проекции чем-то похожи на индексы, они хранят данные по всем или не всем столбцам таблицы. Может быть более одной проекции на таблицу, проекции могут хранить отсегментированные и отсортированные данные по разным правилам. Данные во всех проекциях автоматически обновляются при обновлении записей таблицы. Фактически проекции содержат данные таблицы полностью всех колонок или частично определенных колонок. Жертвуется дисковое место серверов кластера, но значительно ускоряются выборки для разных групп запросов.

Выражения в проекциях

До новой версии в проекциях можно был указать исключительно только колонки таблицы. Это накладывало определенные ограничения на использование проекций. Например, если в запросах часто в фильтрации использовалось выражение по колонкам таблицы, поиск по этому фильтру не был максимально эффективным за счет того, что в проекции не было возможности указать сортировать хранимые данные по выражению. Сортировка же по столбцам выражения вряд ли помогла повысить производительность. Это могло вылиться в достаточно серьезную проблему. В качестве решения потребовалось бы добавить в таблицу новую колонку, в которую можно сохранять результат вычисления. Так же потребовалось изменить алгоритм загрузки в эту таблицу данных первоисточников, чтобы во время загрузки заполнять вычисляемый столбец. Так же пришлось бы перегружать всю таблицу, чтобы заполнить добавленное поле. Если в таблице десятки и сотни миллиардов записей и в нее идет постоянная загрузка, такое решение физически было бы невыполнимо.

В новой версии для проекций введена возможность указать как столбцы, так и выражения:

CREATE PROJECTION sales_proj (sale_id, sale_count,  sale_price, sale_value) AS
  SELECT sale_id, sale_count, sale_price, sale_count * sale_price
  FROM sales 
  ORDER BY sale_count * sale_price
  SEGMENTED BY HASH(sale_id) ALL NODES KSAFE 1;

Следующий запрос:

SELECT *, sale_count * sale_price AS value
FROM sales
WHERE value > 1000000
ORDER BY value;

при выполнении использует созданную проекцию и фактически моментально отдаст результат, используя сортировку выражения.

На такие проекции накладываются следующие ограничения:

  • Нельзя использовать функции, которые могут изменить результат (например функцию TO_CHAR, так как она вернет разный результат в зависимости от выставленной кодировки клиента)
  • Нельзя использовать служебные мета функции
  • Нельзя обновлять записи таблицы оператором MERGE (UPDATE и DELETE разрешены)

Проекции такого типа можно создать и перестраивать на таблицу в любой момент времени, без остановки работы с ней пользователей и загрузки данных. Таким образом, проблема включения вычисляемого столбца в сортировку для повышения производительности запросов более не актуальна.
Читать полностью »

2 августа, прямо во время звонка родителям, «Скайп» выбросил меня и отказался принимать пароль со словами «Skype больше не поддерживает работу своего программного обеспечения в твоей системе». На самом деле, конечно, дело не в версии системы, а в версии самого «Скайпа»: у меня стояла 4.2 (под «Виндоус»). Вариант обновления до более поздних версий я даже не рассматривал. Погоревав с неделю, я всё-таки начал искать способы решения проблемы и, к большому своему удивлению, нашёл.

Итак, процедура запуска «старой» версии «Скайпа» такова (повторюсь, рецепт для «Виндоус»).
Читать полностью »

image

В предыдущей статье был рассмотрен процесс создания простого GUI пакета для pfSense. Пакет содержал одно единственное поле с элементом управления типа checkbox, описанное в разделе fields XML файла пакета.

Перед продолжением необходимо дать некоторые пояснения по структуре раздела fields. В этом разделе содержится описание полей формы текущей страницы GUI. Каждое поле описывается в узле field и содержит элементы:

  • fielddescr — название поля, выводится в левой части формы перед элементом управления;
  • fieldname — имя поля, под которым оно будет доступно в системе при обработке введенных данных;
  • description — комментарий, описывающий данное поле, выводится под элементом управления;
  • type — тип элемента управления, используемого в данном поле.

Читать полностью »

Атаки шейпинга в сетях low latency или почему Tor не спасает от спецслужб

Тайминг-атаки являются известным слабым местом сети Tor и неоднократно обсуждались, в том числе на Хабре, где можно найти порядка 10 статей, так или иначе затрагивающих эту тему. Зачем нужна еще одна? Существует достаточно распространенное заблуждение, что подобные атаки всегда требуют статистического анализа и достаточно сложны в реализации. Ранее опубликованные статьи относятся именно к такому классу атак. Мы рассмотрим вполне реалистичный сценарий, в котором достаточно единственного запроса для деанонимизации пользователя сети.

Поскольку вопрос возможности деанонимизации пользователей Tor в очередной раз активно обсуждается в рунете, я публикую «печатную» версию фрагмента своей презентации с PHDays 2014. Приведенная ниже атака не специфична для Tor и может быть использована против любых low latency средств сокрытия источника трафика – VPN, цепочки прокси и даже их комбинации.
Читать полностью »

Как известно, если не рассказывать свои идеи, новых не появится. Я замечал, что идея может крутиться у меня в голове больше года, до тех пор пока я ее не расскажу кому-нибудь или начну воплощать.

Предложение моё не замысловато: если у вас накопились идеи, которые вы точно никогда не будете воплощатьрасскажите их (можно в комментариях). Возможно кого-то ваши мысли натолкнут на собственные идеи или кто-то загорится воплощать ваши.
Идеи в массы

Начну с себя:

Нет именам файлов — ориентироваться в файловом менеджере по двум параметрам: приложению в котором создавали и по времени создания файла. Потому что часто ход мыслей у рядового пользователя такой: «Позавчера создавал это файл в ворде, где он лежит?» Сейчас так, наверное, с фото — никто не помнит названия файла, а все ориентируются по дате: «Прошлой весной фотались, в начале мая».
Читать полностью »

Используете test.php на своем сайте и Google Chrome?

Про test.php уже была интересная статься хабре. Но в этом небольшом топике я расскажу об одной особенности Google Chrome, которая может подпортить жизнь владельцам test.php.

Работая с очередным веб-приложением я наткнулся на странный баг: открываешь в Google Chrome скрипт http://example.com/test.php, а он выполняется несколько раз. Причина оказалась в стандартных настройках Google Chrome, а точнее во включенной опции «Предсказывать сетевые действия для ускорения загрузки страниц».
Читать полностью »

Привет, меня зовут Наталья, я работаю в Яндексе разработчиком в группе извлечения фактов. Весной мы рассказали о том, что такое Томита-парсер и для чего он используется в Яндексе. А уже этой осенью исходники парсера будут выложены в открытый доступ.

В предыдущем посте мы пообещали рассказать, как пользоваться парсером и о синтаксисе его внутреннего языка. Именно этому и посвящен мой сегодняшний рассказ.

Как использовать Томита парсер в своих проектах. Практический курс

Прочитав этот пост, вы узнаете, как составляются словари и грамматики для Томиты, а также, как извлекать с их помощью факты из текстов на естественном языке. Та же информация доступна в формате небольшого видеокурса.
Читать полностью »

Разработчики IE объявили о том, что в начале 2016 г. будет закрыта поддержка небезопасных версий браузера, которые все еще могут использоваться на Windows 7 и Windows 8/8.1 при отсутствии там обновлений. Таким образом, компания в очередной раз подталкивает пользователей к использованию новейшей версии Internet Explorer 11 на Windows 7-8-8.1, которая содержит значительное количество возможностей безопасности (Расширенный защищенный режим, 64-битные вкладки, Anti-UAF, HEASLR-модули) и защиты от эксплойтов (могут работать в связке только с последними версиями Windows).

Microsoft закроет поддержку небезопасных версий Internet Explorer в 2016 г

Microsoft выделила так называемые комбинации Windows и Internet Explorer, которые будут продолжать получать обновления. Например, для устаревшей up-to-date версии Windows Vista SP2 + Internet Explorer 9 обновления все еще будут доставляться, в силу того, что Vista как ОС не содержит в себе возможности безопасности, необходимых для правильной работы IE10+, т. е. пользователь не может обновиться до новых версий браузера. Microsoft вынуждена поддерживать подобные устаревшие комбинации, так как существует определенный срок расширенной поддержки Vista и ПО, которое поставляется с ней. Ниже в таблице даны комбинации браузеров и ОС, которые будут поддерживаться после начала 2016 г.

Читать полностью »

одному из наших пользователей в компанию, пользующуюся корпоративным мегафоном, пришло такое требование
Вообще, мы ожидаем подобных требований сейчас от всех, у нас и мегафон корпоративный, и МТС, и ростелеком проводной, и Эр-телеком.

Wi Fi по паспорту, серия 2: Мегафон Поволжье затребовал список конечных пользователей корпоративной связи

Roem.ru: во вчерашней эпидемии «Wi-Fi по паспортуЧитать полностью »

Когда не так часто, как хотелось бы, приходится работать с языком, некоторые аспекты забываются. А некоторые никогда и не откладываются в голове. Поэтому, когда возникают вопросы, приходится отвлекаться и лезть в документацию.

Чтобы сэкономить время в последующем, а также, чтобы лучше понять в ходе обучения, крайне помогает вести конспекты и делать наглядные шпаргалки. Шпаргалку можно повесить рядом на стену. Хороши шпаргалки в виде блок-схем, по которым можно легко, по шагам, получить нужный результат (например выбрать правильный контейнер).

Под катом я решил опубликовать пару шпаргалок для определения условия когда будет создан компилятором неявно-генерируемый перемещающий конструктор и перемещающий оператор присваивания.

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js