?

Log in

Osteolaemus tetraspis' Journal
 
[Most Recent Entries] [Calendar View] [Friends]

Below are the 20 most recent journal entries recorded in Osteolaemus tetraspis' LiveJournal:

[ << Previous 20 ]
Monday, July 24th, 2017
10:30 pm
Проблемы Постгреса (навскидку)
Сразу оговорюсь, что считаю Постгрес идеальным решением для малых и средних баз не с беспредельной нагрузкой.
Что это такое? Ну, например, "крупный банк федерального масштаба" держит там все заявки и работы ("купить новую инкассаторскую машину", "Марь Петровна жалуется, что ей нахамила операционистка" и т.п.)
На нем живет Авито - и им хватает.
На самом деле эта планка очень высокая, очень мало у кого есть требования, превышающие вышеуказанные.
Извините, но для 90% БД брать не Постгрес, а что-то пропиетарное - это либо идиотизм, либо коррупция.

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

1. Отсутствие внятного секционирования. Родное понимает только литералы, но не понимает параметры/колонки других таблиц. Иногда этого вполне достаточно (но тогда толку от него не так уж и много).
К чему ведет: проблемы с очень большими таблицами - очень большие таблицы для постгреса это плохо, а на маленькие нужным образом нарезать не получается.
Способы решения: pg_pathman (не без недостатков - секционирование только одноуровневое, нет глобальных индексов, нет отдельно секционированных индексов, сделать 500 тыс. секций очень скверная идея, но все сильно лучше того, что есть сейчас - а по факту сейчас ничего нет)
2. Компрессия - она есть только для колонок переменной длины, что не очень удобно, точнее, совсем неудобно; ситуация усугубляется еще и тем, что у постгреса высоки накладные расходы на строку, теоретически от 23 байт, фактически - с учетом выравнивая - 32 байта.
Есть компрессия ведущих колонок в индексе отдельным патчем, но из-за выравнивания от нее порой мало толка.
К чему ведет - большой объем данных, большой ввод-вывод, неэффективное расходование кеша.
В PostgresPro Enterprise есть компрессия, для варианта append-only таблиц вполне себе симпатичная. В ванильном нет и непонятно, когда будет, если вообще будет.
3. Вакуум - в настоящий момент только однопоточный (см. выше про таблицы), в версиях до 9.6 иногда остро вставала проблема wraparound'а (это выглядит как "база встала колом и третьи сутки что-то делает". Для бизнеса такое может быть кошмаром); но при желании этого можно добиться и на 9.6. В PostgresPro Enterprise она решена, может быть, попадет и в ваниллу.
4. Средства мониторинга и администрирования - вообще говоря, уже есть вчерне патч с wait events, разнесенный по statement'ам, но именно что вчерне. К сожалению, особого прогресса в этом не видно. С собственно инструментами все достаточно безрадостно - нет ни инструментов, ни толковой инфраструктуры.
5. Push executor/компиляция запросов в нативный код - есть наработки, но пока особого прогресса не видно и перспективы весьма туманны. Это сильно снижает производительность на больших выборках.
6. IOT - нет и не очень понятно, как их делать. Пока только разговоры.
8. Параллелизм на большом количестве ядер (эдак 256-384 и выше).
7. Куча всякого, иногда критически важного - инкреметальный бекап, чексуммы на clog, лимиты на запросы, триггеры на логин, трассировка выбранных сессий и т.д. и т.п.
8. Идиотская проблема, когда асинхронная реплика влияет на мастер.

Чтобы было понятно, на каких размерах у постгреса начинаются проблемы я постараюсь привести пару примеров:

Одна из госорганизаций решила контролировать каждый шаг граждан и лиц с видом на жительство. Предполагалось вживить каждому чип с приемником глонасс и собирать данные по шагам, возможна заливка данных пачками, задержка не более суток. Проект не был реализован в варианте с постгресом, так как постгрес оказался не готов к такому объему, тем более что требовалось хранить юридически значимые данные (т.е. с цифровой подписью), что еще более затрудняло задачу. Система должна была обеспечивать обнаружение фактов слежения одних граждан или лиц с видом на жительство за другими, время запроса для одного лица не более 60 сек., операторов не менее 2000.
Суть проблемы - невозможность обеспечить в рамках одного сервера/или консистентного представления указанные требования. В настоящий момент реализуется на импортном оборудовании и ПО.

Одна из компаний организовала стартап с генетически модфицированными муравьями для сопровождения грузов. Через каждые 50-500 метров муравьи выбегают из машины и бегут в ближайший спецмуравейник, где и выгружают данные об автомобиле (координаты, скорость, погодные условия) и грузе (состояние, комлектность (думаете, водители не воруют? О, как они воруют!), масса). Не знаю, чем кончилось, но были большим проблемы с постгресом - заливка данных/pgpool дурил и либо вообще останавливал обработку, либо давал неконситентный резльтат. Ну вы поняли про pgpool.

