Pull to refresh
0
0
Валентин Назаров @kozlice

User

Send message

Huge Pages в PostgreSQL

Reading time3 min
Views34K
В PostgreSQL начиная с версии 9.4 появилась поддержка больших страниц. Это очень хорошая новость, с большими страницами я познакомился когда работал с виртуализацией. Коротко о чем же речь. В ОС Linux работа с памятью основывается на обращении к страницам размер которых равен 4kB (на самом деле зависит от платформы, проверить можно через getconf PAGE_SIZE), так вот когда объем памяти переваливает за несколько десятков, а то и сотни гигабайт управлять ею становится сложнее, увеличиваются накладные расходы на адресацию памяти и поддержание страничных таблиц. Для облегчения жизни и были придуманы большие страницы, размер которых может быть 2MB а то и 1GB. За счет использования больших страниц можно получить ощутимый прирост скорости работы и увеличение отзывчивости в приложениях которые активно работают с памятью. Как я уже отметил, впервые я столкнулся с большими страницами при работе с виртуализацией, в частности с KVM. Проведенные в свое время тесты показали что прирост производительности виртуальных машин составил от 7 до 10% (измерялось все это дело синтетическими тестами различных сервисов типа redis/memcache/postgres/etc внутри виртуальных машин). Теперь это появилось в PostgreSQL.

image

Читать дальше →
Total votes 27: ↑26 and ↓1+25
Comments16

Как легально получать деньги из-за пределов России

Reading time5 min
Views202K
Дано: заказчик за рубежом, желающий работать с Вами и платить вам евро или доллары.
Найти: оптимальный способ организовать работу с ним, чтобы платить налоги и спать спокойно.

Сразу скажу, что получение денег на пластиковую карту без уплаты налогов может вылиться в серьезные проблемы (про ответственность написано в конце топика). Объяснения, что деньги «от бабушки внучку на мороженное» при суммах больше 10К$ в год уже не прокатывают, особенно если в реквизитах «бабушки» будет стоять что-то вроде «GMBH Star Development» Вероятность того, что возьмут за задницу достаточно высокая и поэтому лучше не рисковать и делать все по Закону, тем более, что ничего сложного в этом нет
Читать дальше →
Total votes 144: ↑142 and ↓2+140
Comments192

HBase + Thrift + PHP

Reading time4 min
Views11K
Видимо так сложилось исторически, но на хабре не очень много статей о HBase, Thrift и тем более о том как их связать для работы с PHP клиентом. Давайте же ликвидируем этот пробел и пройдемся от инсталяции HBase до получения PHP клиентом примитивных данных из HBase.
Читать дальше →
Total votes 38: ↑35 and ↓3+32
Comments18

Памятка евангелиста PostgreSQL: критикуем MySQL грамотно

Reading time12 min
Views61K
image

Привет, Хабр! Эта публикация — попытка развеять некоторые популярные мифы и легенды о MySQL. Я не ошибся с хабом, так как поводом для написания послужила публикация varanio Возможности PostgreSQL, которых нет в MySQL, и наоборот отсюда же. Сама публикация в части критики MySQL хоть и неидеальна, но вполне корректна, а вот комментарии к ней наводят на грустные размышления.

Вообще говоря, я собирался написать публикацию о возможностях MySQL, которые не реализованы или реализованы в PostgreSQL хуже. Но для того, чтобы не мешать много тем в одну публикацию, и учитывая довольно нелёгкую работу по сравнению того, что я знаю очень хорошо (MySQL) с тем, что я знаю очень плохо (PostgreSQL), такую публикацию я решил отложить на потом и для начала ответить сразу на многие комментарии из публикации varanio.
Читать дальше →
Total votes 194: ↑183 and ↓11+172
Comments178

Как посчитать всё на свете одним SQL-запросом. Оконные функции PostgreSQL

Reading time5 min
Views561K

Я с удивлением обнаружил, что многие разработчики, даже давно использующие postgresql, не понимают оконные функции, считая их какой-то особой магией для избранных. Ну или в лучшем случае «копипастят» со StackOverflow выражения типа «row_number() OVER ()», не вдаваясь в детали. А ведь оконные функции — полезнейший функционал PostgreSQL.
Попробую по-простому объяснить, как можно их использовать.


Читать дальше →
Total votes 75: ↑73 and ↓2+71
Comments54

PostgreSQL 9.5: что нового? Часть 2. TABLESAMPLE

Reading time9 min
Views28K
Продолжаем обзор нововведений в PostgreSQL 9.5.
Часть 1. INSERT… ON CONFLICT DO NOTHING/UPDATE и ROW LEVEL SECURITY.
Часть 3. GROUPING SETS, CUBE, ROLLUP
От автора
Приношу свои извинения за задержку с выпуском второй части. Изначально я планировал выпустить вторую часть статьи через неделю после первой, но, в связи с большой занятостью, не смог этого сделать. Поэтому я решил, что буду публиковать не большие статьи, а небольшими порциями, но чаще.
Читать дальше →
Total votes 29: ↑28 and ↓1+27
Comments6

PostgreSQL 9.5: что нового? Часть 1. INSERT… ON CONFLICT DO NOTHING/UPDATE и ROW LEVEL SECURITY

Reading time9 min
Views106K
Часть 2. TABLESAMPLE
Часть 3. GROUPING SETS, CUBE, ROLLUP
В 4 квартале 2015 года ожидается релиз PostgreSQL 9.5. Как всегда, новая версия кроме новых багов приносит новые фичи и «плюшки». В данной статье будут рассмотрены две из них, а именно INSERT… ON CONFLICT DO NOTHING/UPDATE и Row-level security. Уже вышла вторая альфа-версия, поэтому самые нетерпеливые могут её установить и попробовать новый функционал.
Скачать можно тут
Читать дальше →
Total votes 33: ↑33 and ↓0+33
Comments16

Возможности PostgreSQL, которых нет в MySQL, и наоборот

Reading time7 min
Views101K


Многие боятся переходить с «мускуля» на «посгрес» из-за того, что лишь смутно понимают, что это даст. Некоторых останавливает мысль, что наверно Postgres — это слишком сложная база и требует обучения. А также, что возможно чего-то придется лишиться в связи с переходом. Попробую немного прояснить ситуацию.
Читать дальше →
Total votes 141: ↑132 and ↓9+123
Comments313

PostgreSQL: Приемы на продакшене

Reading time9 min
Views90K
Можно прочитать много книг по базам данных, написать кучу приложений на аутсорс или для себя. Но при этом невозможно не наступить на грабли, при работе с действительно большими базами/таблицами особенно, когда downtime на большом проекте хочется свести к минимуму, а еще лучше совсем избежать. Вот здесь самые простые операции, как например изменение структуры таблицы может стать более сложной задачей. Наиболее интересные случаи, проблемы, грабли и их решения из личного опыта с которыми нам на проекте Pushwoosh пришлось столкнуться описаны под катом. В статье нет красивых картинок, зато есть много сухого текста.

image
Читать дальше →
Total votes 75: ↑70 and ↓5+65
Comments18

Hadoop: что, где и зачем

Reading time14 min
Views461K


Развеиваем страхи, ликвидируем безграмотность и уничтожаем мифы про железнорождённого слона. Под катом обзор экосистемы Hadoop-а, тенденции развития и немного личного мнения.
Читать дальше →
Total votes 61: ↑58 and ↓3+55
Comments26

RabbitMQ tutorial 3 — Публикация/Подписка

Reading time5 min
Views113K
Хочу продолжить серию перевода уроков с официального сайта. Примеры будут на php, но их можно реализовать на большинстве популярных ЯП.

Публикация/Подписка


В предыдущей статье было рассмотрено создание рабочей очереди сообщений. Было сделано допущение, что каждое сообщение будет направлено одному обработчику(worker). В этой статье усложним задачу – отправим сообщение нескольким подписчикам. Этот паттерн известен как "publish/subscribe" (публикация/подписка).
Чтобы понять этот шаблон, создадим простую систему логирования. Она будет состоять из двух программ – первая будет создавать логи, вторая считывать и печатать их.

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

По существу, каждое сообщение будет транслироваться каждому подписчику.
Читать дальше →
Total votes 29: ↑27 and ↓2+25
Comments6

RabbitMQ tutorial 2 — Очередь задач

Reading time7 min
Views220K


В продолжение первого урока по изучению азов RabbitMQ публикую перевод второго урока с официального сайта. Все примеры, как и ранее, на python, но по-прежнему их можно реализовать на большинстве популярных ЯП.
Читать дальше →
Total votes 31: ↑26 and ↓5+21
Comments16

Прозрачный переход PgQ -> RabbitMQ

Reading time4 min
Views17K


Дорогой хабрачитатель, я хочу поделиться опытом по поводу прозрачного для приложения перехода с очереди PgQ на amqp. Возможно это покажется велосипедом, возможно какие-то мысли пригодятся. Статья предполагает знакомство с основами PgQ и rabbitmq.
Читать дальше →
Total votes 16: ↑16 and ↓0+16
Comments36

JSONB запросы в PostgreSQL

Reading time7 min
Views271K
Ранее я писал, как включить поддержку jsonb в postgres/psycopg2. Сегодня экспериментировал с тем, как запрашивать данные в колонках типа JSON.
На эту тему есть документация, но мне было не совсем понятно, как работают различные операции:

CREATE TABLE json_test (
  id serial primary key,
  data jsonb
);

INSERT INTO json_test (data) VALUES 
  ('{}'),
  ('{"a": 1}'),
  ('{"a": 2, "b": ["c", "d"]}'),
  ('{"a": 1, "b": {"c": "d", "e": true}}'),
  ('{"b": 2}');

Читать дальше →
Total votes 34: ↑33 and ↓1+32
Comments12

Памятка дизайнеру сайтов

Reading time6 min
Views46K
Эта статья писалась мною как памятка для внутреннего пользования дизайнерам нашего бюро.К сожелению огромная армия даже опытных, модных и эффектных дизайнеров забывают, что результатом их творчества должен быть сайт, а не «супер-скриншот» для портфолио, годный лишь в роли эффектного плаката.Америку я не открыл, а просто собрал воедино и сформулировал ряд требований, которые должен учитывать дизайнер в процессе разработки дизайна сайта.
Читать дальше →
Total votes 94: ↑87 and ↓7+80
Comments153

Он от бабушки ушел

Reading time4 min
Views156K
Хотелось дождаться официального отчета NASA о деятельности Curiosity, но, кажется, люди совсем по нему соскучились, раз кому-то уже цветы в марсианских прериях мерещатся. А NASA затягивает рассказ о новых достижениях, поэтому начнем без них. Да, находки у Curiosity есть, и даже такие, что могут поставить в тупик опытных исследователей Марса, не говоря об энтузиастах.
image
Читать дальше →
Total votes 170: ↑165 and ↓5+160
Comments30

Сервис взаимопомощи Ret.io, созданный двумя добровольцами в Мексике, фактически стал системой гражданского оповещения в стране

Reading time3 min
Views53K
image

3 года назад в Мексике (стране, где находится Ciudad Juárez, самый опасный город мира), два друга из города Mérida открыли Twitter-аккаунт, чтобы предупреждать людей об обременительных полицейских проверках, которые слишком часто становились причиной различных неудобств для горожан.

Бесплатный сервис, названный Ret.io, превратился в гибкую автоматизированную систему, покрывающую всю Мексику. На сервис подписаны 27,000 человек, и его посещают более 100,000 человек в месяц, а соответствующее приложение для iPhone вышло в десятку лучших в категории Навигация.

Сегодня, с помощью Retio, граждане Мексики предупреждают друг друга об актуальных проблемах: перестрелках, убийствах, угрозах, вандализме, перекрытых дорогах, злоупотреблениях полномочиями, всех видах коррупции, ограблениях, пожарах, отключениях электричества, ДТП.
Читать дальше →
Total votes 88: ↑84 and ↓4+80
Comments68

Доклад о вреде копирайта был удалён с сайта одного из комитетов конгресса США через день после публикации

Reading time4 min
Views127K
В пятницу, 16 ноября на сайте Republican Study Committee — организации, объединяющей более 170 членов палаты представителей США от республиканской партии, появился интереснейший документ. Под этим 9-страничным докладом не постеснялись бы подписаться многие активисты пиратских партий по всему миру. Не прошло и суток, как этот доклад убрали с сайта под предлогом того, что он не прошёл всех согласований и вообще не соответствует стандартам RSC. Что же было в этом, столь поспешно спрятанном документе?
Читать дальше →
Total votes 192: ↑183 and ↓9+174
Comments104

Кремний

Reading time6 min
Views62K
image
Процессор? Песок? А какие у вас с этим словом ассоциации? А может Кремниевая долина?
Как бы там ни было, с кремнием мы сталкиваемся каждый день и если вам интересно узнать что такое Si и с чем его едят, прошу под кат.
Читать дальше →
Total votes 145: ↑130 and ↓15+115
Comments50

Показать товар лицом

Reading time14 min
Views5.8K
В этой статье я, на примере редизайна главной страницы cplaza.ru, расскажу об одном из принципов разработки сайтов: «показать товар лицом».

В общих словах этот принцип можно сформулировать так: «Надо сразу дать понять посетителю куда он попал и что интересного здесь можно найти». В случае с интернет-магазином принцип превратится во что-то вроде: «Покажите свой товар и почему нужно купить его у вас». Но несмотря на простоту этого принципа, его часто безосновательно нарушают.

Под катом вы найдёте вредные советы про дизайн сайтов, разбор существующего дизайна главной страницы cplaza.ru, рассказ о том, какие блоки могут оказаться более полезными для этой страницы, а в конце я покажу пример переработанной главной.

Читать дальше →
Total votes 47: ↑37 and ↓10+27
Comments39
1
23 ...

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity