Size: a a a

pgsql – PostgreSQL

2020 June 08

D

Dmitry in pgsql – PostgreSQL
Yaroslav Schekin
А Вы, случаем, не путаете "поставки" велосипедов (перечисленных NoSQL-ных решений) с "поставками" самолётов (RDBMS)? ;)
У них же совершенно разные характеристики, модели и назначение.
Не путаю. PGSQL... я ничего против не имею, но не вижу ни одной объективной причины почему именно она. Скорее тут по принципе "на безрыбье". В 90% случаях задачу можно решить как через SQL, так и через NoSQL. Вопрос квалификации чаще всего (по крайней мере с реального бизнеса очень узкий круг задач, где нужна именно реляция). Это как спорить что лучше ФП или ООП, для понимающего человека - те же яйца, только в профиль будут. Ну и синдром утёнка.
Т.к. я не знаю задачи - предполагаю, что покрыть может почти любая БД, такая как Arango покрыть может люблую задачу (чисто по возможностям, в ней развит и NoSQL подход, и графы, и реляция).
источник

D

Dmitry in pgsql – PostgreSQL
4g
система управления клиентской очередью, сейчас есть часть комплекса которая реализована на java и pgsql (по крайней мере так было сказано) и основное это delphi+firebird, плюс какие-то модули на c++, есть еще модули на js - кароч солянка.
хотят уйти полностью на java. какой-то контейнеризации не планировали, во всяком случае не слышал об этом. решения как правило ставились на виндовые машины. Но с учетом того что хотят централизовать решение (уйти от локальные БД+ПО), я уже задумываюсь о том на чем лучше это все держать.

Проблема еще в том что "внедренцы" и "сопровожденцы", из того что я знаю о тех сотрудниках, linux не умеют 😕
Но если решить вопрос опять же либо контейнером либо нормальным скриптом, которым это все будет разворачиваться, то останется их научить хотя бы снимать логи с "сервера" 🤣
Ну вот - берите контейнер или пишите скрипт. А для снятия логов можно простой UI на вебморде сделать. И забыть как про страшный сон всю эту канитель.

Очереди - я бы вообще в NoSQL хранил. В них будет не медленее точно, а скорее даже быстрее. И уходил бы на NodeJS, т.к. под неё модули есть под всё + программисты дешевле, чем java-прогеры. Ну и в догонку - тогда в качестве нативника может быть electron, а как основной GUI что-то с фронтенда
Эх...было бы это счастье на CL, могли бы взять facts да и не маяться
источник

СУ

Сагындык Узакбаев... in pgsql – PostgreSQL
коллеги, добрый день. Может быть вопрос глупый, но мне совершенно необходимо узнать сколько места в байтах занимает фотка в БД которая хранится в типе данных bytea
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Dmitry
Не путаю. PGSQL... я ничего против не имею, но не вижу ни одной объективной причины почему именно она. Скорее тут по принципе "на безрыбье". В 90% случаях задачу можно решить как через SQL, так и через NoSQL. Вопрос квалификации чаще всего (по крайней мере с реального бизнеса очень узкий круг задач, где нужна именно реляция). Это как спорить что лучше ФП или ООП, для понимающего человека - те же яйца, только в профиль будут. Ну и синдром утёнка.
Т.к. я не знаю задачи - предполагаю, что покрыть может почти любая БД, такая как Arango покрыть может люблую задачу (чисто по возможностям, в ней развит и NoSQL подход, и графы, и реляция).
> В 90% случаях задачу можно решить как через SQL, так и через NoSQL.

В 100% случаев задачу можно решить без СУБД вообще... но если с тем же качеством — лет этак через 200. ;)
Т.е. у нас тут в отрасли (вообще в программировании, да) куча средств в принципе эквивалентных по выразительной мощности (полнота по Тьюрингу и т.п.). Поэтому "можно решить" — это не то, что в норме имеет значение.

> Это как спорить что лучше ФП или ООП, для понимающего человека - те же яйца, только в профиль будут.

Понимающего что, извините? В некоторых ситуациях лучше ФП, в других — ООП, скорее всего.

> Ну и синдром утёнка.

Это "синдром" не забивания гвоздей микроскопом. ;) Т.е. RDBMS [намного] лучше решают одни задачи, NoSQL — другие.

> что покрыть может почти любая БД, такая как Arango покрыть может люблую задачу

И это, опять-таки, в норме никому не интересно, см. выше.
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Сагындык Узакбаев
коллеги, добрый день. Может быть вопрос глупый, но мне совершенно необходимо узнать сколько места в байтах занимает фотка в БД которая хранится в типе данных bytea
Ну так length()... Или что Вы имеете в виду?
источник

С

Социальная Шизофрени... in pgsql – PostgreSQL
Народ, есть нетривиальная задача. Имеется таблица prizes и winners с потенциальными победителями. Prize имеет поле capacity — максимально возможное количество призов данного вида. Есть следующий запрос.

WITH prizes AS (SELECT id, display_name, description, count(w.player_id) as len, capacity
               FROM prizes
                        LEFT OUTER JOIN winners w on prizes.id = w.prize_id
               GROUP BY id)
SELECT id, display_name, description
FROM prizes
WHERE prizes.len < prizes.capacity
ORDER BY random()
LIMIT 3

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

С

Социальная Шизофрени... in pgsql – PostgreSQL
Переслано от Социальная Шизофрени...
источник

С

Социальная Шизофрени... in pgsql – PostgreSQL
Социальная Шизофрения
Народ, есть нетривиальная задача. Имеется таблица prizes и winners с потенциальными победителями. Prize имеет поле capacity — максимально возможное количество призов данного вида. Есть следующий запрос.

WITH prizes AS (SELECT id, display_name, description, count(w.player_id) as len, capacity
               FROM prizes
                        LEFT OUTER JOIN winners w on prizes.id = w.prize_id
               GROUP BY id)
SELECT id, display_name, description
FROM prizes
WHERE prizes.len < prizes.capacity
ORDER BY random()
LIMIT 3

Однако проблема заключается в том, что призы в итоге уникальны, то есть в одной разыгрываемом случае может быть только 1 приз 1 вида, из-за чего впоследствии приз остается 1 и разыгрывается по одному
Допустим, у нас есть следующие призы
- вино (5 шт)
- розы (6 шт)
- кофеварка (7 шт)

После 5 розыгрышей останутся только розы и кофеварка, а надо чтобы могли быть повторения.

Сейчас(после 5 проходов):
- розы
- кофеварка

Нужно:
- розы
- розы
- кофеварка
Или
- кофеварка
- розы
- кофеварка


В общем, нужно, чтобы предметы могли повторяться
источник

D

Dmitry in pgsql – PostgreSQL
Yaroslav Schekin
> В 90% случаях задачу можно решить как через SQL, так и через NoSQL.

В 100% случаев задачу можно решить без СУБД вообще... но если с тем же качеством — лет этак через 200. ;)
Т.е. у нас тут в отрасли (вообще в программировании, да) куча средств в принципе эквивалентных по выразительной мощности (полнота по Тьюрингу и т.п.). Поэтому "можно решить" — это не то, что в норме имеет значение.

> Это как спорить что лучше ФП или ООП, для понимающего человека - те же яйца, только в профиль будут.

Понимающего что, извините? В некоторых ситуациях лучше ФП, в других — ООП, скорее всего.

> Ну и синдром утёнка.

Это "синдром" не забивания гвоздей микроскопом. ;) Т.е. RDBMS [намного] лучше решают одни задачи, NoSQL — другие.

> что покрыть может почти любая БД, такая как Arango покрыть может люблую задачу

И это, опять-таки, в норме никому не интересно, см. выше.
```В 100% случаев задачу можно решить без СУБД вообще... но если с тем же качеством — лет этак через 200. ;)
Т.е. у нас тут в отрасли (вообще в программировании, да) куча средств в принципе эквивалентных по выразительной мощности (полнота по Тьюрингу и т.п.). Поэтому "можно решить" — это не то, что в норме имеет значение.```
Словоблудие. Так и не сказали, чем та же MongoDB хуже при правильном проектировании коллекций той же PGSQL. Я много на самом деле занимался разработкой и для того, и для другого. И не знаю чем хуже MongoDB, кроме как есть ряд случаев когда PGSQL выигрывает в скорости за счёт реляции.
```Понимающего что, извините? В некоторых ситуациях лучше ФП, в других — ООП, скорее всего.

Паттерн. ООП - это то же ФП по сути. Объект - есть так же функция высшего порядка. Со слов А. Кея - при создании ООП и Smalltalk он брал за основу модель акторов, а они всё же ФП в первую очередь.
Всё, что можно сделать в ООП, может быть написано в ФП. Иногда удобнее ООП, иногда ФП. Но это не значит, что ООП лучше. Он проще, чем ФП, тут да. Джуну ФП будет даваться сложнее. В современных задачах ФП/ООП скорее вкусовщина и квалификация команды.
```Это "синдром" не забивания гвоздей микроскопом. ;) Т.е. RDBMS [намного] лучше решают одни задачи, NoSQL — другие.

Я с этим не спорю. Но в большинстве своём - NoSQL и SQL будут решать +/- одинаково по издержкам, отличаться будет схема хранения. И то, может быть на уровне адаптера к БД. В коде бизнес-логики не должно быть слоя данных ведь.
И это, опять-таки, в норме никому не интересно, см. выше.

Популярность PGSQL лишь говорит о низкой квалификации большей части специалистов в NoSQL, не более. Есть задачи где PGSQL будет в разы хуже ArangoDB, верно и обратное. Но это опять же - просто специфика. Самое интересное - фанатики "реляции" пытаются часто есть кактус и всё тащат в неё. А вот инженеры хорошо знающие ещё и NoSQL понимают, что надо отталкиваться от задачи и что реляция очень часто дорого.
Ну из примеров - сделайте полнотекстовый поиск по N полям в PGSQL на товаров более 1 млн в нескольких таблицах. И поймёте почему многие выбирают ElasticSearch тот же.
ну и да. Так, PGSQL хорошо. Но почему-то такие компании как Google продолжают держать хранение многого на MongoDB, а не пихают всё подряд в PGSQL. И большие же компании позволили благодаря вливаниям по фичастости MongoDB уже перегнать PGSQL и стать стандартом в энтерпрайзе для NoSQL.
источник

СУ

Сагындык Узакбаев... in pgsql – PostgreSQL
Yaroslav Schekin
Ну так length()... Или что Вы имеете в виду?
да, действительно) спасибо
источник

4

4g in pgsql – PostgreSQL
Dmitry
```В 100% случаев задачу можно решить без СУБД вообще... но если с тем же качеством — лет этак через 200. ;)
Т.е. у нас тут в отрасли (вообще в программировании, да) куча средств в принципе эквивалентных по выразительной мощности (полнота по Тьюрингу и т.п.). Поэтому "можно решить" — это не то, что в норме имеет значение.```
Словоблудие. Так и не сказали, чем та же MongoDB хуже при правильном проектировании коллекций той же PGSQL. Я много на самом деле занимался разработкой и для того, и для другого. И не знаю чем хуже MongoDB, кроме как есть ряд случаев когда PGSQL выигрывает в скорости за счёт реляции.
```Понимающего что, извините? В некоторых ситуациях лучше ФП, в других — ООП, скорее всего.

Паттерн. ООП - это то же ФП по сути. Объект - есть так же функция высшего порядка. Со слов А. Кея - при создании ООП и Smalltalk он брал за основу модель акторов, а они всё же ФП в первую очередь.
Всё, что можно сделать в ООП, может быть написано в ФП. Иногда удобнее ООП, иногда ФП. Но это не значит, что ООП лучше. Он проще, чем ФП, тут да. Джуну ФП будет даваться сложнее. В современных задачах ФП/ООП скорее вкусовщина и квалификация команды.
```Это "синдром" не забивания гвоздей микроскопом. ;) Т.е. RDBMS [намного] лучше решают одни задачи, NoSQL — другие.

Я с этим не спорю. Но в большинстве своём - NoSQL и SQL будут решать +/- одинаково по издержкам, отличаться будет схема хранения. И то, может быть на уровне адаптера к БД. В коде бизнес-логики не должно быть слоя данных ведь.
И это, опять-таки, в норме никому не интересно, см. выше.

Популярность PGSQL лишь говорит о низкой квалификации большей части специалистов в NoSQL, не более. Есть задачи где PGSQL будет в разы хуже ArangoDB, верно и обратное. Но это опять же - просто специфика. Самое интересное - фанатики "реляции" пытаются часто есть кактус и всё тащат в неё. А вот инженеры хорошо знающие ещё и NoSQL понимают, что надо отталкиваться от задачи и что реляция очень часто дорого.
Ну из примеров - сделайте полнотекстовый поиск по N полям в PGSQL на товаров более 1 млн в нескольких таблицах. И поймёте почему многие выбирают ElasticSearch тот же.
ну и да. Так, PGSQL хорошо. Но почему-то такие компании как Google продолжают держать хранение многого на MongoDB, а не пихают всё подряд в PGSQL. И большие же компании позволили благодаря вливаниям по фичастости MongoDB уже перегнать PGSQL и стать стандартом в энтерпрайзе для NoSQL.
Лично я очень надеялся чтобы мой вопрос не вызовет холивора, но видимо все таки зацепило, хотя я скорее больше по привычке боялся противостояния ms vs linux.
А получилось гораздо глубже sql vs nosql.
Я к сожалению с nosql не сталкивался, да и в моей конторе таковых наверное нет.
Зато теперь будет для себя интересно глянуть что за зверь такой этот nosql.

Наверное надо быть большим спецом и в sql, и в nosql чтобы однозначно сказать вот здесь мы возьмём mongodb, а вот тут pgsql/oracle/mssql/etc
Видимо потому и тянут возможно в сторону sql. Потому что знают больше в sql
источник

ВЯ

Владимир Яворский... in pgsql – PostgreSQL
nosql наверное скоро будет не таким уж nosql ))
источник

D

Dmitry in pgsql – PostgreSQL
4g
Лично я очень надеялся чтобы мой вопрос не вызовет холивора, но видимо все таки зацепило, хотя я скорее больше по привычке боялся противостояния ms vs linux.
А получилось гораздо глубже sql vs nosql.
Я к сожалению с nosql не сталкивался, да и в моей конторе таковых наверное нет.
Зато теперь будет для себя интересно глянуть что за зверь такой этот nosql.

Наверное надо быть большим спецом и в sql, и в nosql чтобы однозначно сказать вот здесь мы возьмём mongodb, а вот тут pgsql/oracle/mssql/etc
Видимо потому и тянут возможно в сторону sql. Потому что знают больше в sql
Ну тогда да, SQL единственный дешёвый сейчас вариант. Тут я могу посоветовать, можно реализовать отдельный сервис, который будет подключаться к нужной БД и дальше гонять запросы через него. Хорошая практика и развяжет руки. Можно БД установщик и сервис этот прямо в установщик поставлять.
источник

D

Dmitry in pgsql – PostgreSQL
Владимир Яворский
nosql наверное скоро будет не таким уж nosql ))
если брать arango и граф-ориентированные СУБД то да. оно уже не nosql в привычном понимании
источник

IK

Ivan Karniyenka in pgsql – PostgreSQL
кто работал с питоном в постгресс?
если через питон пытаюсь полуить данные, то мне возвращает только кусок всей строки. когда подключаюсь сам, то вижу строку полностью. в чем может быть проблема?
источник

D

Dmitry in pgsql – PostgreSQL
Ivan Karniyenka
кто работал с питоном в постгресс?
если через питон пытаюсь полуить данные, то мне возвращает только кусок всей строки. когда подключаюсь сам, то вижу строку полностью. в чем может быть проблема?
орм или драйвер?
источник

IK

Ivan Karniyenka in pgsql – PostgreSQL
Dmitry
орм или драйвер?
в плане? подключаюсь в питон через библиотек psycopg2
источник

D

Dmitry in pgsql – PostgreSQL
Ivan Karniyenka
в плане? подключаюсь в питон через библиотек psycopg2
может быть если что-то асинхронно запрашиваешь
источник

D

Dmitry in pgsql – PostgreSQL
По крайней мере коллеги с таким столкнулись
источник

IK

Ivan Karniyenka in pgsql – PostgreSQL
нет. просто прямой запрос . а может быть из-за того что пользую десплатный постгрес?
источник