Компания (уж не знаю, по госзаказу или нет) отслеживала все доступные НЛО. Вы не представляете, сколько НЛО изучают нашу бедную планету и как они при этом мотаются по орбитам! Все было хорошо, пока не налетели на врапэраунд (ну да там только этим дело не ограничилось).

PS Для случая распухания таблиц и индексов в результате множества мелких транзакций (на что, судя по всему, напоролся Убер) решение тоже разрабатывается. Будет ли оно в ванилле, а если будет, то когда - это отдельный интересный вопрос.
Tuesday, July 18th, 2017
4:09 pm
Невидимые лучи смерти потрясают незамутненное воображение
https://russian.rt.com/world/article/409983-lazer-ispytanie-oruzhie
К сожалению, как следует из статьи, тыринг там не только импортный.
Thursday, July 13th, 2017
12:51 pm
О технарях и гуманитариях
Почему-то среди технарей с одной стороны невесть почему принято пренебрежительно относится к гуманитариями, а с другой - быть неспособным не то чтобы ясно излагать свои мысли, а даже просто иметь их в каком-то связном виде. Я по работе общаюсь со многими командами разработчиков, так пока что ни одна не оказалась в состоянии внятно изложить, что же они делают.
О чем нам это говорит? О многом говорит!
Во-первых, разрабатывается буквально невыразимое; во-вторых, для стороннего человека - меня или нового члена команды - требуется не осознание путем прочтения того, что происходит в проекте, но постижение невербализуемого через какую-то духовную практику под руководством гуры.
Дао, конечно, крутая штука, но я предпочел бы логос.

Вот интересно, а сочинения эти ребята в школе писали?

PS Я не понимаю, какие могут быть юнит- и функциональные тесты того, что невыразимо словами.
PPS Документация обычно представляет из себя коммерческие/юридические заклинания ("в целях обеспечения неограниченного машстабирования применяется многоуровневое расщепление потоков входных данных на основе вторичного генерируемого ключа от первичного идентификатора события") + отчет повердезигнера о таблицах.
Monday, July 3rd, 2017
2:02 pm
Гипотеза (конспирология)
https://www.facebook.com/permalink.php?story_fbid=264653977352080&id=100014224390836

Как видно, перед входом в метро расчищен большой участок; такой же участок расчищен в Выхино, что еще интереснее - Выхино - станция на поверхности.
Следовательно, ожидаются большие скопления людей перед станциями; а раз так, ожидается, что будет время на то, чтобы спустить (и отвезти! см. Выхино) людей в метро.
По всей видимости развитие ситуации выглядит таким - сначала США наносят удар с баз ПРО/Томагавки, что-то сбивают, что-то долетает, после чего в дело уже идут серьезные предметы. В промежутке между первым и вторым осуществляется вывоз руководства, детей (см. реконструкцию чего ни попадя им. С.С.Собиянина/МЦК, т.е. часов 5-8) и оставшееся население отправляют в метро сколько влезет.
Как-то так.

Начало - http://plumqqz.livejournal.com/481350.html
Tuesday, June 20th, 2017
1:01 am
Суета сует - все суета
https://www.facebook.com/joshua.raynolds/posts/1468436286535292
Письменность майя - это, пожалуй, круто.
Только вот сохранившиеся кодексы - какие-то мутные примитивные астролого-астрономические таблицы; ну вот расшифровал их и что? Зачем? На что он жизнь-то положил? Чтобы все и правда убедились, что индейцы изобрели неудобную письменность и использовали ее крайне идиотским способом?
Вообще эти майя и ацтеки при более-менее внимательном разглядывании вызывают какое-то отторжение.
Строго говоря, все древние цивилизации, кроме греко-римской и отчасти древнееврейской скучны и примитивны; но вот американские еще и неприятны своим людоедством.

Я вот как представлю себе, что вся печатная продукция в богохранимом Отечестве нашем представлена в виде многочисленных репринтов "Гадаем вместе на картах Таро и печени врага" - так сразу думаю, а надо ли ее вообще читать?

Ну и об испанцах - не так уж и зря они все посжигали, получается...

Read more...Collapse )
Thursday, May 25th, 2017
9:07 pm
И еще
http://tass.ru/moskva/4283145
...в качестве объекта гражданской обороны


Posted via m.livejournal.com.

Tuesday, May 2nd, 2017
8:27 pm
Продолжаем, не останавливаемся
http://m.livejournal.com/read/user/twower/2092031
...на последнем съезде время было определено как предвоенное...


Posted via m.livejournal.com.

Friday, April 28th, 2017
2:04 pm
Wednesday, April 26th, 2017
6:16 pm
Tuesday, April 25th, 2017
2:46 pm
Sunday, April 23rd, 2017
11:49 pm
1 канал
А с чего там каждую ночь начинают с демонстрации очередной голливудской говнины?
Их дело, конечно, но как-то наводит на мысли.
2:03 am
Кто конспиролог? Я конспиролог!
http://realty.interfax.ru/ru/news/articles/80630
Скорее убедите меня, что это просто неумелая попытка масштабного распила.
И да, и хрущевки.
Thursday, April 13th, 2017
10:07 am
Удивительно
On Ukraine, Tillerson said US sanctions on Russia for its military intervention there would stay in place, and on Russian interference in the US presidential election, he said Moscow’s role was “well established”.


