postgresmen

18 апреля 2016, Worldwide

# Понедельник 70 твитов

Привет! На этой неделе будет много Postgres 🐘 😀

8:00

Начнём с короткого опроса. Что используете?

8:25

@backendsecret ага, наметилась было тенденция в пользу My, но тут же Постгрес накатил. Эх, рановато я в своём твиттере ссылку сюда дал

8:30
@backendsecret MySQL на работе и привычка, Монго и редиска в пет проектиках.

Вот отличный кейс. Буду агитировать в пользу Постгреса для пет проектиков. Причина #1: JSON отличнейший же уже … twitter.com/dcromster/stat…

8:31

@backendsecret #2: облака уже отлично дружат с Постгресом. Сегодня крутил облака Heroku – удобно всё, молодцы они …

8:32

@backendsecret … да и Амазон буквально позавчера Postgres 9.5 в своём RDS выкатил. (Кстати, Хероку для пет-проектов — халявен)

8:33

@backendsecret причина #3: а вы просто попробуйте. Большинство потом удивляются «и почему я раньше не использовал»

8:36

полиглотство! :) а вот как на Ваш взгляд полнотекстовый поиск в Эластике в сравнении со встроенным Postgres FTS? @mktums

8:37
@backendsecret расскажи почему лучше монги например для json'a

Постгрес — это и быстрые (дада, быстрее Монги) индексы для JSON, и мощь отличной ОРСУБД со всеми ACID, WAL и тд twitter.com/raxpost/status…

8:41

@backendsecret что там говорить. just google that. что-то типа «postgresql json mongodb»

8:42
@backendsecret @mktums sqlite, influxdb. Больше ничего не умею)

👍 Отличное время начать учить Постгрес! Доки превосходные, просто поставьте и поиграйтесь. Можно в облаках Heroku twitter.com/strizhechenko/…

8:44

Скейл есть. Уже куча решений для шардирования, реплик самых разных, управления всем этим. @raxpost

8:45

Ну и ответ на вопрос про scale не могу не сопроводить роликом youtube.com/watch?v=b2F-DI…

8:46
@backendsecret сколько записей ПГ может держать?

Один инстанс Постгреса может держать _неограниченное_ количетсво записей. Даже в _одной_ таблице twitter.com/dcromster/stat…

8:48

@backendsecret Как ещё ответить на этот вопрос… сколько записей у Avito, Яндекс.Почты, TripAdvisor, Disqus? :)

8:50

что такое «большие update»? @robert_egorov

8:52
@backendsecret расскажите плз для чего pg не подходит. мы вот столкнулись с тем, что большие update убивают производительность.

Не подходит: 1) для аналитики (но есть доп. OSS-продукты: CitusDB, Greenplum) … twitter.com/robert_egorov/…

8:53

@backendsecret … 2) для стриминговых данных (но есть OSS-продукт PipelineDB) …

8:54

@backendsecret … для чего ещё? хм… 3) ну, для вычислений на GPU :) (хотя есть PGStrom) продолжать? 😈

8:56

а сколько это физически? и сколько памяти? сколько shared_buffers и есть ли что-то ещё на машине ресурсоёмкого? @robert_egorov

8:57

Есть ряд подходов. Помимо «в лоб» (денормализация), в некоторых случаях выручает, например, такое wiki.postgresql.org/wiki/Loose_ind… @chikiro_twi

8:59

ну и если выборки по скалярным полям, со статистикой всё ок и подходят примерные значения — wiki.postgresql.org/wiki/Count_est… @chikiro_twi

9:00
@backendsecret юзаем Greenplum, отлично подходит для аналитики.
9:01

кстати про Greenplum – свежие материалы по нему на страничке сообщества PostgreSQLRussia.org, см. встречу в банке Тинькофф @rusgautama

9:03

накатил на этот аккаунт постгрес-подписчиков. Знай наших ) pic.twitter.com/3vlVGywqk3

9:05

Кстати про PostgreSQLRussia.org. Присоединяйтесь — у нас неплохие встречи последние пару лет получаются. Ну и там много слайдов и видео 👀

9:07

Смотрите-ка что только что выпустили :-) coverage.postgresql.org А какой code coverage в ваших проектах?

9:23

Полтретьего ночи, пора поспать… Напоследок. А ваша вот так СУБД умеет? 😈 wiki.postgresql.org/wiki/Mandelbro… pic.twitter.com/3flB5bxpkS

9:30

кстати, а вот только что и видео прислали из банка yadi.sk/d/m0BoNfNEqwyVP @rusgautama

9:35
@dcromster тю! (это про 100%), про реестр читаем тут servernews.ru/930383 и zoom.cnews.ru/soft/news/line… @backendsecret
9:37

это не СУБД! Хотя… если это засунуть в plpython-функцию в Постгресе… :-) @mktums

9:41
@de_gis это же форк насколько я понимаю. И как-то это попахивает. @backendsecret

Нет, не форк. Читайте внимательно второй абзац: postgrespro.ru/products/postg… twitter.com/dcromster/stat…

9:56
Для чего не очень подходит PostgreSQL de-gis.livejournal.com/157934.html

