сфера применения PostgreSQL

qsk78

Начал читать документацию, а там везде пишут слово "site".
PostgreSQL только на web-server`ы ставят или еще где-нибудь используют?

eduard615

у них сайт используется как хост, на котором живет бд (за исключением глав, где явно пишется про веб сайты)
я видел систему, где не было уеб интерфейса к бд, ьли клиенты, общающиеся по одбс и кутешешые двайвера. в бд складывались свои типы данных (с постгре легко завести свои, типичный пример - гисы)
ну а вообще, постргря мощная, надежная бд с развитыми возможностями, соотв. использовать ее можно там, где нужна хорошая бд, и не обязательно это веб.

artimon

http://lingvo.yandex.ru/en?text=site:
site
1. сущ.
1) место; местонахождение, местоположение; позиция
2) стройплощадка; площадь, место (для строительства)
3) компьют.
а) сайт, абонентский пункт
б) узел сети
в) (вычислительная) установка, вычислительная система; вычислительный центр
4) археол.
а) раскопки
б) место стоянки древнего человека
2. гл.
1)
а) помещать, размещать, располагать
б) помещаться, располагаться, быть расположенным, находиться
2) выбирать место (для строительства)

6yrop

ну а вообще, постргря мощная, надежная бд с развитыми возможностями
у меня был запрос join двух таблиц в каждой около 30 тыс. записей результат около 14 записей Postgre выполнял этот запрос 24 секунды MS SQL Server 1 секунду

artimon

Без указания того, что это были за таблицы, какие в них были ключи, индексы и т.д. это утверждение бессмысленно.

Hastya

ИМХО, полное Г. Хотя и постреляционная.

eduard615

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

bastii

что такой разброс -- результат того, что разработчик не удосужился заглянуть в документацию и прочитать про настройку бд и принципы работы с ней
Спорное утверждение.
Как человек хорошо знающий Постгрю, ответь на следующие вопросы про Постгрю:
1) Умеет ли она вести статистику разпределения значений в столбце таблицы и использовать ее при нахождении оптимального плана?
2) Умеет ли она индексировать представления и использовать в запросах эти индексы в случае если это приводит к более эффективному плану даже если представления в самом запросе не присутствуют?

eduard615

>Умеет ли она вести статистику разпределения значений в столбце таблицы ... и использовать ...
да
>Умеет ли она индексировать представления
на прямую -- нет, для этого используюся partial indexes
> использовать в запросах эти индексы ... представления в самом запросе
да, partial indexes используются

6yrop

советую заняться выпрямлением рук -- такого разброса быть не может. т.е. конечно может, если задасться такой целью специально, по это никак не будет говорить о качестве бд.
я пять лет плотно работаю с постгрей и чего-то мне подсказывает, что такой разброс -- результат того, что разработчик не удосужился заглянуть в документацию и прочитать про настройку бд и принципы работы с ней
так всё таки, для того что бы получить такой разброс надо задаваться такой целью или всего лишь не прочитать загадочные принципы работы Postgre?
Сколько времени ты потратил на чтение документации Postgre? я так понимаю работодотель оплатил тебе это время?

ava3443

> я так понимаю работодотель оплатил тебе это время?
а тебя работодатель заставляет отдельно считать время, потраченное на прочтение документации?

eduard615

так всё таки, для того что бы получить такой разброс надо задаваться такой целью или всего лишь не прочитать загадочные принципы работы Postgre?
если прочитал доки (и понял что там написано) -- то такой результат можно получить только специально,
если ты не удосужился почитать доки и выяснить, что перед использованием надо отредактировать конфиг под свои нужды (по умолчанию он идет такой, что бы сервак запустился на любом говне) и выучить, зачем нужен vacuum и explain analyze, то тогда такой результат вполне можно получитить. я почти уверен, что знания всего этих трех сокровенных пунктов хватило бы, что бы решить проблему с этой конкретной выборкой
Сколько времени ты потратил на чтение документации Postgre? я так понимаю работодотель оплатил тебе это время?
скажи, а за руль ты так же садился -- хули там время терять, учиться, взял да поехал

Dasar

> что перед использованием надо отредактировать конфиг под свои нужды (по умолчанию он идет такой, что бы сервак запустился на любом говне) и выучить, зачем нужен vacuum и explain analyze,
Если все так сложно, то почему нет Wizard-а по такой настройке?
и почему такая настройка все-таки не делается автоматически?

ava3443

> и почему такая настройка все-таки не делается автоматически?
А ты видел, чтобы хоть одна кроссплатформенная СУБД тюнила сама себя автоматически? Я - нет.
Есть в этом плане некоторая надежда на десятку Oracle, но руки пока не дошли до неё.

eduard615

не вижу разницы между визардом и текстовым конфигом с комментарием
а автоматически: предложи алгоритм, которы бы эффективно определял количество шаредной памяти, которую надо выдать постгре (не зная, что в нем будет лежать среднее количество свободной памяти во время работы базы, соотношение инсертов-селектов и, следовательно, размер журнала транзакций и количества контрольных точек, агрессивность системной политики кэширования и т.д. это для начала, кроме этого есть еще куча важных параметров,

Dasar

> А ты видел, чтобы хоть одна кроссплатформенная СУБД тюнила сама себя автоматически? Я - нет.
Это повод - чтобы совсем не делать хорошие продукты?

ava3443

> Это повод - чтобы совсем не делать хорошие продукты?
На мой взгляд, если этого никто ещё не сделал, значит или это мало кому надо, или это слишком сложно сделать. А скорее всего, какая-то комбинация этих двух причин.

shlyumper

Наиболее продвинутая БД для бедных (кто не может позволить себе купить коммерческие БД).

ava3443

Ты большое ИМХО забыл добавить. Это я насчёт "для бедных".

gopnik1994

а как же Firebird?

shlyumper

Приведи пример, в котором Posgresql однозначно заруливает продвинутую коммерчискую БД, типа Oracle, MSSQL, DB2. По показателям кроме цены.
Показатели типа "можно быстро поставить, занимает мало места" - это просто смешно.

shlyumper

а в нем модель безопасности ебанутая, хотя бы. мы тут год назад как раз выбор делали firebird vs. postgres, много дуростей в firebird нашли.

ava3443

Вот скажи, ты чтобы один шуруп закрутить (фотографию на стенку надо повесить, например) - покупаешь дрель от одного из известных вендоров, вставляешь в неё нужный девайс и заворачиваешь шуруп с помощью неё, или всё-таки берёшь простую отвёртку и делаешь то, что должно?

6yrop

а как же Firebird?
Firebird не поддерживает элементарных вещей даже из стандарта SQL-92
В Firebird нельзя писать запросы типа такого

SELECT *
FROM
(
SELECT *
FROM table1
) t1

6yrop

еще там какие-то непонятные ограничения на длину скрипта хранимой процедуры, это разлражает.
Длина имени вьюхи не больше 32 символов
Из .NET-провайдера не выполняется скрипт - один update -длинной в несколько строчек, какое-то там переполнение строчек пишет. Причем вполне вероятно, это сама быза ругается, хотя может быть и провайдер не доделанный.

sergey_m

Если все так сложно, то почему нет Wizard-а по такой настройке?
и почему такая настройка все-таки не делается автоматически?
Потому что это ПО для программистов, а не для бухгалтеров.
P.S. Меня PostgreSQL подкупил тем, что документация по нему самому и по SQL в виде man pages, а не в виде HTML или еще какой-то пурги.

qsk78

В виде HTML тоже есть.

6yrop

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

ava3443

> вообще, любой здравомыслящий человек, программист не программист не важно, предпочтет чтобы система была самонастраивающейся
Скажи какому-нибудь грамотному ораклисту. Поднимешь ему настроение на оставшийся день

gopnik1994

из стандарта все есть, не надо гнать
запрос из подзапроса появился в FB2

gopnik1994

много дуростей в firebird нашли.
чисто для интереса, можешь вспомнить какие?

6yrop

этот запрос входит в стандарт http://savage.net.au/SQL/.
FB2 уже вышел?
http://firebird.sourceforge.net/index.php?op=files&id=engine

6yrop

FB2 сейчас только в альфа версии

zya369

буквально недавно наткнулся:

insert into table select * from table

если table не пустая, то FB пиздец

sergey_m

> чисто для интереса, можешь вспомнить какие?
Помню, что процесс инсталляции уже весьма странный. Поддержка koi8-r какая-то странная, напоминает хак. Как я понимаю, и то и другое это наследие от виндовозно-ориентированного Interbase.

sergey_m

и что у программистов много лишнего времени, чтобы читать доки и разбираться в настройках?
У меня deja vu.

psm-home

А в каком месте IB "виндовозно-ориентированный"? Он вообще-то не с Windows на *nix портирован, а наоборот.

psm-home

Вот недавний тред с RSDN, где обсуждается одна такая дурость.

Marinavo_0507

> Поддержка koi8-r какая-то странная, напоминает хак.
Вроде бы это у всего древнего софта так, который столкнулся с различными кодировками до появления unicode.
Что Oracle, что DOS и Windows, что TeX, все такие.

rosali

Скажи какому-нибудь грамотному ораклисту
Вспоминается анекдот, про то как сын решил задачу, которую отец решал всю жизнь, а отец ему и говорит: "Дурак ты! Эта задача меня всю жизнь кормила..."
Короче, то что ODBA против самонастраивающихся баз -- это не аргумент.

Marinavo_0507

Access не сам настраивается? Грамотные люди, которым не нравится ничего настраивать руками, его юзают вроде.

6yrop

а тебя работодатель заставляет отдельно считать время, потраченное на прочтение документации?
да

qsk78

Access`у гораздо проще, это же не клиент-серверная СУБД.