Posted via m.livejournal.com.

Friday, April 7th, 2017
1:11 am
Молодцы какие
https://www.facebook.com/sloneus/posts/799914810160017
Очень мне там комментарии нравятся.
Все оценивают подход к естимейтингу с таким видом, будто бы это не идиотская бредятина. Нет, говорят, на все метрики не поставишь. На многое, мол, можно, но на все - нет, на все нельзя.

Собственно, неудивительно, что все документы, которые мне попадаются по делам работы, по уровню осмысленности примерно такие же.
Thursday, March 30th, 2017
11:27 am
а вот не хочу и все!
Клиент отказался обрабатывать дедлоки путем перезапуска транзакций. Мы, грит, удивлены непрофессионализму такого совета.
Грустно это ведь, на самом-то деле.
Monday, February 27th, 2017
11:55 am
Похвальное слово ОРМ.
Тут вот в комментариях проскочило
http://plumqqz.livejournal.com/495040.html?thread=5598912#t5598912
Собственно, я почти не согласен с этой публикацией.
Я гибернейта в последнее время наблюдал много всякого, и результат в среднем далеко не такой грустный; более того, обычно все более-менее работает и все более-менее довольны и гибернейт менять ни на что не собираются.

Это факт.

Факт и то, что гибернейт во всех случаях дал проблемы с производительностью различной степени серьезности и много тупой монотонной писанины. Факт, что без гибернейта написать имеющийся код было бы быстрее и он был бы в среднем более производительным; собственно говоря, применение гибернейта во всех случаях было совершенно бессмысленным. С другой стороны, я наблюдал проекты с серьезными проблемами как с логикой, так и с производительностью вовсе без всякого гибернейта; и что еще интереснее, проектов с проблемами в логике без гибернейта как бы даже не больше.
Если подумать, то получается удивительная вещь - применение неудобного, низкопроизводительного инструмента нередко оказывается более удачным, чем применение удобного и высокопроизводительного во всех смыслах - и во время написания, и во время выполнения. Лопатой иногда оказывается копать быстрее, чем экскаватором.
Почему?
А вот почему - из-за неудобности этого самого гибернейта. Раз нарисовав структуру и маппинги съехать на какую-то другую мучительно тяжело; и кривая, но стабильная структура БД оказывается удобней такой же кривой, но еще и нестабильной (была бы не кривая - была бы стабильная).

Что же делать?
А вот тут начинаются сложности - и в случае ОРМ, и в случае его отсутствия совершенно типичным ответом на вопрос "а зачем вы, собственно, используете distinct? какова вообще бизнес-цель этого метода" оказывается ответ "да... а давайте все-таки посмотрим, может быть, получится создать какой-то индекс?"
Т.е. люди не могут внятно сказать, что они делают. Становится понятно, почему кривое, но стабильное оказывается лучше кривого, но еще и нестабильного.

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

Программирование вообще гуманитарное занятие.

PS Не надо думать, что владею тайной проникновения в суть задач. Это, увы, далеко не так.
Friday, February 17th, 2017
11:28 am
Работа дурака любит
Говорят, что где-то в пустыне Гоби бубонная чума все еще собирает обильную жатву - мрут суслики.
Это я к тому, что, оказывается, по задворкам всяким ОРМ еще более чем жив.
Monday, January 30th, 2017
11:17 pm
На войне ситуация меняется каждую минуту
С сегодняшнего дня код валюты для переводов в рублях 5b4707e3e436b45493f5e8468a5d44a7.
Saturday, January 28th, 2017
9:14 pm
Виндовс 10
Поизучал тут 10 винду.
Там много загадочного - например, непонятно что по имени sway, которое можно удалить, и непонятно что по имени xbox, удалить которое, однако, отчего-то нельзя. Еще есть странное приложение "Новости", которое, кажется, действительно выводит новости(?) и "Спорт", которое выводит стилизованное изображение белой чаши на сиреневом фоне. Черт его знает, кому такое могло потребоваться, но мало ли - может, зрение проверяют. Хотя тогда причем тут спорт?... Впрочем, и оно, и новости прекрасно удаляются.
Есть еще какие-то не менее странные "Диспетчеры телефонов" и т.п.
Чем руководствовались в MS, собирая такой странный набор - бог весть.
Все-таки отсутствие Гейтса сильно сказывается.
Thursday, January 26th, 2017
3:33 pm
О функциональном программировании
Разговор:
- ...код валюты для перевода в рублях должен быть "cc66edc3dbef3f9c24a63b9173c2d5d9"
- мне кажется, они немножечко странные люди
- почему странные? на скале же пишут
[ << Previous 20 ]
About LiveJournal.com