• Оптимально ли хранение и использование в БД json строки?

    heathen
    @heathen
    Можно выбрать другую db. Скажем, Postgresql нативно имеет тип jsonb, с индексацией, использованием полей в select и прочими плюшками.

    Это если говорить именно о json.
    Ответ написан
    Комментировать
  • Как активировать мультитач жесты на тачпаде в ubuntu mate 15.10?

    heathen
    @heathen
    Попробуйте начать отсюда. В частности, там есть упоминание о Ginn, который позволяет использовать multi-touch жесты с приложениями, у которых нет такой встроенной функциональности.
    В разделе об Apple MagicTrackpad говорят, что Ginn несколько нестабилен, но к статье приложен скрипт, который автоматически перезапускает Ginn в случае падения.

    Сам это всё пока не использовал, но интересно: живу с Apple MagicTrackpad на Fedora, не хватает некоторых возможностей (типа минимизации окна или возврата назад в браузере тремя пальцами и т.п.), однако руки не доходили заняться, так что ваш вопрос меня подтолкнул. Сразу же наткнулся на ссылку, приведённую выше и решил поделиться.
    Ответ написан
    Комментировать
  • Как создать облачный сервис?

    heathen
    @heathen
    Вот сверху этой самой страницы есть несколько ссылок:

    97aea34b58e34560b1da7a0e12401f82.pngОдна из них как раз отвечает на вторую часть заданного вопроса.

    Только судя по форме вопросов, она мало поможет.
    Ответ написан
  • Нужна ли защита ZIL zfs?

    heathen
    @heathen
    Выбор между аппаратным RAID (с SSD кэшем и батарейкой) и ZFS - вопрос экономической целесообразности, и только. Примите во внимание сказанное ниже, посчитайте, сколько будет стоить железо для ZFS, и сколько - аппаратный RAID. После этого думайте. При этом учтите, что величина кэша на чтения у аппаратного RAID - фиксированная (если мы о разумных деньгах говорим). Кэш на запись не так критичен в данном случае.

    Так вот, что касается ZFS и быстродействия:

    0.1. В первую очередь выбор будет решать поддержка ECC-памяти у вашего сервера-хранилища. ZFS очень критично относится к ошибкам RAM, а собственных механизмов для защиты от них у неё нет. Само собой, никто вам не гарантирует неприятности в случае отсутствия ECC, но единичные сбои в памяти - случаи не эксклюзивно редкие, поэтому решать вам.
    0.2. Не используйте встроенные SATA-контроллеры. Купите LSA 3008 в IT-режиме и к нему всё цепляйте. Может быть, ваш имеющийся RAID-контроллер можно использоваться (но в JBOD-режиме, понятное дело), но он тоже может дать какой-то оверхед (если там даже для JBOD используется кэширование или ещё что хитрое).

    1. Первое, во что стоит вложиться для оптимизации производительности чтения ZFS - это оперативная память. Больше памяти - быстрее операции чтения (ARC находится именно в памяти). Если у вас менее 16ГБ ОЗУ и возможности поставить больше нет - задумайтесь, нужен ли вам ZFS. Лучше вложить деньги в память, чем в SSD под L2ARC.
    2. Для оптимизации операций случайной записи вам понадобится, как вы правильно заметили, SLOG, он же ZIL, на SSD. Правила следующие для него:
    2.1. Во-первых, это должно быть устройство, предназначенное для ЦОД с максимально допустимым TBW (total bytes written). Не покупайтесь на дешевизну пользовательских SSD, это выйдет вам боком. Если говорить о Samsung, то смотрите в сторону 843 DC (именно DC, не Pro и не Evo), а лучше - Intel S3700. Учитывая, что вам нужен диск на 100GB - это не принципиально дорого получится. 1 DWPD и ниже - плохо, 3 - более-менее, 5-10 - отлично. Ну, и устройства для ЦОД имеют конденсаторы, поэтому при падении питания то, что в кэше диска, будет таки скинуто в основную память. Но повторюсь: обязательно смотрите условия гарантии и максимально допустимые объемы записи в день\всего.
    2.2. По поводу того, что случится, если выйдет из строя устройство с ZIL. ZFS на запись работает следующим образом. Все транзакции, синхронные и асинхронные, кэшируются в памяти. В случае синхронных транзакций подтверждение приложению, отправившему транзакцию, будет отправлено только в случае завершения дисковых операций, в случае асинхронных - сразу же. Так вот, чтобы сократить время ожидания, ZFS скидывает каждую синхронную транзакцию на ZIL и отправляет приложению подтверждение. Теперь, если сервер неожиданно выйдет из строя, асинхронные транзакции будут потеряны (они только в памяти были), но вот синхронные будут восстановлены последовательно из ZIL и записаны на диск. Если же выйдет из строя SLOG-устройство, на котором у нас ZIL, во в процессе работы сервера, то ZFS запишет всё на диски основного массива из памяти, и далее начнёт использовать под ZIL основной пул.
    Я это рассказал, чтобы вы понимали механику и смогли информированный выбор сделать. Т.е., с одной стороны, вы потеряете критичные данные только в том случае, если одновременно выйдет из строя SSD и сервер выключится по тем или иным причинам. Но если сервер включился, до перезагрузки существовала очередь синхронных транзакций, а SLOG-устройство неисправно, вы потеряете все незавершённые транзакции (что в случае с VM почти наверняка будет означать кучу проблем). Причём пул будет в аварийном состоянии, и вам придётся вручную его импортировать и "отмотать" назад до последней успешной транзакции. В качестве защиты можно поставить два SSD и mirror'ить zil между ними (прямо средствами ZFS), но это, понятное дело, снизит скорость.
    Само собой, в случае проблем с диском (любым) вам и ОС ругаться будет, и ZFS том пометит как degraded. А превентивно - пользуйтесь smartmontools :-)
    2.3. Большой ZIL вам не нужен, буквально несколько GB. Т.е. если у вас 1 диск, я бы отдал немного под систему, 5-10GB под ZIL, остальное - под L2ARC, если два диска, то зеркало под систему, зеркало - под ZIL (zpool add tank log mirror /dev/sda2 /dev/sdb2) и остатки на каждом разделе - под l2arc (zpool add tank cache /dev/sda3 /dev/sdb3). l2arc будет stripe'иться, что ещё увеличит скорость чтения.

    Но, вообще говоря, 4 диска - это семечки для ZFS. На таком количестве дисков правильно подобранный SSD даже на операциях последовательной записи может дать прирост. Ну, и в случае хранилища под виртуализацию - только stripe + mirror, понятное дело. И маленький совет - купите пятый диск для hot spare. Просто на всякий пожарный.

    Ну, и самое важное: качественный UPS must have.

    P.S. Не используйте ZFS on Linux. Лучше Фря.
    Ответ написан
    4 комментария
  • Почему LG Google Nexus 4 не отображает экран входящего вызова?

    heathen
    @heathen
    Если мне не изменяет память, помогало кратковременное нажатие на клавишу включения и затем ещё одно. Экран включался и можно было принять вызов.
    Такая проблема была, но так как проявлялась редко, мне было лень искать её решение.
    Ответ написан
    Комментировать
  • Как вы строите свое окружение для разработки web приложений на Go?

    heathen
    @heathen
    На ноуте стоит Windows 8.1 + Sublime + golang plugin + Hyper-V с Fedora и "mount cifs <ресурс на хостовой системе>" при старте.
    В домашний каталог симлинками добавлены нужные корневые пути с Windows: Мои документы, папка с проектами и т.п.
    Из тонкостей: выставить в опциях mount не только права на запись для всех, но и владельцем указать пользователя, из под которого запускаются инструменты на виртуалке. Тогда нормально отрабатывает и go, и git, и прочее. К примеру, ginkgo watch прекрасно ловит все изменения, из тестов спокойно создаёт и удаляет папки и файлы на подмонтированном ресурсе.
    GOPATH что на винде, что на linux указывает фактически на одно и то же место. Забавно видеть в bin как elf'ы linux, так и экзешники, созданные виндовым go (например, gocode.exe).
    Ответ написан
    Комментировать
  • FreeBSD + HAST + ZFS или Linux + Ceph + <хз_что>? Нужны советы людей с практическим опытом?

    heathen
    @heathen Автор вопроса
    В результате эволюционно пришли к OpenStack + CEPH. ceph перед всем* остальным имеет ряд преимуществ:
    - поддержка кластеризации за любом уровне - от диска -> до ноды -> до стойки -> до зала -> до датацентра -> до региона. Т.е. правилами можно настроить репликацию данных так, чтобы копии располагались как минимум один раз на любом необходимом уровне абстракции.
    - устройства хранения в ceph можно добавлять подисково. Т.е. вам не нужно иметь RAID на каждом физическом хранилище, можно в любом момент добавить диск или его удалить, при этом данные автоматически ререплицируются для поддержания выбранной стратегии хранения. Само собой, RAID использовать можно, но это лучше делать для увеличения скорости, нежели для увеличения надежности. Скажем, если у вас SATA-диски, их можно запихнуть в RAID0 (stripe), и это, конечно, даст прирост производительности.
    - в любой момент можно одной командой изменить минимальное количество распределенных копий данных для каждого отдельного пула (так называется аналог шары в ceph; т.е. всё хранилище данных разделено на пулы, доступ к которым может контролироваться отдельно), перестроение начинается немедленно; конечно, рекомендуется выставлять нечетное количество копий.
    - у систем виртуализации присутствует программный интерфейс для доступа к RBD ceph, т.е. файловая система не должна поддерживать репликацию. в частности, мы сейчас используем openstack с kvm, у которого есть прямая поддержка rbd ceph.
    - программные ноды и ноды хранения могут быть объединены; при этом, конечно, нужно иметь ввиду, что каждый object storage daemon (osd) требует 1GB памяти, и один физический диск - это один osd.

    При этом, конечно, есть и минусы, и главный из них - это производительность. Хочется верить, что её оптимизируют со временем. Но надежность при этом гораздо выше, чем любые костыли из традиционных односерверных файловых систем и попыток организовать репликацию данные между ними.
    Ответ написан
  • Резервный канал через PBR. Как быть с публикуемыми сервисами?

    heathen
    @heathen
    Ну, если вас не пугает стоимость решения с BGP, то в любом случае это из пушки по воробьям (хотя, возможно, я недооцениваю размеры вашей организации). В общем же случае для веба, с которым работают сотрудники, разве недостаточно будет простого DDNS?
    Ответ написан
    Комментировать
  • Референс протокола RDP?

    heathen
    @heathen
    Может быть, за последние пару лет что-то поменялось, но в своё время Микрософт требовала кругленькую сумму или долю с каждой проданной лицензии за техническое описание протокола RDP.
    Ответ написан
    Комментировать
  • Помогите написать SQL запрос

    heathen
    @heathen
    SELECT class FROM table WHERE state=true GROUP BY class

    Что-то типа такого. Только вывод будет столбцом, само собой, а не строкой.
    Ответ написан
    Комментировать
  • Лицензирование удалённых рабочих столов Server 2008 R2

    heathen
    @heathen
    Единственное, как хотелось бы уточнить предыдущий ответ: для RDS вам понадобятся и CAL, и RDS CAL.
    Т.е. для всех пользователей сети (в случае AD) либо только для тех, кто использует хотя бы один сервис, запущенный на сервере — CAL, для тех, кто использует RDS — дополнительно еще и RDS CAL.
    Ответ написан
    Комментировать
  • Посоветуйте пленку на Nexus 4

    heathen
    @heathen
    gadgetshieldz.com — я покупал эти плёнки, они на экран и на заднюю панель. Плёнки с влажным нанесением, после высыхания вообще никаких пузырей, на экране незаметна совершенно. В плюсах — после её наклейки телефон перестал сползать с Орба при зарядке. Покупал себе на Nexus 4 и девушке на iPhone, подошло всё изумительно.

    Единственный минус — не очень дешево, $10 за полный комплект. Правда, из полного комплекта боковые части не стал оклеивать.
    Ответ написан
    2 комментария
  • oDesk — как писать cover letter

    heathen
    @heathen
    Если вы начинающий на oDesk, сделайте несколько проектов с Fixed Price за 5-10 баксов. Чтобы были хоть какие-то отзывы. Это будет гораздо лучше, чем придумывать какой-то особенный cover letter. А вообще, на самом oDesk есть отличный help и введение, в которых всё рассказывается и показывается.
    Ответ написан
    Комментировать
  • Проблема с установкой шаблона на Magento

    heathen
    @heathen
    У вас данные-то есть хоть какие-то в базе?
    Ответ написан
    Комментировать
  • Виртуализация, нужен совет?

    heathen
    @heathen
    Присмотритесь к Proxmox (это KVM и OpenVZ). Если поставите рядом две идентичные машины и настроите DRBD — получите даже HA-кластер. Вполне рабочее решение.
    Ответ написан
    3 комментария
  • Как поставить систему на HP Compaq Armada M700?

    heathen
    @heathen
    Там же сидюк должен быть?
    Если нет, то простых вариантов не будет:
    1. Загрузиться с системной дискеты, отформатировать диск и сделать его системным\загрузочным, а затем перенести на дискетах дистрибутив и запустить установку прямо с винта.
    2. Загрузиться с системной дискеты, отформатировать диск, сделать его системным\загрузочным, вынуть HDD из ноута, через переходник подключить его к IDE на компе, скопировать дистрибутив, поставить винт обратно и запустить установку с винта.
    Ответ написан
    2 комментария
  • Что делать с транзакцией когда банк не поддерживает 3D secure?

    heathen
    @heathen
    Вам бы этот вопрос на форуме banki.ru задать. Там больше специалистов по кредитным картам сидит.
    Ответ написан
    1 комментарий
  • Какой выбрать ЯП для computer vision?

    heathen
    @heathen
    Начните с питона, под него, насколько я слышал, есть отличные биндинги под OpenCV. Как раз недавно кто-то об этом говорил, кажется, здесь.
    Ответ написан
    2 комментария
  • Экран не доступен при входящем вызове?

    heathen
    @heathen
    Проблема есть, тоже с ней сталкиваюсь, причем не только при звонке — иногда просто из кармана телефон достаешь, экран светится, но на нажатия не реагирует. Помогает выключение\включение экрана, как вы верно написали.
    Ответ написан
    Комментировать
  • Посоветуйте тяжелую CMS на PHP

    heathen
    @heathen
    Попробуйте Magento. Очень неплохой магазин, но за счёт eav может тормозить прилично. Лучше взять какую-нибудь версию 1.3 — там все плохо оптимизировано.
    Ответ написан
    Комментировать