хороший пост :) @de_gis 👍 twitter.com/postgresmen/st…

10:11
Instagram still uses Postgres for its primary storage. Cool. PgQ also is used. Cool, cool :) engineering.instagram.com/posts/91505085… pic.twitter.com/StWmaCVSI1

Были слухи, что в Инстаграм полностью уехали с Постгреса на фейсбучные облака. Ан нет. Только поиск. twitter.com/postgresmen/st…

10:12

«что бы без транзакций»? спасибо, нет :-) @borovikov @raxpost

10:14

у вас есть опыт в бою? Думаю, вы толком и не сравнивали. Поизучайте опыт других google.com/?ion=1&espv=2#… @borovikov

10:17

Mongo reached 10000023 downloads! Or, as our other node reports, 9999975. Ну а писать запросы к Монге ручками – отдельная песня @borovikov

10:21

Для вас у меня есть отдельная штука, вам понравится, уверен github.com/torodb/torodb Не благодарите) @borovikov

10:23

Ну и чтобы закрыть тему монги. К концу 2015 она себя окончательно дискредитировала, весьма виртуозно linkedin.com/pulse/mongodb-… @borovikov

10:25

Интересное для тех, кто работает с распределёнными системами. Реализация Paxos для Постгреса citusdata.com/blog/14-marco/… pic.twitter.com/24MqiLYQTT

10:57
@backendsecret вот в CitusDB мастер нода является SPOF. Интересно, а pg_paxos подойдет для мульти-мастер нод в СitusDB?

Ну, не такая уж прямо и SPOF: citusdata.com/docs/citus/4.0… twitter.com/hypersleeep/st…

11:19
@backendsecret считаете не стоит пытаться делать OLAP на чистом postgres?

Всё зависит от объёмов и мощностей. Для некоторых проектов достаточно гонять запросы по приостановленной реплике twitter.com/ndmitry/status…

11:32

Кстати, в таких случаях удобно делать отчеты в форме views и materialized views

11:33

@backendsecret но надо быть готовым перестраивать их целиком при накатывании DDL на underlying tables - автоматики тут пока нет

11:35

@backendsecret а если кому надо решение для управления постгрес матвью по крону - вот, сделали в Mozilla github.com/mozilla/cronta…

11:38
Вот из-за @backendsecret и @ErrorSoul хочу в одном проекте поюзать postgres и redis, сейчас он вообще практически serverless.
16:02
PGInsight - CLI tool to easily dig deep inside your #Postgresql database. pginsight.io #postgres #sql pic.twitter.com/7M9pSGiXNO

Интересное для тех, кто любит заглянуть внутрь twitter.com/waxzce/status/…

16:09

Про бэкапы. Осенью был отличный #PostgreSQLRussia в Яндексе. Владимир Бородин разложил по полочкам Постгрес-бэкапы events.yandex.ru/events/yagosti…

18:33

@backendsecret а вот слайды про постгрес-бэкапы slideshare.net/samokhvalov/20… "Как спать спокойно", Владимир Бородин (@man_brain), Яндекс.Почта

18:45

А вот смежная тема — когда всё очень плохо и нужно срочно спасать свою БД 🙀 Немного, так сказать, про коррупцию:) wiki.postgresql.org/wiki/Corruption

18:51

@backendsecret эту страничку полезно иметь под рукой. На всякий пожарный.

18:52

Снова здравствуйте! Никто же ведь не против послушать про PostgreSQL ещё недельку, правда? 😄😎🐘

6:43
@backendsecret @postgresmen Мало писал, не ответил на все вопросы :( Могло быть очень интересно.

Ну вот, есть шанс исправиться — буду занудничать про Постгрес тут ещё немного 😉 twitter.com/freiksenet_ru/…

6:44

В продолжение опричников прошлой недели — какие индексы вы используете?

6:50
@backendsecret Расскажи тогда про multitenant сервера. Какой оверхед у каждой схемы?

А что у вас, хостинг? twitter.com/freiksenet_ru/…

7:00

@backendsecret и про какие схемы речь? (выбор между "1 db, many schemas" VS "many db, 1 schema", или что?)

7:03

воу. #GraphQL! 👏 👍 Интересно, сам сейчас по горло в #React. А как реализовано, самописное или что-то готовое взяли? @freiksenet_ru

7:05
@backendsecret норм конечно же, а то я уже хотел отписываться
7:07

ага. ну честно, хостинги — совсем не моё) знаю, что тяжко хостерам приходится. Шетухин всегда матами кроет за pg_hba и пр.:) @freiksenet_ru

7:09

на конференциях иногда эта тема проскакивает, про SaaS-варианты в том числе; гуглиться должно легко. Так вопрос был про schemas VS db-s?

7:11

а вы сейчас с sqlite живёте, я так понимаю? или уже на постгрес переехали? @freiksenet_ru

7:14
@backendsecret Я так и понял :) Multitenant реально все плохо делают, что в общем-то понятно.

А не рассматривали вариант жить на Heroku или Amazon RDS? Это же кучу головняка снимет. И продаться проще будет ;-) twitter.com/freiksenet_ru/…

7:21

Шедевры живописи (из Постгрес-чата в Телеграме) 😂😅🙃 classicprogrammerpaintings.com

8:08

#Postgres chats: goo.gl/b0bQs6 🇷🇺telegram.me/postgreschat7h �Postgres.chatS5vo 🇷🇺 gipostgres-slack.herokuapp.comce3ruw 🇬🇧 slack

8:41
@backendsecret сейчас-то понабегут (:
8:44

# Вторник 42 твита

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

14:56
The largest #Postgres conference is about to start @PGConfUS pic.twitter.com/F3eDJPyEfF

Sorry, guys, but the largest one is PgConf.ru. Unless you have more than 600 attendees this time ;-) twitter.com/sameerkasi200x…

14:59

Заварю кофе и буду отвечать на накопившиеся вопросы. А пока — порекламирую нашу суперактивную фейсбук-группу: facebook.com/groups/postgre…

15:05
@backendsecret ...and soon it will be the only conf accessible to Russian devs! Great news everyone!

В NYC проходит PGConfUS 2016. Около 400 человек. Напомнил, что в Москве в феврале было более 600 — словил вот это :) twitter.com/strangeqargo/s…

15:18

No way:) Everything will be fine I'm sure. And both Russian PG confs will continue attract a lot of foreigners, as usual @strangeqargo

15:22
@de_gis @freiksenet_ru @backendsecret проверка суровым интерпрайзом!

про «суровый интерпрайзом» обязательно поговорим сегодня-завтра, обещаю) twitter.com/borovikov/stat…

15:27
О постгрес-постгрес - @backendsecret вот что меня больше всего раздражает в postgresql так это поведение... tmblr.co/ZlL1rt25EVqxw
15:28

Вопрос некорректный. Скейл и транзакции одновременно — это же не проблема, так? CAP говорит 2из3 @raxpost @freiksenet_ru @borovikov

15:32
@vporoshok я примерно также думал про любой nosql, а кто-нибудь и про мускуль, уверен. @backendsecret
15:34
@backendsecret @raxpost так а может дать ссылку на aphyr.com

Вы, наверное, про это? aphyr.com/posts/282-call… Ну, тут про чистый Постгрес, а мы там говорили про CitusDB… twitter.com/kazhuravlev/st…

15:38

Какой способ вставки? Индексы, FK, триггеры есть? Что в логах, нет ли WARNINGs? Ну и конфиг интересен Постгреса и имеющиеся ресурсы @mr_apt

15:39

Вот на сайте SQLite нашлось sqlite.org/speed.html У вас тоже fsync откл у него? Надеюсь, что нет :) @mr_apt pic.twitter.com/RW9ijRE9VZ

15:50

вообще, интересно. Постгрес же и с включённым fsync не торопится данные кидать на диск. Синкается только WAL. Вставка 1000 стр. — пара мс

16:02

@backendsecret самое время вспомнить вот это оч. полезное выступление Ильи Космодемьянского (@the_hydrobiont) youtube.com/watch?v=jGOkSe…

16:05
BedquiltDB — A Json document store on PostgreSQL bedquiltdb.github.io

Вот очередная попытка сделать JSON(b) ближе к людям twitter.com/postgresmen/st…

17:28

Речь о postgrest.com - оч. быстрое создание REST API на Постгресе. Штука написана на Haskell, шустрая

17:30

@backendsecret с её появлением для многих задач и даже целых проектов отпадает необходимость в middleware на Python/Ruby/PHP/etc

17:31

@backendsecret про это рассказывал на встрече в Яндексе осенью, см. видео на postgresqlrussia.org

17:33
Interesting real-life BDR use-cases from MasterCard #pgconfus #postgres

Wow. Оно у них уже в бою? Оч. интересно, рассказывай:) twitter.com/alexeyklyukin/…

17:42

Про гибкость Postgres. #1: FDW – удобно для ETL, интеграции. Гляньте на список. И сделано по стандарту ISO/ANSI SQL wiki.postgresql.org/wiki/Foreign_d…

19:04

@backendsecret конечно же, вы можете написать свой FDW. В списке аж 5 для CSV-файлов, например

19:06

Гибкость Postgres #2: Extensions. Это целый мир:) быстро растёт и усиливается. Та же CitusDB специально была unforked и стала расширением!

19:08

@backendsecret расширения поискать можно, например, на pgxn.org Кстати, только открыл для себя этот сайт:)

19:10

@backendsecret и кстати, сайт создал David E. Wheeler, продуктами которого (sqitch, pgTAP) давно пользуюсь и рекомендую

19:12

Это другая совсем история, внутри крупной компании под единым управлением. Здесь FOSS. Хотя и они умирают, конечно @makhov @postgresmen

19:13

… но только когда никому не нужны! PostgREST-у это пока явно не светит 😎

19:15

Отличные заметка и слайды Брюса про нереляционную сторону Постгреса momjian.us/main/blogs/pgb… pic.twitter.com/n4E3g4QPcK

4:39

NB: всем обязательно отвечу, просто весь день был очень загружен, стартапы, демо-день в Стенфорде, аппки, реакты… Ну и постгресы, конечно 😅

4:41

А пока скажите, согласны ли с этой картинкой? Если нет, почему? Как видите развитие тенденций СУБД-рынка? pic.twitter.com/QDp6i8oEbY

4:43

Встретил создателя ToroDB @ahachete рассказывает очень интересно. Если сейчас используете Монго, пробуйте! Данные хитро хранятся, шустрая

21:37

… особенно хорошо виден выигрыш для агрегирующих запросов и для запросов и для non-indexed queries

21:41

@backendsecret а также ToroDB умеет работать с Greenplum на борту

21:42
@backendsecret @strangeqargo when is the next conference in Russia? I would love to be part of it...

1) pgday.ru/en/2016 SPb 07.16, 2) highload.co Moscow 10.16, 3) PgConf.ru Msc 02.17 twitter.com/sameerkasi200x…

19:39

@backendsecret all three are very open to foreign speakers

19:40

Кажется, я совсем оккупировал этот микробложик. Если не отберут доступ, скоро устрою вакханалию и начну безудержно постить слоников :-)

19:42
@backendsecret ПОДУМОЙ. ВРУБИ СЛОНИКОВ.
19:44

Postgres Power #1: играем музыку (`echo -ne $(psql postgres -AXtf bells.sql) > bells.wav`) explainextended.com/2014/12/31/hap…

20:03

… Postgres Power #2: рисуем картинки explainextended.com/2012/12/31/hap… pic.twitter.com/grQAoFYLKP

20:05

… Postgres Power #3: рисуем совсем настоящие картинки, а не какой-то там ASCII art pgday.ru/files/papers/2… pic.twitter.com/SzstMrZN0n

20:12
wowowow! expect #Postgres 9.6 beta1 sooon!

И напоследок ;-) twitter.com/postgresmen/st…

1:52

# Среда 65 твитов

@backendsecret а вот здесь можно на русском почитать про некоторые известные расширения: postgresql.leopard.in.ua/html/#расширен…

3:49

@backendsecret а здесь — как создавать свои: habrahabr.ru/post/198332/

3:57

@backendsecret и, наконец, свежие слайды про расширения от Анастасии Лубенниковой: slideshare.net/AnastasiaLuben…

3:58

Ещё про расширения. Знаете, что такое GiST? Если нет, обязательно почитайте! Это жемчужина расширяемости в Postgres postgresql.org/docs/current/s…

8:19

@backendsecret на этом основана эффективная работа геометрических типов данных (и PostGIS), полнотекстового поиска, типов hstore, ltree

8:22

@backendsecret более 20 лет назад, когда J. M. Hellerstein et al. внимательно посмотрели на алгоритмы балансировки B- и R-tree, их осенило …

8:24

@backendsecret … что можно сделать абстракцию — реализовать весь движок работы с деревом, не зная заранее тип данных и набор операторов …

8:26

@backendsecret …в общем, почитайте лучше источник db.cs.berkeley.edu/papers/vldb95-… Оно того стоит :-) Классика

8:26

@backendsecret Ну а дальше – история. О. Бартунов и Ф. Сигаев встряхнули GiST, сделали его ACID, потом придумали GIN postgresql.org/docs/current/s…

8:28

@backendsecret Ну а без GIN никуда, если используете тип JSONB. Кстати, этот индекс можно тюнить (jsonb_path_ops), сильно влияет на размер

8:33

Расширяемость #3: Extensible Index Access Methods (9.6). Хакерам из @PostgresPro было мало текущей расширяемости :-) akorotkov.github.io/blog/2016/04/0…

8:35

Эта штука появится только в 9.6 и нужна для того, чтобы делать такие расширения, какие раньше можно было делать только пропатчив ядро

8:35

@backendsecret а значит, скорость разработки и релиза расширений увеличится. В частности, обещают крутые улучшения полнотекстового поиска

8:36
@backendsecret на этой неделе какой-то @dbasecret прям :)

Придётся разбавить секретами DBD ;-) К концу недели обещаю twitter.com/mkn8rd/status/…

8:38
@backendsecret а вот такое нормально прокатывает? stackoverflow.com/a/28202449 Просто у нас к примеру десятки миллионов записей для конвертации…

10^7 — не так много, но я бы не стал делать одним UPDATE. а) протестируйте, б) рассмотрите менее стрессовый вариант… twitter.com/mktums/status/…

10:25

@backendsecret …когда делается новый столбец и данные мигрируют туда неблокирующими UPDATE (либо в цикле пачками, либо CTE)

10:26

@backendsecret пример батчевого подхода engineering.tilt.com/7-postgresql-d…

10:28
Khmmm. This CTE approach to update many rows looks interesting news.ycombinator.com/item?id=9018129 pic.twitter.com/FMtB83Ue70

@backendsecret … и вот про UPDATE using CTE twitter.com/postgresmen/st…

10:31

@backendsecret не сказал явно, но, надеюсь, и так понятно, что тот ALTER — это по сути UPDATE всей таблицы, т.к. JSON и JSONB физ-ски разные

10:33
Citus launches Citus Cloud beta delivering Postgres database as a cloud service tcrn.ch/1YH56gV by @ron_miller
16:59

Сага о кластере. Все, что вы хотели знать про горизонтальное масштабирование в Postgres‘е (видео+текст. расшифровка) highload.guide/blog/saga-clus…

23:25
POSTGRES.chat – memorize this link, it's a list of Postgres-related chats (Slack, Telegram, Gitter, IRC) pic.twitter.com/wdGT1hsM2Q

Вот, теперь по «красивому урлу» Postgres.chat не один чат, а ссылки на разные чаты на английском и русском twitter.com/postgresmen/st…

1:13

@backendsecret гляньте плз на разных устройствах — нормально список выглядит?

1:14

@backendsecret и ещё про ToroDB – вот интервью @ahachete (англ) percona.com/blog/2016/04/1… а вот слайды slideshare.net/8kdata/superch…

1:19

Как вы изучали теорию баз данных и SQL?

3:54
@backendsecret sql в лице pg семимильными шагами наращивает аудиторию, вытесняя в некоторых местах ту же mongo. Так выглядит со стороны.
3:55
@backendsecret но кажется, что будущее за вывернутыми наизнанку архитектурами :) (Apache Kafka based например)
3:55

Средствами самого Постгреса — нет. Придётся искать решения «снаружи». Можно вешать user vars на db и role — может пригодиться @hypersleeep

4:00

ага, было, но можно и повторить/расширить :-) Как вы делаете их? Что интересует? @eekhabarov

4:00
@backendsecret привет! Используете какой-нить софт для проектирования схемы/поддержки схемы в актуальном состоянии?

Речь про графические схемы? Давно забросил это дело. Руками DDL на dev-сервере в mosh+tmux+vim с плагинами twitter.com/sergeyfast/sta…

8:14

@backendsecret ну и ни шагу без sqitch (или liquibase или т.п.), о чём я тут вторую неделю распинаюсь :-)

8:15

Ну он рассказал принципы. Всё опенсорс и можно же найти час-два на тестирование. У меня сейчас нет монг (чему я рад) @shved270189 @ahachete

8:18

👿 опять вы меня расстраиваете перед сном. Читайте хорошие книжки!! Будьте профи, а не stackoverflow-troubleshooters! pic.twitter.com/r8kImbGPuP

8:21
@backendsecret, расшарь примеры работы с #liquibase github.com/pkorobeinikov/… и #flyway github.com/pkorobeinikov/… — думаю, будет полезно.
14:49
@backendsecret посоветуй хорошую книгу по sql?

Классика — Joe Celko, SQL for Smarties (и другие книги) twitter.com/serhey_shmyg/s…

22:40

Российская классика — мой глубокоуважаемый научрук — Сергей Кузнецов, Основы современных баз данных

22:41

Из современного: чумовой @MarkusWinand, книга, онлайн-ресурсы (прежде всего, use-the-index-luke.com

22:43

По серверному программированию в Постгресе есть довольно свежая "PostgreSQL Server Programing" (Hannu Krosing et al.), мне очень понравилась

22:47

(взялся было её переводить, но пока сильная нехватка времени 😕)

22:48
@backendsecret учите людей хранимки писать? Ой, нехорошо! 😱

Ну что за ересь. Даже уже не интересно спорить. twitter.com/alexeybalchuna…

23:13
Я тут прохожу курс coursera.org/learn/electros…, который "Self-Paced", то есть для самостоятельного изучения... На форуме НИКОГО, кроме меня:)

Печально. Но я этот курс тоже проходил ещё в 2014, когда появился. И ещё раз вживую – у Овчинкина, более 15л назад:) twitter.com/alexeybalchuna…

23:24

вот, заодно и по физике посоветовали ;) @AlexeyBalchunas

23:27
@backendsecret да да! плюсую за список рекомендованной литературы!

Начал постить списочек (см. твиты ранее). Наводите на разные предметные области — помогу, чем смогу twitter.com/flydiefly/stat…

23:37

Не удержался: час в пробках (пробки в Долине - это когда 60 км/ч) и вот слушаю нашу Postgres-легенду Bruce Momjian pic.twitter.com/IElLZXQQeg

2:35

@backendsecret … я уже упоминал этот новый доклад Брюса — momjian.us/main/writings/…

2:36

@backendsecret ну и напоминаю, что Брюс часто бывает в России. Можно встретить на: highload.ru, pgday.ru, pgconf.ru — приходите!

2:37

@backendsecret оператор <@ вкупе с индексами GiST и Gin — реально Big Thing в Постгресе

2:40

@backendsecret вовремя появился :) теперь Брюс постоянно ссылается на вклад made by Russians )) pic.twitter.com/CuFAszB35i

2:43
@backendsecret вот вы посоветовали поиграться с jsonb в postgres, мол удобно и круто, вчера дошли руки и по ощущениям это какой-то перл %)

Ха! А вы другие СУБД, где есть манипуляция с JSON смотрели? А Монгу? twitter.com/strizhechenko/…

2:52

Это дело привычки. Ну и всю мощь, конечно, можно прочувствовать, если вам нужно хранить и реляции @strizhechenko

2:53

Ох... Не знаю, как можно жить без хранения важных данных в реляционных таблицах с полноценной схемой @strizhechenko

2:55

Я имел ввиду какая там жесть с синтаксисом :) @strizhechenko

2:56

После SQL, изначально рождённого человекочитаемым, для аналитиков —да. На мой взгляд, руками с JSON там ещё сложнее работать @strizhechenko

3:00

Ну и вся манипуляция с JSON в Постгресе живёт внутри SQL, манипуляционные мощь которого развивалась десятилетия @strizhechenko

3:02

@backendsecret прорекламировал и новые разработки by Russians перед местной публикой — с выходом 9.6 стоит ожидать быстрый full text search)

3:17

@backendsecret *более быстрый. Ибо он быстр и сейчас — благодаря GiST и особенно GIN

3:18

И ещё раз про эту презентацию Брюса. Назову её Postgres Power #0: специальные типы данных и индексы. Must see momjian.us/main/writings/…

3:21

@backendsecret Bruce Momjian: "аккуратнее со всей этой крутизной Постгреса, не объешьтесь" :-) pic.twitter.com/ejxI6jfGf4

3:23
Итак, самый простой способ обозначать версии—порядковый номер: 1,2,3. Так сделано в PostgreSQL, например. Просто и для локальной системы ОК
8:51

а почему, кстати, Гугл перестал продвигать offline mode? помню, активно развивалось… @jsunderhood

8:53

а как в таких системах решаются проблемы безопасности? ведь не всегда клиенту можно отдать на откуп все его данные из БД @jsunderhood

8:55
Очень интересно сейчас между собой коррелируют @backendsecret и @jsunderhood.
8:56

одно другому не мешает ;-) @vanadium23

8:57

# Четверг 24 твита

Кто проходил процесс отказа от приложений на Ruby/Python/PHP/… в пользу хранимок, REST API и толстого клиента (JS/mobile)? Интересны кейсы

17:33
@strangeqargo @backendsecret хранимки безусловное зло

Расскажите это Skype, Яндексу или любому банку:) twitter.com/theaspect/stat…

18:14
@strangeqargo @backendsecret проблема хранимок не в умении их готовить, а в том что они находятся не рядом с остальной бизнес логикой

А где находится «остальная бизнес-логика»? Вдали и от ваших данных, и от интерфейсов? twitter.com/theaspect/stat…

18:15
@theaspect тут как раз о том, что 99% логики в хранимках, например. сам я такое не делал, слышал и хорошие и плохие отзывы @backendsecret

Плюс обработки данных «рядом с данными» очевиден — это просто быстрее, нет сети. Но нужно думать о масштабировании twitter.com/strangeqargo/s…

18:17
@strangeqargo @backendsecret смотри мама я обновляю логику без передеплоивания, шмошри мама я бес субоф

Вы DDL накатываете руками? Я уже упоминал о sqitch, советую sqitch.org twitter.com/theaspect/stat…

18:18

А ещё liquibase — об этом продукте недавно хорошо рассказал Михаил Балаян на встрече #PostgreSQLRussia в ЛАНИТ meetup.com/postgresqlruss…

18:21

@backendsecret в этом же рассказе и о проблемах БД-деплоя в крупных проектах в целом, посмотрите, полезно

18:22
@backendsecret у знакомых такой фреймворк на высокой нагрузке: тонкая прослойка c++ и / хранимки постгреса. остальное - фронтэнд

👍 twitter.com/strangeqargo/s…

18:23

Как вы выкатываете изменения в БД?

18:27
@strangeqargo @theaspect @backendsecret хранимки в гите, кодревью, все дела и нет проблем
19:30
@strangeqargo @backendsecret надо просто в постгрес засунуть nodejs, и тут начнётся :)

А уже почти, апокалипсис близок :-) Есть plv8, но правда, пока trusted (не имеет права общаться с внешним миром). twitter.com/borovikov/stat…

19:31
@strangeqargo @backendsecret проблема хранимок в том, что мало адекватных инструментов, как для Java, например.

Согласен, всё ещё нет нормальных плагинов для vim, в которых было бы удобно отлаживать pl/pgsql ;-) twitter.com/borovikov/stat…

19:32
@backendsecret @theaspect @strangeqargo данные должны быть глупыми. Хотя бы ради ухода от вендор лока.

Да ладно! Данные должны быть в правильных форматах и обрабатываться хранимками — чтобы не было language lock-а ;-) twitter.com/ostelaymetaule…

19:32

@backendsecret (sarcasm mode; конечно, каждому проекту нужно вибирать решение исходя из приоритетов)

19:35

полность, согласен, коллега! Вот ещё бы не было проблемы выбора языка для написания хранимок… Так жаль, что она есть @ostelaymetaule

19:36
Данные должны быть универсальными – чтобы не было format lock’а! twitter.com/backendsecret/…
19:56

Санта Клара: Percona Live, встретил @the_hydrobiont и @kostja_osipov! pic.twitter.com/6UE1nL2UAB

21:22

Илья раздал 250 наклеек со слоником Постгреса! :-)) сколько посетителей, 500?

21:22
@backendsecret как лучше/надежнее/быстрее/etc. ставить #postgres, пакеты vs сборка из исходников?

Тут нет однозначного ответа. Кончно, пакеты предпочтительнее (стабильность, зависимости), но вот, например… twitter.com/eekhabarov/sta…

0:06

…до чего может довести Debian-пакет Постгреса обычно очень спокойного Postgres DBA: facebook.com/photo.php?fbid… pic.twitter.com/5PyfVRpUKz

0:11

@backendsecret сегодня что-то необычно много опечаток… Сорри.

0:16
github.com/calebmer/postg… A GraphQL schema created by reflection over a PostgreSQL schema. (HN discussion: news.ycombinator.com/item?id=115831…)

О, GraphQL теперь стало легче добиться от Postgres-БД. Автор — один из контрибюторов PostgREST. twitter.com/postgresmen/st…

15:37

Оуоу, рус группа в телеграме за пару дней выросла в 4 раза (с 50 до 200+), англ - до 41. Работает Postgres.chat :) и многие отсюда

20:56

О полезности индексов по выражениям habrahabr.ru/post/282932/ — А вы такие индексы используете?

20:11

# Пятница 35 твитов

Печальная статистика pic.twitter.com/3nz8da8pvP

6:11

Статистика повеселее 😎 pic.twitter.com/JwYmgOyeaB

6:13

Ну так можно повыбирать было liquibase.org/sqlite.html metacpan.org/pod/sqitchtuto…, и ещё варианты см. тут facebook.com/groups/postgre… @strizhechenko

6:26

ну как же, есть ведь plsh, ходите куда угодно прям из SQL-среды :)) @suicidecoding

6:59
Nice succinct post on Postgres index types - robots.thoughtbot.com/postgres-index…

Свежая небольшая заметка о том, какие бывают индексы в #defaultdbms twitter.com/craigkerstiens…

7:52
Крутейшее чтиво про историю логотипа #Postgres . И почему имено слон. И почему только голова. obartunov.livejournal.com/186860.html
7:52
@backendsecret а посоветуй годную доку по PG

postgresql.org/docs/current/i… годнее некуда twitter.com/blia/status/72…

16:39

oneworld=$( curl -Ls http://bit\.ly/globe_vt );while sleep .1;do pv -L4220 -q <<<"$oneworld";done

18:39

Как сделать масштабируемый полнотекстовый поиск на Постгресе и Citus citusdata.com/blog/14-marco/…

17:44

А вы не забываете использовать опцию CONCURRENTLY при создании индексов? blog.endpoint.com/2016/04/postgr…

17:45

Маленький трюк для архивирования удалённых записей (здесь только id, но никто не мешает вставлять строку целиком) pic.twitter.com/EA9fGHeSLp

17:55

Если вы сейчас не пьяны и не спите — айда в холиварное сражение на полях Хабра! habrahabr.ru/post/282764/ Сам я пас — рабочий полдень 🔨

19:39

Что думаете вот про такое? c2h5oh, a lightweight framework for building web apps using power of Nginx and Postgres github.com/genosse/c2h5oh

10:46

В Heroku теперь Постгрес 9.5 в бою! Хероку — мегакрутые, посмотрите на них, если ещё не. Pet projects можно нахаляву крутить

10:55
Наконец-то установили дебаггер для хранимок на Postgres. Я об этом пол года мечтал.

И как оно? И какой именно? twitter.com/mIK_LH/status/…

22:16
Тви, а есть хороший онлайн курс по postgresql? Можно без особой глубины подхода (хотя это будет плюсом), мне только запросы писать.

Вот прямо курсов, прямо онлайн, прямо хороших пока нет. Знаю о таких, которые пока готовятся только к выходу. twitter.com/fatemancer/sta…

22:42

@backendsecret но хорошая новость — если изучите основы SQL по хорошей книге, то потом с Постгрес работать легко, иногда заглянывая в доки

22:44

@backendsecret хорошие книги для изучения основ БД и SQL — это К. Дейт, С.Д. Кузнецов, М. Грабер, Дж. Целко

22:46

@backendsecret всё это — «классика». периодически делают более свежие книжки. И их даже переводят. Пример ozon.ru/context/detail…

22:48

@backendsecret Чуть сложнее технически — Крис Дейт про SQL, более-менее свежий ozon.ru/context/detail…

22:50

сначала лучше усвоить основы SQL. Доки очень хороши, но без понимания SQL будет туго. Так как это справочник, а не учебник. @fatemancer

22:53
@backendsecret нет смысла изучать подходы 90-х годов. Там нет например json агрегации данных между документами в пг

Абсолютное и ужасно вредное заблуждение! В этих книгах далеко не 90-е годы (вы же про SQL92?) описываются, twitter.com/tuneyourserver…

22:58

@backendsecret … в SQL:200х наворотили так, что всем реализациям SQL, включая Постгрес, ещё пахать долго. В грамотных книгах про это есть

22:59

@backendsecret и главное: если вы предпочитаете кунг-фу в стиле «с места в карьер» (только доки, только stackoverflow), далеко не уйдёте

23:00

@backendsecret так что сначала учите основы, закладывайте фундамент в голове, хотя бы минимальный, а потом уже доки, практика и тд

23:02

Кстати об онлайн. Не устану рекомендовать use-the-index-luke.com и modern-sql.com качество на высоте, разные СУБД, сравнения

23:05

@backendsecret use-the-index-luke.com раскрывает подробности выполнения разных SQL-запросов в разных СУБД. Полезно и новичкам, и профи

23:07

Опытные авторы — это большой опыт, поколения выросших студентов. Из новых Markus Winand, но его надо после основ @tuneyourserver

23:16

Обучение доверять опытным — правильно. Вот тут на днях в Беркли прошёл экзамен у Хелерстайна :-) @tuneyourserver pic.twitter.com/voAFWykGKw

23:17

я его упоминал N (сколько тут сижу??) недель назад, та самая статья про GiST. Ученик Стоунбрейкера, зав кафедры БД в Беркли @tuneyourserver

23:19
@backendsecret да, но тут проблема. SQL не менялся с 89-го года вроде? Ну, там distinct появился, да.

Вы — тролль, поздравляю %) SQL не менялся, хаха. Бегом сюда modern-sql.com/standard twitter.com/tuneyourserver…

23:20

DDL юзают все. Вам пора спать :-) @tuneyourserver

23:21

# Суббота 3 твита

Надорвём шаблон: немного о MySQL. «Памятка евангелиста PostgreSQL: критикуем MySQL грамотно» — хорошая статья habrahabr.ru/post/268949/

6:41
@backendsecret со шрифтом решилось с помощью devdocs.io/postgresql~9.5… вроде те же.

Теперь по этой ссылке ещё и подсветка кода. @DevDocs только что сделал по просьбам трудящихся ;-) twitter.com/blia/status/72…

17:34

Есть много разных блогов, заметок, статей — я постоянно выкладываю у себя (@postgresmen), НО лучший тюториал — это офиц. док @blia @DevDocs

17:47

# Воскресенье 25 твитов

@backendsecret не хочу устраивать холивар, но ссылки на хорошие доки и учебники на русском были бы крайне полезны

на русском мало ресурсов. хороший блог по основам Postgres DBA – Алексея Лесовского thislinux.org twitter.com/de_gis/status/…

5:41

@backendsecret книг на русском практически нет. Вот, переводил как-то Саймона Риггса и Ханну Кросинга: ozon.ru/context/detail…

5:43

@backendsecret есть ещё онлайн-книги pgcookbook.ru и postgresql.leopard.in.ua

5:43

@backendsecret советую также разные видеоматериалы на русском. В открытом доступе есть: Highload++, PGDay.ru и митапов #PostgreSQLRussia

5:46

@backendsecret из видео для новичков вот например хороший вебинар от Ильи youtube.com/watch?v=Hf59jS…

5:52

@backendsecret вот вам ещё немножко видюшек (подписывайтесь) youtube.com/watch?v=xTPfJo…

6:08

@backendsecret ну и на русском новые материалы периодически сюда поступают postila.ru/postgresmen/po…

6:10

@backendsecret (исправлено) много видео о #PostgreSQL на русском, пополняемая подборка youtube.com/playlist?list=…

6:28

Для тех, кто владеет англ. — свежайшее видео с PGConfUS2016 m.youtube.com/channel/UCsJkV…

21:32

@backendsecret оч. много интересного по Постгресу. Что ж будет на PGCon?.. 👻

21:34

Итоги недели. Хорошо прошёлся по pg-материалам, пораздражал любителей Монги, кому-то (надеюсь!) помог… Спасибо, что следили и ретвиттили!

21:38

При развёртывании REST API (неважно, PostgREST или что-то ещё), позаботьтесь о трёх вещах: 1) автоматические тесты, …

16:10

@backendsecret … 2) безопасность на уровне строк (может ли юзер модифицировать чужие строки; то, чем обычно в вебе CSRF-дыры опасны) …

16:11

@backendsecret … 3) возможность положить ваш сервис, вызывая фильтры/сортировки по непроиндексированным столбцам

16:13

json[b]_build_object — полезная функция для выдачи вложенных данных. Например, выдаёте таблицу сотрудников и в ней же nested инфу об отделах

16:16

@backendsecret Вот как-то так. Приходится, правда, перечислять столбцы по 2 раза pic.twitter.com/tkENyQPkSn

16:19

что в вашем понимании фреймворк? @mkn8rd

16:20

сейчас многие строят свои «фреймворки» для API. Или берут молодые проекты. Доверяй, но проверяй, верно? Ну и тесты-то кто пишет? ) @mkn8rd

16:21

Да, отличный вариант, как же мог забыть про него) Спасибо @komzpa pic.twitter.com/W3Mpn9LNYZ

16:30
@mkn8rd @backendsecret дать пользователю возможность положить базу сортировкой по произвольным столбцам можно и в рамках фреймворка
16:30
@mkn8rd @backendsecret многие фреймворки не мешают прострелить себе ногу, если очень хочется
16:30

Вы не поверите, но всё подход #nobackend всё больше привлекает. PostgREST не перестаёт радовать, как и react & react-native

1:22

@backendsecret в русскоязычном телеграм-чатике по react более полутысячи человек и сходу нашлись соседи из mtn view

1:23

@backendsecret такой вот backend secret :) nobackend.org

1:23

www.youtube.com

wiki.postgresql.org

github.com

other