Примерная оценка в Постгресе

Читая документацию по «Постгресу», набрёл на интересную конструкцию — TABLESAMPLE. Она позволяет обработать запросом не всю таблицу, а только указанный процент, причём строки выбираются случайным образом.

Например, встречается такая задача — показать какую-нибудь внутреннюю рекламу, для этого надо быстро выбрать какой-нибудь случайный идентификатор из таблицы, вот так это можно сделать при помощи указанной конструкции:

SELECT id FROM (
    SELECT id FROM very_big_table TABLESAMPLE SYSTEM (.0001) LIMIT 100
) _ ORDER BY RANDOM() LIMIT 1

Тут выбирается одна десятитысячная процента таблицы (0,0001%), а потом из этой выборки берётся первая строка. На настоящей таблице с почти миллиардом строк, такой запрос у меня занял около ста миллисекунд.

SYSTEM тут — метод выборки. Их всего два, второй (BERNOULLI) даёт более случайные и аккуратные результаты, но работает как-то уж очень медленно. SYSTEM работает на уровне блоков, выдавая случайные блоки целиком, и из-за этого я дополнительно сортирую результат — чтобы перемешать строки внутри блока.

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

Типа, сколько в среднем примерно сотрудники некой гипотетической компании тратят на обед в зависимости от пола (оценка по одному проценту данных):

SELECT sex, AVG(spent)
FROM meal TABLESAMPLE SYSTEM (1)
WHERE mtime BETWEEN SYMMETRIC '12:00:00' AND '14:00:00'
GROUP BY 1

Или сколько примерно раз я ездил такси «Везёт» за последние семь лет (оценка по пяти процентам и экстраполяция):

SELECT COUNT(*)*20
FROM taxi_call TABLESAMPLE BERNOULLI (5)
WHERE carrier='vezet' AND cdate >= '2011-08-03'

Оставить комментарий

PERSON WITH FOLDED HANDS

Список эмодзи с кодами 1F64B–1F64F: счастливый человек с поднятой рукой, празднующий, хмурый, капризный, со сложенными руками (символизирует скорбь или мольбу).

Это очень странно, но некоторые ребята используют эмоджи «?» в значении «дай пять». Когда им указываешь на ошибку, парируют, что, мол, «никто точно не знает, что это значит».

Это неправда, эмоджи являются частью стандарта «Юникод», символ «?» введён в шестой его версии и там приведено следующее описание:

PERSON WITH FOLDED HANDS
• can indicate sorrow or regret
• can indicate pleading

Интересно, что эмоджи считаются новым языковым инструментом (хотя, насколько я мог заметить, многие учёные считают наоборот — что это хорошо забытое старое, откат к идеографическому письму). А языку, как известно, свойственно мутировать — из-за ошибок при неявном обучении через использование. Наверное тут мы наблюдаем то же явление и даже наличие стандарта («толкового словаря») не помогает.

5 комментариев

Сено-солома

С детства путал левую и правую сторону, более-менее уверенно стал их указывать наверное лет десять назад, — пользуясь, как мнемоникой, застрявшей в голове школьной фразой «справа приписать ноль». Всегда представлял где мы его писали, когда требовалось сообразить где какая сторона.

Сейчас я уже так не делаю — почему-то всё-таки запомнил, но всё равно бывает, хоть и редко, что стороны путаю, правда быстро поправляюсь. Не знаю почему для меня это составляло такую проблему, возможно потому, что до школы я был левшой, как папа. Когда в начальной школе обучали письму, я сначала писал левой, потом пришлось переучиваться — так тогда было положено. К слову, маму тоже переобучили, мы с ней оба — переученные левши.

Поэтому будет понятно, наверное, моё изумление, когда дочка (в два года), сказав «правую лапку котику нарисовать надо», начала правильно рисовать лапу слева — так как на рисунке кот повёрнут к нам мордочкой.

Она только недавно узнала понятия право и лево (как-то без проблем уловив эту концепцию), а уже понимает, что у визави эти стороны расположены зеркально!