bastii

да, partial indexes используются
На сколько я понял partial indexes и рядом не стояли с indexed views, соответственно будут прокатывать для тестов фокусы, которые раньше любили показывать в Оракл -- это когда брали сложный запрос и делали по нему индексированный взгляд, после чего запрос начинал выполняться на порядок быстрее.
Аналогично про статистику. Согласно документации Постгри она ее собирает, но по умолчанию довольного грубо, а отвечающий за это параметр настраивается ручками. В mssql параметры статистики выбираются автоматически в зависиомти от самих данных (и довольно неплохо).
Понятно, что выбор оптимального плана требует довольно сложного алгоритма, который в свою очередь требует хорошего тьюнинга и эвристики, поскольку перебрать все возможные планы просто не реально. Вполне возможно, что планировщик в Постгре для некоторых случаев работает хуже.

Marinavo_0507

> Access`у гораздо проще, это же не клиент-серверная СУБД.
Сложные клиент-серверные структуры выгодны только админам, которые за счёт них кормятся, и производителям чрезмерно усложнённого софта.
Правильные люди понимают, что им нафиг не надо такое счастье. В конце концов, деньги у них не от чтения документации и не от написания конфигов.
Грамотный специалист просто разместит базу данных в формате Access на файл-сервере. Настраивать файл-сервер не надо, Windows делает это автоматически с версии 3.11, используя прогрессивный протокол NetBEUI, в котором тоже нет ненужных параметров для настройки.

Ivan826

ну.... MySQL совсем недавно подзапросы держать началда, и это не мешает ей оставться самой популярной и рентабельной+кроссовой (поверьте мне) базой с учётом всех её оггромных минусов

ZaAp

А ты видел, чтобы хоть одна кроссплатформенная СУБД тюнила сама себя автоматически? Я - нет.
db2 8.2

sergey_m

> db2 8.2
Насколько она кроссплатформенная?

ava3443

на сайте пишут, что z/OS, AIX, Linux, HP-UX, Sun, and Windows

ava3443

Да, кстати, если уж речь зашла про db2 8.2, то тогда и Oracle 10g надо вспомнить.

qsk78

А она есть в ГЗ, под Linux? (поиск не предлагайте, я не из ГЗ и интернета у меня тоже нету)
Интересно было бы посмотреть.
Оставить комментарий
Имя или ник:
Комментарий: