# Понедельник 74 твита
Привет! На этой неделе будет много Postgres 🐘 😀
11:00Начнём с короткого опроса. Что используете?
11:25why? @dcromster
11:28@backendsecret ага, наметилась было тенденция в пользу My, но тут же Постгрес накатил. Эх, рановато я в своём твиттере ссылку сюда дал
11:30@backendsecret MySQL на работе и привычка, Монго и редиска в пет проектиках.
Вот отличный кейс. Буду агитировать в пользу Постгреса для пет проектиков. Причина #1: JSON отличнейший же уже … twitter.com/dcromster/stat…
11:31@backendsecret #2: облака уже отлично дружат с Постгресом. Сегодня крутил облака Heroku – удобно всё, молодцы они …
11:32@backendsecret … да и Амазон буквально позавчера Postgres 9.5 в своём RDS выкатил. (Кстати, Хероку для пет-проектов — халявен)
11:33@backendsecret причина #3: а вы просто попробуйте. Большинство потом удивляются «и почему я раньше не использовал»
11:36полиглотство! :) а вот как на Ваш взгляд полнотекстовый поиск в Эластике в сравнении со встроенным Postgres FTS? @mktums
11:37@backendsecret расскажи почему лучше монги например для json'a
Постгрес — это и быстрые (дада, быстрее Монги) индексы для JSON, и мощь отличной ОРСУБД со всеми ACID, WAL и тд twitter.com/raxpost/status…
11:41@backendsecret что там говорить. just google that. что-то типа «postgresql json mongodb»
11:42@backendsecret @mktums sqlite, influxdb. Больше ничего не умею)
👍 Отличное время начать учить Постгрес! Доки превосходные, просто поставьте и поиграйтесь. Можно в облаках Heroku twitter.com/strizhechenko/…
11:44Скейл есть. Уже куча решений для шардирования, реплик самых разных, управления всем этим. @raxpost
11:45Ну и ответ на вопрос про scale не могу не сопроводить роликом youtube.com/watch?v=b2F-DI…
11:46@backendsecret сколько записей ПГ может держать?
Один инстанс Постгреса может держать _неограниченное_ количетсво записей. Даже в _одной_ таблице twitter.com/dcromster/stat…
11:48@backendsecret Как ещё ответить на этот вопрос… сколько записей у Avito, Яндекс.Почты, TripAdvisor, Disqus? :)
11:50что такое «большие update»? @robert_egorov
11:52@backendsecret расскажите плз для чего pg не подходит. мы вот столкнулись с тем, что большие update убивают производительность.
Не подходит: 1) для аналитики (но есть доп. OSS-продукты: CitusDB, Greenplum) … twitter.com/robert_egorov/…
11:53@backendsecret … 2) для стриминговых данных (но есть OSS-продукт PipelineDB) …
11:54@backendsecret … для чего ещё? хм… 3) ну, для вычислений на GPU :) (хотя есть PGStrom) продолжать? 😈
11:56а сколько это физически? и сколько памяти? сколько shared_buffers и есть ли что-то ещё на машине ресурсоёмкого? @robert_egorov
11:57Есть ряд подходов. Помимо «в лоб» (денормализация), в некоторых случаях выручает, например, такое wiki.postgresql.org/wiki/Loose_ind… @chikiro_twi
11:59ну и если выборки по скалярным полям, со статистикой всё ок и подходят примерные значения — wiki.postgresql.org/wiki/Count_est… @chikiro_twi
12:00@backendsecret юзаем Greenplum, отлично подходит для аналитики.12:01
кстати про Greenplum – свежие материалы по нему на страничке сообщества PostgreSQLRussia.org, см. встречу в банке Тинькофф @rusgautama
12:03накатил на этот аккаунт постгрес-подписчиков. Знай наших ) pic.twitter.com/3vlVGywqk3
12:05Кстати про PostgreSQLRussia.org. Присоединяйтесь — у нас неплохие встречи последние пару лет получаются. Ну и там много слайдов и видео 👀
12:07Смотрите-ка что только что выпустили :-) coverage.postgresql.org А какой code coverage в ваших проектах?
12:23Полтретьего ночи, пора поспать… Напоследок. А ваша вот так СУБД умеет? 😈 wiki.postgresql.org/wiki/Mandelbro… pic.twitter.com/3flB5bxpkS
12:30кстати, а вот только что и видео прислали из банка yadi.sk/d/m0BoNfNEqwyVP @rusgautama
12:35@dcromster тю! (это про 100%), про реестр читаем тут servernews.ru/930383 и zoom.cnews.ru/soft/news/line… @backendsecret12:37
@de_gis это же форк насколько я понимаю. И как-то это попахивает. @backendsecret
Нет, не форк. Читайте внимательно второй абзац: postgrespro.ru/products/postg… twitter.com/dcromster/stat…
12:56Для чего не очень подходит PostgreSQL de-gis.livejournal.com/157934.html
хороший пост :) @de_gis 👍 twitter.com/postgresmen/st…
13:11Instagram 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…
13:12«что бы без транзакций»? спасибо, нет :-) @borovikov @raxpost
13:14у вас есть опыт в бою? Думаю, вы толком и не сравнивали. Поизучайте опыт других google.com/?ion=1&espv=2#… @borovikov
13:17Mongo reached 10000023 downloads! Or, as our other node reports, 9999975. Ну а писать запросы к Монге ручками – отдельная песня @borovikov
13:21Для вас у меня есть отдельная штука, вам понравится, уверен github.com/torodb/torodb Не благодарите) @borovikov
13:23Ну и чтобы закрыть тему монги. К концу 2015 она себя окончательно дискредитировала, весьма виртуозно linkedin.com/pulse/mongodb-… @borovikov
13:25Интересное для тех, кто работает с распределёнными системами. Реализация Paxos для Постгреса citusdata.com/blog/14-marco/… pic.twitter.com/24MqiLYQTT
13:57@backendsecret вот в CitusDB мастер нода является SPOF. Интересно, а pg_paxos подойдет для мульти-мастер нод в СitusDB?
Ну, не такая уж прямо и SPOF: citusdata.com/docs/citus/4.0… twitter.com/hypersleeep/st…
14:19@backendsecret считаете не стоит пытаться делать OLAP на чистом postgres?
Всё зависит от объёмов и мощностей. Для некоторых проектов достаточно гонять запросы по приостановленной реплике twitter.com/ndmitry/status…
14:32Кстати, в таких случаях удобно делать отчеты в форме views и materialized views
14:33@backendsecret но надо быть готовым перестраивать их целиком при накатывании DDL на underlying tables - автоматики тут пока нет
14:35@backendsecret а если кому надо решение для управления постгрес матвью по крону - вот, сделали в Mozilla github.com/mozilla/cronta…
14:38Вот из-за @backendsecret и @ErrorSoul хочу в одном проекте поюзать postgres и redis, сейчас он вообще практически serverless.19:02
PGInsight - CLI tool to easily dig deep inside your #Postgresql database. pginsight.io #postgres #sql pic.twitter.com/7M9pSGiXNO
Интересное для тех, кто любит заглянуть внутрь twitter.com/waxzce/status/…
19:09Про бэкапы. Осенью был отличный #PostgreSQLRussia в Яндексе. Владимир Бородин разложил по полочкам Постгрес-бэкапы events.yandex.ru/events/yagosti…
21:33@backendsecret а вот слайды про постгрес-бэкапы slideshare.net/samokhvalov/20… "Как спать спокойно", Владимир Бородин (@man_brain), Яндекс.Почта
21:45А вот смежная тема — когда всё очень плохо и нужно срочно спасать свою БД 🙀 Немного, так сказать, про коррупцию:) wiki.postgresql.org/wiki/Corruption
21:51@backendsecret эту страничку полезно иметь под рукой. На всякий пожарный.
21:52Для тех, кто владеет англ. — свежайшее видео с PGConfUS2016 m.youtube.com/channel/UCsJkV…
0:32@backendsecret оч. много интересного по Постгресу. Что ж будет на PGCon?.. 👻
0:34Итоги недели. Хорошо прошёлся по pg-материалам, пораздражал любителей Монги, кому-то (надеюсь!) помог… Спасибо, что следили и ретвиттили!
0:38Снова здравствуйте! Никто же ведь не против послушать про PostgreSQL ещё недельку, правда? 😄😎🐘
9:43@backendsecret @postgresmen Мало писал, не ответил на все вопросы :( Могло быть очень интересно.
Ну вот, есть шанс исправиться — буду занудничать про Постгрес тут ещё немного 😉 twitter.com/freiksenet_ru/…
9:44В продолжение опричников прошлой недели — какие индексы вы используете?
9:50@backendsecret Расскажи тогда про multitenant сервера. Какой оверхед у каждой схемы?
А что у вас, хостинг? twitter.com/freiksenet_ru/…
10:00@backendsecret и про какие схемы речь? (выбор между "1 db, many schemas" VS "many db, 1 schema", или что?)
10:03воу. #GraphQL! 👏 👍 Интересно, сам сейчас по горло в #React. А как реализовано, самописное или что-то готовое взяли? @freiksenet_ru
10:05@backendsecret норм конечно же, а то я уже хотел отписываться10:07
ага. ну честно, хостинги — совсем не моё) знаю, что тяжко хостерам приходится. Шетухин всегда матами кроет за pg_hba и пр.:) @freiksenet_ru
10:09на конференциях иногда эта тема проскакивает, про SaaS-варианты в том числе; гуглиться должно легко. Так вопрос был про schemas VS db-s?
10:11а вы сейчас с sqlite живёте, я так понимаю? или уже на постгрес переехали? @freiksenet_ru
10:14@backendsecret Я так и понял :) Multitenant реально все плохо делают, что в общем-то понятно.
А не рассматривали вариант жить на Heroku или Amazon RDS? Это же кучу головняка снимет. И продаться проще будет ;-) twitter.com/freiksenet_ru/…
10:21Шедевры живописи (из Постгрес-чата в Телеграме) 😂😅🙃 classicprogrammerpaintings.com
11:08#Postgres chats: goo.gl/b0bQs6 🇷🇺telegram.me/postgreschat7h �Postgres.chatS5vo 🇷🇺 gipostgres-slack.herokuapp.comce3ruw 🇬🇧 slack
11:41@backendsecret сейчас-то понабегут (:11:44
# Вторник 38 твитов
Снова здравствуйте) Вчера был загруженный день, Ну и напоминаю, что я в PST timezone. Так что — про Постгрес и всё, что около!
17:56The 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…
17:59Заварю кофе и буду отвечать на накопившиеся вопросы. А пока — порекламирую нашу суперактивную фейсбук-группу: facebook.com/groups/postgre…
18: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…
18:18No way:) Everything will be fine I'm sure. And both Russian PG confs will continue attract a lot of foreigners, as usual @strangeqargo
18:22@de_gis @freiksenet_ru @backendsecret проверка суровым интерпрайзом!
про «суровый интерпрайзом» обязательно поговорим сегодня-завтра, обещаю) twitter.com/borovikov/stat…
18:27О постгрес-постгрес - @backendsecret вот что меня больше всего раздражает в postgresql так это поведение... tmblr.co/ZlL1rt25EVqxw18:28
Вопрос некорректный. Скейл и транзакции одновременно — это же не проблема, так? CAP говорит 2из3 @raxpost @freiksenet_ru @borovikov
18:32@vporoshok я примерно также думал про любой nosql, а кто-нибудь и про мускуль, уверен. @backendsecret18:34
@backendsecret @raxpost так а может дать ссылку на aphyr.com
Вы, наверное, про это? aphyr.com/posts/282-call… Ну, тут про чистый Постгрес, а мы там говорили про CitusDB… twitter.com/kazhuravlev/st…
18:38Какой способ вставки? Индексы, FK, триггеры есть? Что в логах, нет ли WARNINGs? Ну и конфиг интересен Постгреса и имеющиеся ресурсы @mr_apt
18:39Вот на сайте SQLite нашлось sqlite.org/speed.html У вас тоже fsync откл у него? Надеюсь, что нет :) @mr_apt pic.twitter.com/RW9ijRE9VZ
18:50вообще, интересно. Постгрес же и с включённым fsync не торопится данные кидать на диск. Синкается только WAL. Вставка 1000 стр. — пара мс
19:02@backendsecret самое время вспомнить вот это оч. полезное выступление Ильи Космодемьянского (@the_hydrobiont) youtube.com/watch?v=jGOkSe…
19:05BedquiltDB — A Json document store on PostgreSQL bedquiltdb.github.io
Вот очередная попытка сделать JSON(b) ближе к людям twitter.com/postgresmen/st…
20:28Речь о postgrest.com - оч. быстрое создание REST API на Постгресе. Штука написана на Haskell, шустрая
20:30@backendsecret с её появлением для многих задач и даже целых проектов отпадает необходимость в middleware на Python/Ruby/PHP/etc
20:31@backendsecret про это рассказывал на встрече в Яндексе осенью, см. видео на postgresqlrussia.org
20:33Interesting real-life BDR use-cases from MasterCard #pgconfus #postgres
Wow. Оно у них уже в бою? Оч. интересно, рассказывай:) twitter.com/alexeyklyukin/…
20:42Про гибкость Postgres. #1: FDW – удобно для ETL, интеграции. Гляньте на список. И сделано по стандарту ISO/ANSI SQL wiki.postgresql.org/wiki/Foreign_d…
22:04@backendsecret конечно же, вы можете написать свой FDW. В списке аж 5 для CSV-файлов, например
22:06Гибкость Postgres #2: Extensions. Это целый мир:) быстро растёт и усиливается. Та же CitusDB специально была unforked и стала расширением!
22:08@backendsecret расширения поискать можно, например, на pgxn.org Кстати, только открыл для себя этот сайт:)
22:10@backendsecret и кстати, сайт создал David E. Wheeler, продуктами которого (sqitch, pgTAP) давно пользуюсь и рекомендую
22:12Это другая совсем история, внутри крупной компании под единым управлением. Здесь FOSS. Хотя и они умирают, конечно @makhov @postgresmen
22:13… но только когда никому не нужны! PostgREST-у это пока явно не светит 😎
22:15Отличные заметка и слайды Брюса про нереляционную сторону Постгреса momjian.us/main/blogs/pgb… pic.twitter.com/n4E3g4QPcK
7:39NB: всем обязательно отвечу, просто весь день был очень загружен, стартапы, демо-день в Стенфорде, аппки, реакты… Ну и постгресы, конечно 😅
7:41А пока скажите, согласны ли с этой картинкой? Если нет, почему? Как видите развитие тенденций СУБД-рынка? pic.twitter.com/QDp6i8oEbY
7:43@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…
22:39@backendsecret all three are very open to foreign speakers
22:40Кажется, я совсем оккупировал этот микробложик. Если не отберут доступ, скоро устрою вакханалию и начну безудержно постить слоников :-)
22:42@backendsecret ПОДУМОЙ. ВРУБИ СЛОНИКОВ.22:44
Postgres Power #1: играем музыку (`echo -ne $(psql postgres -AXtf bells.sql) > bells.wav`) explainextended.com/2014/12/31/hap…
23:03… Postgres Power #2: рисуем картинки explainextended.com/2012/12/31/hap… pic.twitter.com/grQAoFYLKP
23:05… Postgres Power #3: рисуем совсем настоящие картинки, а не какой-то там ASCII art pgday.ru/files/papers/2… pic.twitter.com/SzstMrZN0n
23:12# Среда 58 твитов
@backendsecret а вот здесь можно на русском почитать про некоторые известные расширения: postgresql.leopard.in.ua/html/#расширен…
6:49@backendsecret а здесь — как создавать свои: habrahabr.ru/post/198332/
6:57@backendsecret и, наконец, свежие слайды про расширения от Анастасии Лубенниковой: slideshare.net/AnastasiaLuben…
6:58Ещё про расширения. Знаете, что такое GiST? Если нет, обязательно почитайте! Это жемчужина расширяемости в Postgres postgresql.org/docs/current/s…
11:19@backendsecret на этом основана эффективная работа геометрических типов данных (и PostGIS), полнотекстового поиска, типов hstore, ltree
11:22@backendsecret более 20 лет назад, когда J. M. Hellerstein et al. внимательно посмотрели на алгоритмы балансировки B- и R-tree, их осенило …
11:24@backendsecret … что можно сделать абстракцию — реализовать весь движок работы с деревом, не зная заранее тип данных и набор операторов …
11:26@backendsecret …в общем, почитайте лучше источник db.cs.berkeley.edu/papers/vldb95-… Оно того стоит :-) Классика
11:26@backendsecret Ну а дальше – история. О. Бартунов и Ф. Сигаев встряхнули GiST, сделали его ACID, потом придумали GIN postgresql.org/docs/current/s…
11:28@backendsecret Ну а без GIN никуда, если используете тип JSONB. Кстати, этот индекс можно тюнить (jsonb_path_ops), сильно влияет на размер
11:33Расширяемость #3: Extensible Index Access Methods (9.6). Хакерам из @PostgresPro было мало текущей расширяемости :-) akorotkov.github.io/blog/2016/04/0…
11:35Эта штука появится только в 9.6 и нужна для того, чтобы делать такие расширения, какие раньше можно было делать только пропатчив ядро
11:35@backendsecret а значит, скорость разработки и релиза расширений увеличится. В частности, обещают крутые улучшения полнотекстового поиска
11:36@backendsecret на этой неделе какой-то @dbasecret прям :)
Придётся разбавить секретами DBD ;-) К концу недели обещаю twitter.com/mkn8rd/status/…
11:38@backendsecret а вот такое нормально прокатывает? stackoverflow.com/a/28202449 Просто у нас к примеру десятки миллионов записей для конвертации…
10^7 — не так много, но я бы не стал делать одним UPDATE. а) протестируйте, б) рассмотрите менее стрессовый вариант… twitter.com/mktums/status/…
13:25@backendsecret …когда делается новый столбец и данные мигрируют туда неблокирующими UPDATE (либо в цикле пачками, либо CTE)
13:26@backendsecret пример батчевого подхода engineering.tilt.com/7-postgresql-d…
13:28Khmmm. 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…
13:31@backendsecret не сказал явно, но, надеюсь, и так понятно, что тот ALTER — это по сути UPDATE всей таблицы, т.к. JSON и JSONB физ-ски разные
13:33Citus launches Citus Cloud beta delivering Postgres database as a cloud service tcrn.ch/1YH56gV by @ron_miller19:59
Встретил создателя ToroDB @ahachete рассказывает очень интересно. Если сейчас используете Монго, пробуйте! Данные хитро хранятся, шустрая
0:37… особенно хорошо виден выигрыш для агрегирующих запросов и для запросов и для non-indexed queries
0:41@backendsecret а также ToroDB умеет работать с Greenplum на борту
0:42POSTGRES.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…
4:13@backendsecret гляньте плз на разных устройствах — нормально список выглядит?
4:14@backendsecret и ещё про ToroDB – вот интервью @ahachete (англ) percona.com/blog/2016/04/1… а вот слайды slideshare.net/8kdata/superch…
4:19Как вы изучали теорию баз данных и SQL?
6:54@backendsecret sql в лице pg семимильными шагами наращивает аудиторию, вытесняя в некоторых местах ту же mongo. Так выглядит со стороны.6:55
@backendsecret но кажется, что будущее за вывернутыми наизнанку архитектурами :) (Apache Kafka based например)6:55
Средствами самого Постгреса — нет. Придётся искать решения «снаружи». Можно вешать user vars на db и role — может пригодиться @hypersleeep
7:00ага, было, но можно и повторить/расширить :-) Как вы делаете их? Что интересует? @eekhabarov
7:00@backendsecret привет! Используете какой-нить софт для проектирования схемы/поддержки схемы в актуальном состоянии?
Речь про графические схемы? Давно забросил это дело. Руками DDL на dev-сервере в mosh+tmux+vim с плагинами twitter.com/sergeyfast/sta…
11:14@backendsecret ну и ни шагу без sqitch (или liquibase или т.п.), о чём я тут вторую неделю распинаюсь :-)
11:15Ну он рассказал принципы. Всё опенсорс и можно же найти час-два на тестирование. У меня сейчас нет монг (чему я рад) @shved270189 @ahachete
11:18👿 опять вы меня расстраиваете перед сном. Читайте хорошие книжки!! Будьте профи, а не stackoverflow-troubleshooters! pic.twitter.com/r8kImbGPuP
11:21@backendsecret, расшарь примеры работы с #liquibase github.com/pkorobeinikov/… и #flyway github.com/pkorobeinikov/… — думаю, будет полезно.17:49
Не удержался: час в пробках (пробки в Долине - это когда 60 км/ч) и вот слушаю нашу Postgres-легенду Bruce Momjian pic.twitter.com/IElLZXQQeg
5:35@backendsecret … я уже упоминал этот новый доклад Брюса — momjian.us/main/writings/…
5:36@backendsecret ну и напоминаю, что Брюс часто бывает в России. Можно встретить на: highload.ru, pgday.ru, pgconf.ru — приходите!
5:37@backendsecret оператор <@ вкупе с индексами GiST и Gin — реально Big Thing в Постгресе
5:40@backendsecret вовремя появился :) теперь Брюс постоянно ссылается на вклад made by Russians )) pic.twitter.com/CuFAszB35i
5:43@backendsecret вот вы посоветовали поиграться с jsonb в postgres, мол удобно и круто, вчера дошли руки и по ощущениям это какой-то перл %)
Ха! А вы другие СУБД, где есть манипуляция с JSON смотрели? А Монгу? twitter.com/strizhechenko/…
5:52Это дело привычки. Ну и всю мощь, конечно, можно прочувствовать, если вам нужно хранить и реляции @strizhechenko
5:53Ох... Не знаю, как можно жить без хранения важных данных в реляционных таблицах с полноценной схемой @strizhechenko
5:55Я имел ввиду какая там жесть с синтаксисом :) @strizhechenko
5:56После SQL, изначально рождённого человекочитаемым, для аналитиков —да. На мой взгляд, руками с JSON там ещё сложнее работать @strizhechenko
6:00Ну и вся манипуляция с JSON в Постгресе живёт внутри SQL, манипуляционные мощь которого развивалась десятилетия @strizhechenko
6:02@backendsecret прорекламировал и новые разработки by Russians перед местной публикой — с выходом 9.6 стоит ожидать быстрый full text search)
6:17@backendsecret *более быстрый. Ибо он быстр и сейчас — благодаря GiST и особенно GIN
6:18И ещё раз про эту презентацию Брюса. Назову её Postgres Power #0: специальные типы данных и индексы. Must see momjian.us/main/writings/…
6:21@backendsecret Bruce Momjian: "аккуратнее со всей этой крутизной Постгреса, не объешьтесь" :-) pic.twitter.com/ejxI6jfGf4
6:23Итак, самый простой способ обозначать версии—порядковый номер: 1,2,3. Так сделано в PostgreSQL, например. Просто и для локальной системы ОК11:51
а почему, кстати, Гугл перестал продвигать offline mode? помню, активно развивалось… @jsunderhood
11:53а как в таких системах решаются проблемы безопасности? ведь не всегда клиенту можно отдать на откуп все его данные из БД @jsunderhood
11:55Очень интересно сейчас между собой коррелируют @backendsecret и @jsunderhood.11:56
одно другому не мешает ;-) @vanadium23
11:57# Четверг 33 твита
Сага о кластере. Все, что вы хотели знать про горизонтальное масштабирование в Postgres‘е (видео+текст. расшифровка) highload.guide/blog/saga-clus…
2:25Кто проходил процесс отказа от приложений на Ruby/Python/PHP/… в пользу хранимок, REST API и толстого клиента (JS/mobile)? Интересны кейсы
20:33@strangeqargo @backendsecret хранимки безусловное зло
Расскажите это Skype, Яндексу или любому банку:) twitter.com/theaspect/stat…
21:14@strangeqargo @backendsecret проблема хранимок не в умении их готовить, а в том что они находятся не рядом с остальной бизнес логикой
А где находится «остальная бизнес-логика»? Вдали и от ваших данных, и от интерфейсов? twitter.com/theaspect/stat…
21:15@theaspect тут как раз о том, что 99% логики в хранимках, например. сам я такое не делал, слышал и хорошие и плохие отзывы @backendsecret
Плюс обработки данных «рядом с данными» очевиден — это просто быстрее, нет сети. Но нужно думать о масштабировании twitter.com/strangeqargo/s…
21:17@strangeqargo @backendsecret смотри мама я обновляю логику без передеплоивания, шмошри мама я бес субоф
Вы DDL накатываете руками? Я уже упоминал о sqitch, советую sqitch.org twitter.com/theaspect/stat…
21:18А ещё liquibase — об этом продукте недавно хорошо рассказал Михаил Балаян на встрече #PostgreSQLRussia в ЛАНИТ meetup.com/postgresqlruss…
21:21@backendsecret в этом же рассказе и о проблемах БД-деплоя в крупных проектах в целом, посмотрите, полезно
21:22@backendsecret у знакомых такой фреймворк на высокой нагрузке: тонкая прослойка c++ и / хранимки постгреса. остальное - фронтэнд21:23
Как вы выкатываете изменения в БД?
21:27@strangeqargo @theaspect @backendsecret хранимки в гите, кодревью, все дела и нет проблем22:30
@strangeqargo @backendsecret надо просто в постгрес засунуть nodejs, и тут начнётся :)
А уже почти, апокалипсис близок :-) Есть plv8, но правда, пока trusted (не имеет права общаться с внешним миром). twitter.com/borovikov/stat…
22:31@strangeqargo @backendsecret проблема хранимок в том, что мало адекватных инструментов, как для Java, например.
Согласен, всё ещё нет нормальных плагинов для vim, в которых было бы удобно отлаживать pl/pgsql ;-) twitter.com/borovikov/stat…
22:32@backendsecret @theaspect @strangeqargo данные должны быть глупыми. Хотя бы ради ухода от вендор лока.
Да ладно! Данные должны быть в правильных форматах и обрабатываться хранимками — чтобы не было language lock-а ;-) twitter.com/ostelaymetaule…
22:32@backendsecret (sarcasm mode; конечно, каждому проекту нужно вибирать решение исходя из приоритетов)
22:35полность, согласен, коллега! Вот ещё бы не было проблемы выбора языка для написания хранимок… Так жаль, что она есть @ostelaymetaule
22:36Данные должны быть универсальными – чтобы не было format lock’а! twitter.com/backendsecret/…22:56
@backendsecret посоветуй хорошую книгу по sql?
Классика — Joe Celko, SQL for Smarties (и другие книги) twitter.com/serhey_shmyg/s…
1:40Российская классика — мой глубокоуважаемый научрук — Сергей Кузнецов, Основы современных баз данных
1:41Из современного: чумовой @MarkusWinand, книга, онлайн-ресурсы (прежде всего, use-the-index-luke.com
1:43По серверному программированию в Постгресе есть довольно свежая "PostgreSQL Server Programing" (Hannu Krosing et al.), мне очень понравилась
1:47(взялся было её переводить, но пока сильная нехватка времени 😕)
1:48@backendsecret учите людей хранимки писать? Ой, нехорошо! 😱
Ну что за ересь. Даже уже не интересно спорить. twitter.com/alexeybalchuna…
2:13Я тут прохожу курс coursera.org/learn/electros…, который "Self-Paced", то есть для самостоятельного изучения... На форуме НИКОГО, кроме меня:)
Печально. Но я этот курс тоже проходил ещё в 2014, когда появился. И ещё раз вживую – у Овчинкина, более 15л назад:) twitter.com/alexeybalchuna…
2:24вот, заодно и по физике посоветовали ;) @AlexeyBalchunas
2:27@backendsecret да да! плюсую за список рекомендованной литературы!
Начал постить списочек (см. твиты ранее). Наводите на разные предметные области — помогу, чем смогу twitter.com/flydiefly/stat…
2:37@backendsecret как лучше/надежнее/быстрее/etc. ставить #postgres, пакеты vs сборка из исходников?
Тут нет однозначного ответа. Кончно, пакеты предпочтительнее (стабильность, зависимости), но вот, например… twitter.com/eekhabarov/sta…
3:06…до чего может довести Debian-пакет Постгреса обычно очень спокойного Postgres DBA: facebook.com/photo.php?fbid… pic.twitter.com/5PyfVRpUKz
3:11@backendsecret сегодня что-то необычно много опечаток… Сорри.
3:16github.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…
18:37Оуоу, рус группа в телеграме за пару дней выросла в 4 раза (с 50 до 200+), англ - до 41. Работает Postgres.chat :) и многие отсюда
23:56О полезности индексов по выражениям habrahabr.ru/post/282932/ — А вы такие индексы используете?
23:11# Пятница 19 твитов
Санта Клара: Percona Live, встретил @the_hydrobiont и @kostja_osipov! pic.twitter.com/6UE1nL2UAB
0:22Илья раздал 250 наклеек со слоником Постгреса! :-)) сколько посетителей, 500?
0:22Печальная статистика pic.twitter.com/3nz8da8pvP
9:11Статистика повеселее 😎 pic.twitter.com/JwYmgOyeaB
9:13Ну так можно повыбирать было liquibase.org/sqlite.html metacpan.org/pod/sqitchtuto…, и ещё варианты см. тут facebook.com/groups/postgre… @strizhechenko
9:26ну как же, есть ведь plsh, ходите куда угодно прям из SQL-среды :)) @suicidecoding
9:59Nice succinct post on Postgres index types - robots.thoughtbot.com/postgres-index…
Свежая небольшая заметка о том, какие бывают индексы в #defaultdbms twitter.com/craigkerstiens…
10:52Крутейшее чтиво про историю логотипа #Postgres . И почему имено слон. И почему только голова. obartunov.livejournal.com/186860.html10:52
@backendsecret а посоветуй годную доку по PG
postgresql.org/docs/current/i… годнее некуда twitter.com/blia/status/72…
19:39oneworld=$( curl -Ls http://bit\.ly/globe_vt );while sleep .1;do pv -L4220 -q <<<"$oneworld";done
21:39The mobile phone evolution @ValaAfshar pic.twitter.com/ShP206GiYL20:38
Как сделать масштабируемый полнотекстовый поиск на Постгресе и Citus citusdata.com/blog/14-marco/…
20:44А вы не забываете использовать опцию CONCURRENTLY при создании индексов? blog.endpoint.com/2016/04/postgr…
20:45Маленький трюк для архивирования удалённых записей (здесь только id, но никто не мешает вставлять строку целиком) pic.twitter.com/EA9fGHeSLp
20:55Если вы сейчас не пьяны и не спите — айда в холиварное сражение на полях Хабра! habrahabr.ru/post/282764/ Сам я пас — рабочий полдень 🔨
22:39Что думаете вот про такое? c2h5oh, a lightweight framework for building web apps using power of Nginx and Postgres github.com/genosse/c2h5oh
13:46В Heroku теперь Постгрес 9.5 в бою! Хероку — мегакрутые, посмотрите на них, если ещё не. Pet projects можно нахаляву крутить
13:55# Суббота 21 твит
Надорвём шаблон: немного о MySQL. «Памятка евангелиста PostgreSQL: критикуем MySQL грамотно» — хорошая статья habrahabr.ru/post/268949/
9:41@backendsecret со шрифтом решилось с помощью devdocs.io/postgresql~9.5… вроде те же.
Теперь по этой ссылке ещё и подсветка кода. @DevDocs только что сделал по просьбам трудящихся ;-) twitter.com/blia/status/72…
20:34Есть много разных блогов, заметок, статей — я постоянно выкладываю у себя (@postgresmen), НО лучший тюториал — это офиц. док @blia @DevDocs
20:47Наконец-то установили дебаггер для хранимок на Postgres. Я об этом пол года мечтал.
И как оно? И какой именно? twitter.com/mIK_LH/status/…
1:16Тви, а есть хороший онлайн курс по postgresql? Можно без особой глубины подхода (хотя это будет плюсом), мне только запросы писать.
Вот прямо курсов, прямо онлайн, прямо хороших пока нет. Знаю о таких, которые пока готовятся только к выходу. twitter.com/fatemancer/sta…
1:42@backendsecret но хорошая новость — если изучите основы SQL по хорошей книге, то потом с Постгрес работать легко, иногда заглянывая в доки
1:44@backendsecret хорошие книги для изучения основ БД и SQL — это К. Дейт, С.Д. Кузнецов, М. Грабер, Дж. Целко
1:46@backendsecret всё это — «классика». периодически делают более свежие книжки. И их даже переводят. Пример ozon.ru/context/detail…
1:48@backendsecret Чуть сложнее технически — Крис Дейт про SQL, более-менее свежий ozon.ru/context/detail…
1:50сначала лучше усвоить основы SQL. Доки очень хороши, но без понимания SQL будет туго. Так как это справочник, а не учебник. @fatemancer
1:53@backendsecret нет смысла изучать подходы 90-х годов. Там нет например json агрегации данных между документами в пг
Абсолютное и ужасно вредное заблуждение! В этих книгах далеко не 90-е годы (вы же про SQL92?) описываются, twitter.com/tuneyourserver…
1:58@backendsecret … в SQL:200х наворотили так, что всем реализациям SQL, включая Постгрес, ещё пахать долго. В грамотных книгах про это есть
1:59@backendsecret и главное: если вы предпочитаете кунг-фу в стиле «с места в карьер» (только доки, только stackoverflow), далеко не уйдёте
2:00@backendsecret так что сначала учите основы, закладывайте фундамент в голове, хотя бы минимальный, а потом уже доки, практика и тд
2:02Кстати об онлайн. Не устану рекомендовать use-the-index-luke.com и modern-sql.com качество на высоте, разные СУБД, сравнения
2:05@backendsecret use-the-index-luke.com раскрывает подробности выполнения разных SQL-запросов в разных СУБД. Полезно и новичкам, и профи
2:07Опытные авторы — это большой опыт, поколения выросших студентов. Из новых Markus Winand, но его надо после основ @tuneyourserver
2:16Обучение доверять опытным — правильно. Вот тут на днях в Беркли прошёл экзамен у Хелерстайна :-) @tuneyourserver pic.twitter.com/voAFWykGKw
2:17я его упоминал N (сколько тут сижу??) недель назад, та самая статья про GiST. Ученик Стоунбрейкера, зав кафедры БД в Беркли @tuneyourserver
2:19@backendsecret да, но тут проблема. SQL не менялся с 89-го года вроде? Ну, там distinct появился, да.
Вы — тролль, поздравляю %) SQL не менялся, хаха. Бегом сюда modern-sql.com/standard twitter.com/tuneyourserver…
2:20DDL юзают все. Вам пора спать :-) @tuneyourserver
2:21# Воскресенье 21 твит
@backendsecret не хочу устраивать холивар, но ссылки на хорошие доки и учебники на русском были бы крайне полезны
на русском мало ресурсов. хороший блог по основам Postgres DBA – Алексея Лесовского thislinux.org twitter.com/de_gis/status/…
8:41@backendsecret книг на русском практически нет. Вот, переводил как-то Саймона Риггса и Ханну Кросинга: ozon.ru/context/detail…
8:43@backendsecret есть ещё онлайн-книги pgcookbook.ru и postgresql.leopard.in.ua
8:43@backendsecret советую также разные видеоматериалы на русском. В открытом доступе есть: Highload++, PGDay.ru и митапов #PostgreSQLRussia
8:46@backendsecret из видео для новичков вот например хороший вебинар от Ильи youtube.com/watch?v=Hf59jS…
8:52@backendsecret вот вам ещё немножко видюшек (подписывайтесь) youtube.com/watch?v=xTPfJo…
9:08@backendsecret ну и на русском новые материалы периодически сюда поступают postila.ru/postgresmen/po…
9:10@backendsecret (исправлено) много видео о #PostgreSQL на русском, пополняемая подборка youtube.com/playlist?list=…
9:28При развёртывании REST API (неважно, PostgREST или что-то ещё), позаботьтесь о трёх вещах: 1) автоматические тесты, …
19:10@backendsecret … 2) безопасность на уровне строк (может ли юзер модифицировать чужие строки; то, чем обычно в вебе CSRF-дыры опасны) …
19:11@backendsecret … 3) возможность положить ваш сервис, вызывая фильтры/сортировки по непроиндексированным столбцам
19:13json[b]_build_object — полезная функция для выдачи вложенных данных. Например, выдаёте таблицу сотрудников и в ней же nested инфу об отделах
19:16@backendsecret Вот как-то так. Приходится, правда, перечислять столбцы по 2 раза pic.twitter.com/tkENyQPkSn
19:19сейчас многие строят свои «фреймворки» для API. Или берут молодые проекты. Доверяй, но проверяй, верно? Ну и тесты-то кто пишет? ) @mkn8rd
19:21Да, отличный вариант, как же мог забыть про него) Спасибо @komzpa pic.twitter.com/W3Mpn9LNYZ
19:30@mkn8rd @backendsecret дать пользователю возможность положить базу сортировкой по произвольным столбцам можно и в рамках фреймворка19:30
@mkn8rd @backendsecret многие фреймворки не мешают прострелить себе ногу, если очень хочется19:30
Вы не поверите, но всё подход #nobackend всё больше привлекает. PostgREST не перестаёт радовать, как и react & react-native
4:22@backendsecret в русскоязычном телеграм-чатике по react более полутысячи человек и сходу нашлись соседи из mtn view
4:23@backendsecret такой вот backend secret :) nobackend.org
4:23# Ссылки
www.youtube.com
- https://www.youtube.com/watch?v=b2F-DItXtZs
- https://www.youtube.com/watch?v=jGOkSerUPw4
- https://www.youtube.com/watch?v=Hf59jSnXYa4
- https://www.youtube.com/watch?v=xTPfJoLRTsI&list=PL6sRAkPwcKNnwScnpKomNXechZQ3WZe1j
- https://www.youtube.com/playlist?list=PL6sRAkPwcKNnwScnpKomNXechZQ3WZe1j
wiki.postgresql.org
- https://wiki.postgresql.org/wiki/Loose_indexscan
- https://wiki.postgresql.org/wiki/Count_estimate
- https://wiki.postgresql.org/wiki/Mandelbrot_set
- https://wiki.postgresql.org/wiki/Corruption
- https://wiki.postgresql.org/wiki/Foreign_data_wrappers
- https://wiki.postgresql.org/wiki/UDR_Online_Upgrade
github.com
- https://github.com/torodb/torodb
- https://github.com/mozilla/crontabber
- https://github.com/pkorobeinikov/liquibase-example
- https://github.com/pkorobeinikov/flyway-example
- https://github.com/genosse/c2h5oh
other
- http://postgresqlrussia.org/
- http://postgresqlrussia.org/
- http://coverage.postgresql.org/
- http://postgres.chat/
- http://postgres.chat/
- https://yadi.sk/d/m0BoNfNEqwyVP
- http://servernews.ru/930383
- http://zoom.cnews.ru/soft/news/line/2016-03-25_subd_postgres_pro_voshla_v_reestr_otechestvennogo
- https://en.wikipedia.org/wiki/Open-source_software
- http://postgrespro.ru/products/postgrespro9.5
- https://www.google.com/?ion=1&espv=2#q=migrate%20from%20mongodb%20to%20postgres
- https://www.linkedin.com/pulse/mongodb-32-now-powered-postgresql-john-de-goes
- https://www.citusdata.com/blog/14-marco/411-master-less-distributed-queue-postgres-and-pg-paxos
- https://www.citusdata.com/docs/citus/4.0/admin_guide/master_node_failures.html
- https://www.citusdata.com/blog/14-marco/410-scalable-real-time-product-search-using-citus
- https://events.yandex.ru/events/yagosti/14-october-2015/
- http://www.slideshare.net/samokhvalov/20151014-postgresqlrussiaorg-meetup-in-yandex-office
- http://www.slideshare.net/AnastasiaLubennikova/postgresql-59379507
- http://www.slideshare.net/8kdata/supercharge-your-rdbms-with-mongodb-superpowers-57439093
- https://www.facebook.com/groups/postgresql
- https://www.facebook.com/groups/postgresql/permalink/387238684806218/
- https://www.facebook.com/photo.php?fbid=1062608307145935&set=a.694312413975528.1073741827.100001903267768&type=3&theater
- https://tmblr.co/ZlL1rt25EVqxw
- https://aphyr.com/posts/282-call-me-maybe-postgres
- https://www.sqlite.org/speed.html
- https://facebook.com/groups/postgresql
- http://postgrest.com/
- http://pgxn.org/
- http://postgresql.leopard.in.ua/html/#расширения
- http://postgresql.leopard.in.ua/
- https://habrahabr.ru/post/198332/
- https://habrahabr.ru/post/268949/
- https://habrahabr.ru/post/282764/
- https://habrahabr.ru/post/282932/
- https://www.postgrespro.ru/blog/company/17878
- http://www.postgresql.org/docs/current/static/gist.html
- http://www.postgresql.org/docs/current/static/gin.html
- http://www.postgresql.org/docs/current/interactive/index.html
- http://db.cs.berkeley.edu/papers/vldb95-gist.pdf
- http://akorotkov.github.io/blog/2016/04/06/extensible-access-methods/
- http://engineering.tilt.com/7-postgresql-data-migration-hacks/
- http://tcrn.ch/1YH56gV
- http://highload.guide/blog/saga-cluster.html
- http://sqitch.org/
- http://www.meetup.com/postgresqlrussia/events/227606200/#description-tab
- http://www.liquibase.org/sqlite.html
- https://metacpan.org/pod/sqitchtutorial-sqlite
- https://metacpan.org/pod/sqitchtutorial-mysql
- http://obartunov.livejournal.com/186860.html
- http://www.thislinux.org/
- http://www.ozon.ru/context/detail/id/19133383/
- http://www.ozon.ru/context/detail/id/24939188/
- http://www.ozon.ru/context/detail/id/5106880/
- http://pgcookbook.ru/
- http://postila.ru/postgresmen/postgresql-po-russki
- https://m.youtube.com/channel/UCsJkVvxwoM7R9oRbzvUhbPQ
- https://www.quora.com/What-are-the-pros-and-cons-of-using-schemas-to-support-multi-tenancy-in-PostgreSQL-How-scalable-is-it
- http://stackoverflow.com/questions/1152405/postgresql-is-it-better-using-multiple-databases-with-1-schema-each-or-1-datab
- http://classicprogrammerpaintings.com/
- http://goo.gl/b0bQs6
- http://telegram.me/postgreschat
- http://postgres-slack.herokuapp.com/
- http://momjian.us/main/blogs/pgblog/2016.html#April_25_2016
- http://momjian.us/main/writings/pgsql/non-relational.pdf
- https://www.percona.com/blog/2016/04/14/percona-live-featured-talk-alvaro-hernandez-tortosa-torodb-supercharging-rdbms-mongodb-super-powers/
- http://use-the-index-luke.com/
- http://use-the-index-luke.com/
- http://blog.endpoint.com/2016/04/postgres-concurrent-indexes-and-curse.html
- http://pgday.ru/en/2016
- http://pgday.ru/files/papers/25/pgday2015.joe.conway.plr.pdf
- http://highload.co/
- http://pgconf.ru/
- https://explainextended.com/2014/12/31/happy-new-year-6/#more-5774
- https://explainextended.com/2012/12/31/happy-new-year-4/
- http://modern-sql.com/
- http://modern-sql.com/standard
- http://www.amazon.com/s/ref=sr_st_date-desc-rank?rh=n%3A283155%2Cp_27%3AC.+J.+Date&qid=1463180977&sort=date-desc-rank
- http://www.amazon.com/Joe%20Celko/e/B000ARBFVQ/ref=la_B000ARBFVQ_st?rh=n%3A283155%2Cp_82%3AB000ARBFVQ&qid=1463181040&sort=date-desc-rank
- http://nobackend.org/