Чёрт возьми, я не одно десятилетие «приписывал ноль», определял свою сторону, а потом мысленно вращая свой корпус, совмещал его с другим человеком, удерживая в голове какая точка в какую переходит!

А тут всё как-то буднично! Поразительно!

7 комментариев

Велосипедное

Зелёный горный велосипед лежит в высокой траве с жёлтыми цветами, рядом видны ноги в синих носках и чёрных кроссовках, на руле — фонарь и надпись FRB.

Что-то каждый новый сезон день, когда я сажусь на велосипед, сдвигается всё дальше и дальше к концу лета. В этом году совсем страх — лето почти кончается, а я катался на велике всего несколько раз! Три года назад катался почти каждый день.

Не знаю что меня останавливает, всё время что-то мешает — то дождь, то устал, то что-то сделать надо, подозреваю, что есть какая-то одна основная, глубинная причина, но всё никак не нащупаю.

Зато сегодня оторвался — 40 с лишком километров по лесам и полям.

12 комментариев

Репост в Фейсбук

Шаг 3 из 6: подключение страниц Facebook. Красная кнопка «Could not connect!» указывает на ошибку. Синяя кнопка «Connect» для повторной попытки.

Беда-беда, огорчение! Сервис IFTTT, которым я давно пользуюсь, чтобы респостить посты в «Фейсбук» (а там у меня самая активная часть читателей), неожиданно перестал работать — в логах написано, что соответствующий аплет выключен.

Включить его не получается, попытка создать собственный сервис застревает на шаге соединения с «Фейсбуком». Я вчера даже удалил аккаунт в IFTTT и попытался заново всё настроить, тот же эффект.

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

15 комментариев

Безо, изо, ото, надо, обо, подо

А вот ещё штука, которая кажется отмирает в русском языке (наравне со склонениями названий) — буква «о» на конце предлогов. Обычно ставится для благозвучия, да и проговаривать подряд несколько согласных тяжело. С другой стороны существует слово «взбрыкнул» и ничего.

Как бы то ни было, всё реже такую форму предлогов вижу в тексте и слышу её в устной речи. Раньше как-то слух царапало, а теперь ничего, привыкаю, даже сам так и говорю: «без всего», например.

6 комментариев

Снова на «баше»

Ну да, я в курсе, что никому не интересно, что я снова попал на «Башорг», но для меня этот проект — один из милых архаизмов, оставшихся от веба 1.0, а я вообще люблю архаику.

Скриншот поста от 15.08.2018 с текстом: «@bolknote: Я не дылда, у меня просто кость длинная!» и номером #451774.

Вообще, таких проектов, да ещё сохранивших более-менее какую-то популярность, осталось всего ничего. Из того, что хоть изредка посещаю, навскидку могу вспомнить только Каганова. Визуально сайт остался в конце 90-х. На остальное либо не хожу, либо они полностью сменили формат, встроились в новые реалии.

6 комментариев

Реплики страховых досок

Серебряная эмблема с надписью «СТРАХОВОЕ ОБЩЕСТВО» и геральдическим щитом в центре, украшенная орнаментом, на тёмном фоне.
Неудачная реплика доски страхового общества «Волга»

Мне тут на «ТомСойерФесте» выпало поучаствовать в очень интересном проекте.

Я уже несколько раз писал о страховых досках — табличках, которые вешали на дома, в знак того, что дом застрахован от пожаров. Немало таких досок висело и в Казани. К сожалению, климат и коллекционеры почти их истребили — у нас в городе их осталось около десятка в «дикой природе» и все в неприглядном виде.

На некоторых томсойеровских домах таблички когда-то висели, до покраски это было заметно по тёмному следу, который оставался на выгоревшем дереве. И организаторам пришла мысль — украсить город репликами страховых досок, тем более, что в краске они смотрятся привлекательно.

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

Очень надеюсь, что этот пост увидит максимальное количество казанских и залётных коллекционеров и в следующем году не придётся делать реплики заново. ?

Оставить комментарий

Ниязик

Годы назад у меня был период в жизни, когда я жил и работал в Москве. Первым моим местом работы была тогда многообещающая веб-студия «Веб2Би», где мне удалось поработать со многими интересными людьми, в том числе всеми позабытым ныне Ниязом Сайфутдиновым  — перспективным чуваком из Казани, которого Артемий Лебедев сманил в Студию сразу после школы.

Где-то в то же время кто-то от имени Нияза прислал на бизнес-линч какую-то нелепую анимацию. Лебедев в комментарии довольно едко полыхнул по этому поводу:

Ниязик, когда-то ты подавал большие надежды — как ты помнишь, я тебя начал звать в студию еще когда ты учился в последнем классе.

Тоха Герасименко, если помнишь, тоже приехал сразу после последнего звонка. Хотя у него не было такого количества интересных работ как у тебя.

И что же сейчас? Тоха года через два-три станет арт-директором, а ты уже сейчас деградировал практически до полного разрушения творческой личности.

Тогда он предрёк какому-то Тохе Герасименко блестящее будущее и это предсказание видимо осело у меня в памяти. Прошло одиннадцать лет.

И вот сегодняшнее назначение арт-директором Студии Павла Герасимчука задело какие-то ассоциативные связи и я подумал, что вот тот самый человек, которого Лебедев много лет прочил на эту должность, наконец её получил.

Перепутал Герасимчука и Герасименко, бывает.

С Ниязом мы потом ещё раз поработали в одной компании — уже в «Яндексе», но когда я уволился, то быстро потерял его из виду.

Оставить комментарий

Иона

Икона с изображением пророка Ионы внутри синего кита на фоне древнего текста и надписи «хощу».
Пророк Иона в чреве кита. Византия, 9 век. Псалтирь Пантократора иллюминированная

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

Хочу вынести сюда комментарий генеалога Виталия Викторовича Семёнова к копии этой записи в ЖЖ:

По правилам Православной церкви из мужских имён можно делать женское, а наоборот — нельзя. Например, может быть православное имя Вита — потому что есть святой Вит, но не может быть имени, скажем, Наталий. Также и тут. Самый известный пример — имя Инна, которое изначально было мужским, но мы его знаем как женское.

6 комментариев

Магическая кнопка

Крупный план панели управления сиденья в самолёте: два чёрных регулятора наклона спинки и часть ремня безопасности с красной надписью «PRESS» на деревянной обшивке.

В некоторых автобусах есть возможность сесть посвободнее — отодвинуть сиденья друг от друга нажатием специальной кнопки. Почему-то за всё время я ни разу не видел, чтобы этим кто-то пользовался. Даже странно. То ли я один такой кабанина, а остальным и так удобно, то ли люди нелюбопытны и не пытаются понять, что делает вторая кнопка (про кнопку откидывания сиденья уж все знают).

На днях ехал из Иннополиса на шаттле, никто, кроме меня, не пользовался возможность сесть вольготнее.

Дважды удивительно, так как Иннополис — прогрессивный, молодой город, ехавшие, по моему представлению, должны, просто из любопытства, шутя взламывать бортовую систему автобуса через бухгалтерские счёты, а никто даже не попытался разобраться что умеет кресло под задницей.

3 комментария

День без компьютера

Обычно я весь день провожу с ноутбуком — он всегда где-то неподалёку, вечером я его кладу под кровать со своей стороны, а утром, едва проснувшись, уже открываю глянуть как изменился мир.

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

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

4 комментария

Кошачья гостиница

Два кота в стеклянном вольере: рыжий лежит у когтеточки, а тёмный пятнистый стоит у мисок с кормом и водой; видны лотки, игрушки и лежанки.

Мы тут в отпуск внезапно рванули, и впервые за всё время не с кем оставить кота. До этого почти всегда отдавали братишке, а тут у нас отпуска пересекаются.

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

Неплохой вариант, но у брата оставлять всё равно как-то спокойнее.

Оставить комментарий

← сюда туда →