postgresmen

18 апреля 2016, Worldwide

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

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

11:00

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

11:25

@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… @backendsecret
12:37

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

12:41
@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: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…

13:12

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

13:14

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

13:17

Mongo 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: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…

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: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

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

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

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

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

18:32
@vporoshok я примерно также думал про любой nosql, а кто-нибудь и про мускуль, уверен. @backendsecret
18: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:05
BedquiltDB — 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:33
Interesting 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:39

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

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
wowowow! expect #Postgres 9.6 beta1 sooon!

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

4:52

# Среда 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: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…

13:31

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

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

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

0:37

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

0:41

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

0:42
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…

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++ и / хранимки постгреса. остальное - фронтэнд

👍 twitter.com/strangeqargo/s…

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: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…

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:59
Nice succinct post on Postgres index types - robots.thoughtbot.com/postgres-index…

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

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

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

19:39

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

21:39

Как сделать масштабируемый полнотекстовый поиск на Постгресе и 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:20

DDL юзают все. Вам пора спать :-) @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:13

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

19:16

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

19:19

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

19:20

сейчас многие строят свои «фреймворки» для 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

wiki.postgresql.org

github.com

other