There will be no singularity – Telegram
There will be no singularity
1.99K subscribers
248 photos
15 videos
5 files
995 links
Smartface, technologies and decay
@antonrevyako
Download Telegram
Добавил в свою подборку необычных применений SQL еще парочку записей.
Внезапно обнаружилось сразу несколько проектов, реализующих SQL-интерфейс к облачной инфре:

cloudquery.io
steampipe.io
iasql.com

Последний не зарелижен, неизвестно будет ли opensource, но выглядит наиболее интересно. Если первые два дают возможность делать SELECT'ы, то последний еще и INSERT'ы (может еще и UPDATE'ы):

INSERT INTO aws_ec2 (ami_id, ec2_instance_type_id)
SELECT ami.id, ait.id
FROM ec2_instance_type as ait, (
SELECT id
FROM amis
WHERE image_name LIKE 'amzn-ami-hvm-%'ORDER BY creation_date DESC
LIMIT 1
) as ami
WHERE ait.instance_name = 't2.micro';

Как вам идея?
Музыкальная пауза.

5 ноября выйдет "новый" альбом Radiohead - Kid A Mnesia
В кавычках, потому что это переиздание Kid A и Amnesiac + неизданное.

А пока можно послушать свежую "If You Say The Word"
где суровые мужики собирают по лесам заблудившихся клерков :)

PS: еще они замутили что-то c epic games. Но на игру не похоже...
Как выглядел бы sql если бы его придумали в 2021
select:
items:
- foo
- bar
where:
- eq:
- foo
- bar

из нашего чата
Как заменить DISTINCT на recursive CTE с пользой:

https://www.depesz.com/2021/09/27/using-recursive-queries-to-get-distinct-elements-from-table/
Вы знаете какого доклада там не будет... :)


Программа конференции по дата-инжинирингу SmartData 2021 уже готова! Начинаем 11 октября 🔥

И не просто готова — в ней десятки крутейших докладов от спикеров со всего мира. Например:
✔️ Andy Pavlo, "Using Machine Learning to Automatically Optimize Database Configurations";
✔️ Tejas Chopra, "An experience report on strategies for working with Cloud Storage";
✔️ Владимир Озеров, "Архитектура высокопроизводительных распределенных SQL-движков";
✔️ Дмитрий Бугайченко, "Рабочее место D-people - опыт СБЕР".

И это только маленькая часть программы — в ней еще десятки докладов. Заходите на сайт конференции за подробностями и билетами.

И не забывайте, что по промокоду nosingularity2021JRPc еще можно успеть купить Personal Standard билет со скидкой.
До встречи на SmartData👋
Мама, я в телевизоре…
Forwarded from Lil Functor
Канал перевалил за 1000 подписчиков, очень радостное для меня число! Пока вы не успели отписаться, сделаю стандартный телеграм-пост с каналами об ИТ, которые я читаю.

* @oleg_log, @oleg_fov — Олег пишет об индустрии. Удивляюсь его продуктивности и читаю, чтобы держать руку на пульсе;
* @bigflatmappa — канал контрибутора ФП-библиотек с историями о том, что он туда контрибутит. Стоит подписаться, чтобы проникнуться духом 10х программирования;
* @yourcybergrandpa — дед ворчит на облака;
* @architect_says — дед ворчит на Agile;
* @nikitonsky_pub — Никита Прокопов ворчит на всё вокруг;
* @nosingularity — о базах данных и инструментарии для них;
* @dereference_pointer_there — личный блог без чётко очерченной тематики (но частенько про Rust);
* @pmdaily — о продуктовой разработке и взаимоотношениях программиста с бизнесом;
* @scala_channel_ru — важные новости и анонсы из мира Scala;
* @daily_ponv — в основном ссылки на сложные пейперы;
* @shark_in_it — резюме пейперов о распределённых системах и базах данных;
* @scalabin — Антон давно ничего не писал, но если вдруг напишет — точно будет интересно;
* @consensus_io — о распределённых системах.

И конечно же чаты самого дружелюбного в мире сообщества, в котором высококвалифицированные специалисты помогают всем желающим стать 10x скалистом:

@scala_ru, @scala_learn, @scala_jobs, @ru_zio, @akka_ru
На днях вышел Postgresql 14 (подробности о новинках тут).

Но я пока продолжу сидеть на 12 версии...

Во-первых, потому что у меня managed база в облаке, а там все происходит небыстро (хотя в azure, говорят, уже есть)

А во-вторых, есть еще одна проблема, о которой я хотел бы сегодня рассказать.
Проблема называется error messages.

В Postgresql сообщения об ошибках далеки от идеала. Ты получаешь код ошибки и текстовое описание, в которое засунули sprintf'ом все нужные константы.
Т.е. если твой запрос может выкинуть один и тот же код ошибки по разным причинам, то единственное, что остается, это ассертить строку с ошибкой.
null value in column "column1" of relation "table1" violates not-null constraint 

Круто бы было, если бы "column1" и "table1" возвращались в отдельных параметрах, но жизнь такова, какова она есть, и больше ни какова.

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

Так вот, от версии к версии формат сообщений об ошибках тоже может меняться!
И если вам важна причина возникновения ошибки, то привет. Нужно переделывать все ассерты:

-- pg 13
null value in column "column1" of relation "table1" violates not-null constraint


-- pg 12
null value in column "column1" violates not-null constraint

Возможно, вы хотите сказать: "какая нафиг разница какая ошибка, падай в 500 да и все".
Но это только потому, что вы не видели моих запросов :)
В мою подборку необычных применений SQL добавился еще один тул для git

askgit:
SELECT count(*) FROM commits WHERE author_email = 'user@email.com'
Очередная история успеха приложения на рельсах.
На этот раз у гитлаба
https://about.gitlab.com/blog/2021/09/29/why-we-spent-the-last-month-eliminating-postgresql-subtransactions/

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

Может быть вы помните статью dhh, что рельсы им стоят "всего" $450k в год, но зато какой кайф не писать этот богомерзкий SQL.
Это он посчитал только сколько им стоит лишнее железо.

Если решите повторить расчеты для своего ror-проекта, то закладывайте еще работу DBA из расчета где-то $500/час.

Я, честно говоря, не хотел акцентировать внимание на этой истории, потому что, ну а что вы, собственно, хотели от ror.
Но в твиттере CEO Fivetran напомнил о ней с каментом "нахер эти ORM", а дальше все как в тумане...
Отличный мини сериал о том, как корпорация добра придумала отличную схему, позволившую кинуть множество небольших компаний по всему миру и в частности одну небольшую немецкую компанию, создавшую Terravision - прародителя google earth из 1994 года.

https://www.netflix.com/ru-en/noscript/81074012
Там как минимум не хватает аналитических баз... И если вы вдруг пропустили, s3 теперь тоже считается базой...
В блоге Wix(это такой конструктор веб сайтов) рассказали какие базы они используют в каких частях проекта, плюс добавили свой взгляд на минусы и плюсы баз для разных кейсов. Немного поверхностно для такой обширной темы, но для общего понимания ок.

https://medium.com/wix-engineering/5-database-technologies-used-by-2000-wix-microservices-e4769638b8c3
Любите ли вы питон, как люблю его я...