Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Народ, расскажите про Postgres.  [new]
Sarin
Member

Откуда: Земля, Солнечная система.
Сообщений: 14485
В форуме "Программирование" я советовался насчёт выбора средств разработки сайта с достаточно хитрой базой данных. Средства MySQL оказались недостаточны. Я решил организовать триггеры и ХП на уровне клиента. Поскольку проект достаточно сложен я решил реализовать всю эту мутатень через ООП. А ф ПХП4 с ООП не то, чтоб бедово. Но не очень как-то. Вот я и советовался насчёт того, что лучше: Apache-PHP-MySQL, или Zope-Python-MySQL. Однако посоветовали мне заменить мускл на постгрис. Стал я про постгрис читать в книжечке про базы данных. Сведенья там ошмёточные, конечно. Но в связи с тем, что СУБД эта объектно-реляционная я загорелся идеей, что 80% того, что я хотел сделать на ПХП можно сделать на Постгри.

Вот и возникли вопросы:
1: В книжечке было написанно про какой-то хитрый постгривский язык. А что такое тогда PostgreSQL?
2: Где почитать про постгри? Для начала просто с возможностями ознакомится. Но и мануал нужен. На русском.
3: Как у хостеров дела с постгри?
4: личное (субъективное) мнение насчёт постгри.
11 июн 05, 20:55    [1615835]     Ответить | Цитировать Сообщить модератору
 Re: Народ, расскажите про Postgres.  [new]
Partisan M
Member

Откуда:
Сообщений: 1399
Значит, кто-то сказал, что "объектно-реляционная". Что это означает, непонятно, но это ничуть не мешает загораться.
Рассматривай лучше PostgreSQL как обычную реляционную СУБД.
11 июн 05, 21:42    [1615866]     Ответить | Цитировать Сообщить модератору
 Re: Очень малофункциональный движок  [new]
Sarin
Member

Откуда: Земля, Солнечная система.
Сообщений: 14485
Не кто-то, а госпожа Малыхина Мария Петровна.
Автор вузовского учебника "Базы данных: основы, проектирование, использование". В аннотации сказанно, что она автор 110 научных работ и базами данных занимается 30 лет.

Как насчёт мануала? И почему я должен оказываться от постгри как ООСУБД? Ведь выгоды от этого может быть очень много.
11 июн 05, 22:15    [1615888]     Ответить | Цитировать Сообщить модератору
 Re: Народ, расскажите про Postgres.  [new]
Partisan M
Member

Откуда:
Сообщений: 1399
Ничего не знаю про эту госпожу и не видел эту книжку, хотя часто посещаю магазины.
Какого-то специального языка в PostgreSQL нет, и не нужен. Есть хранимые процедуры, и у PostgreSQL есть свои особенности в языке их описания (динамическом SQL). Можно создавать свои типы данных SQL, но никаких возможностей это не добавляет. Также можно использовать для хранимых процедур обычные языки (C/C++, Perl, TCL, про Python не помню. Причём в Windows c С/С++ будет проблема ). То есть ничего специального PostgerSQL не предоставляет.
Что такое объектно-реляционная СУБД? Так рекламируют СУБД, которые могут сохранять и выдавать объекты некоторого языка программирования, из которого к ним обращаются. Для PHP этого не может никакая СУБД, и PostgreSQL ничем не отличается от прочих. Для Java напротив, проблема хранения объектов успешно решается почти с любой СУБД, опять же PostgreSQL не даст преимуществ.
Вряд ли стоит однако применять СУБД для нетипичных целей, т.е. иначе как хранения-извлечения данных.

Литература: по PostgreSQL есть несколько книжек на русском языке, в том числе по использованию с PHP. Однако, придётся просмотреть и документацию на английском языке, прилагаемую к PostgreSQLю
11 июн 05, 22:32    [1615897]     Ответить | Цитировать Сообщить модератору
 Re: Народ, расскажите про Postgres.  [new]
Sarin
Member

Откуда: Земля, Солнечная система.
Сообщений: 14485
Из того, что я читал/слышал про ООСУБД ХП на языках типа С и Перл и есть главная фишка этих самых ООСУБД.

Хостинг есть с Постгри?
11 июн 05, 22:36    [1615902]     Ответить | Цитировать Сообщить модератору
 Re: Народ, расскажите про Postgres.  [new]
Sarin
Member

Откуда: Земля, Солнечная система.
Сообщений: 14485
Простите за очепятку. Постгри в этой книге обозван ОРСУБД. А язык этот (постгривский встроенный) вроде называется Postquel.

ЗЫ: простите меня. Я ламер.
11 июн 05, 22:39    [1615905]     Ответить | Цитировать Сообщить модератору
 Re: Народ, расскажите про Postgres.  [new]
Partisan M
Member

Откуда:
Сообщений: 1399
коммерческий хостинг есть - в www.google.ru делаем поиск по словам
хостинг PostgreSQL
и сразу видим несколько вариантов.
Бесплатный, если есть, надо искать.

Да, забыл написать, почему PostgreSQL называют объектно-реляционной. Не в том смыле, что я написал выше. В ней есть некоторые признаки объектно-ориентированного программирования:
- можно создавать свои типы полей таблицы на основе существующих типов и использовать в SQL запросах (фактически эти типы будут преобразовываться в обычные).
- можно при создании таблицы производить "наследование" её структуры от существующей таблицы.
Т.е. частичная объектная ориентированность есть в языке SQL этой CУБД, что является её оригинальной особенностью.
11 июн 05, 23:13    [1615919]     Ответить | Цитировать Сообщить модератору
 Re: Народ, расскажите про Postgres.  [new]
Sarin
Member

Откуда: Земля, Солнечная система.
Сообщений: 14485
Спасибо. Будем учить.
11 июн 05, 23:16    [1615922]     Ответить | Цитировать Сообщить модератору
 Re: Народ, расскажите про Postgres.  [new]
Cat2
Member

Откуда: Petroskoi, Karjala
Сообщений: 145754
Partisan M. Не понил. Если я в MS SQL могу объявлять пользователские типы и если я могу автоматом сделать cкрипт создания таблицы и на его основе создать другую, то MS SQL стал объектно-реляционной БД?
11 июн 05, 23:49    [1615937]     Ответить | Цитировать Сообщить модератору
 Re: Народ, расскажите про Postgres.  [new]
Partisan M
Member

Откуда:
Сообщений: 1399
to Cat2

А причём тут MS SQL? Тут про него ни слова не было написано. И какое имеет значение, что как называется. Я вообще не употребляю выражение "объектно-реляционная", т.к. плохо его понимаю.
Конкретно. Создание нового типа данных. В PostgreSQL есть оператор CREATE TYPE.
Я слабо знаю MS SQL, и не могу припомнить ничего подобного в Transact SQL. Заглядываю в его описание в MSDN.... и не вижу этого. Создание таблицы на основе существующей: в PostgreSQL в операторе CREATE TABLE есть атрибут INHERITS (от какой таблицы наследует свойства). Заглядываем в справочник по Transact SQL - нету ни INHERITS, ни кого-то заменителя. А, вы скриптом заменяете? Ну скриптом много чего сделать. Вопрос однако, в том что у PostgreSQL можно и без скрипта. Причём я не обсуждаю, что лучше - PostgreSQL или MS SQL, т.к. вопрос о PostgreSQL, да и не всё ли равно, что лучше.
12 июн 05, 00:32    [1615953]     Ответить | Цитировать Сообщить модератору
 Re: Народ, расскажите про Postgres.  [new]
XM
Member

Откуда: ненадолго из запоя
Сообщений: 1264
Неплохая вводная статья : Что такое PostgreSQL?

Дополнения по поводу "объектно-реляционности" (сугубое ИМХО, из опыта):
1. Использование ORDBMS в названии - не более чем маркетинговая фишка, PostgreSQL - все-таки RDBMS, и, например, у Oracle - ОО фич больше :)
2. Объектно-ориентированные фичи :
- пользовательские типы данных, UDF , операторы и аггрегаты для таких типов (CREATE TYPE, CREATE OPERATOR, CREATE AGGREGATE - по-моему, нечто подобное планируется в MS SQL Server 2005 "Yukon");
- наследование таблиц : при этом если таблица B INHERITS A , то SELECT FROM A выберет и данные из B.
12 июн 05, 10:51    [1616047]     Ответить | Цитировать Сообщить модератору
 Re: Народ, расскажите про Postgres.  [new]
XM
Member

Откуда: ненадолго из запоя
Сообщений: 1264
Sarin, можно попридираться?:)
Sarin
Я решил организовать триггеры и ХП на уровне клиента

Это после MySQL такая ересь? :)
Sarin
Не кто-то, [...skipped...]В аннотации сказанно, что она автор 110 научных работ и базами данных занимается 30 лет.

Есть пример - коллега чал - не в пользу некоторых 30 лет занимающихся н/р и БД. :)
Sarin
И почему я должен оказываться от постгри как ООСУБД? Ведь выгоды от этого может быть очень много.

Это не ООСУБД. А вот выгоды от ООСУБД может бытьдействительно очень много - у Versant спроси :)
А как шутят C.J.Date и F.Pascal, "OO - for application design, not data storage", так что, действительно рассматривайте PostgreSQL именно как развитую и расширяемую RDBMS.
12 июн 05, 11:09    [1616052]     Ответить | Цитировать Сообщить модератору
 Re: Народ, расскажите про Postgres.  [new]
Sarin
Member

Откуда: Земля, Солнечная система.
Сообщений: 14485
XM
Sarin, можно попридираться?:)
Sarin
Я решил организовать триггеры и ХП на уровне клиента

Это после MySQL такая ересь? :)

Да. Именно.
Повторюсь ещё разок:). Для того, чтоб целостность базы (в моём контексте) сохранилась я решил для доступа к базе организовать отдельный ПХПшный класс. В методах класса этого я хотел реализовать доступ так, чтоб одна и таже шмотка не оказалась у двух товаристчей одновременно. При передаче шмотки соответственно. Это минимум два запроса в мускле. И метод выполнял бы два запроса. А то ошибка программиста при реализации доступа к базе в каждом ПХПшном срипте привелаб к тому, что напрлодилось бы шмоток одинаковых... тьма.

Это вообще игрушка с web-интерфейсом будет. Такую дыру для читеров я оставить не могу.
12 июн 05, 13:10    [1616117]     Ответить | Цитировать Сообщить модератору
 Re: Народ, расскажите про Postgres.  [new]
XM
Member

Откуда: ненадолго из запоя
Сообщений: 1264

Sarin wrote:
>
> Да. Именно.
> Повторюсь ещё разок:). Для того, чтоб целостность базы (в моём
> контексте) сохранилась я решил для доступа к базе организовать отдельный
> ПХПшный класс. В методах класса этого я хотел реализовать доступ так,
> чтоб одна и таже шмотка не оказалась у двух товаристчей одновременно.
> При передаче шмотки соответственно. Это минимум два запроса в мускле. И
> метод выполнял бы два запроса. А то ошибка программиста при реализации
> доступа к базе в каждом ПХПшном срипте привелаб к тому, что напрлодилось
> бы шмоток одинаковых... тьма.
>
> Это вообще игрушка с web-интерфейсом будет. Такую дыру для читеров я
> оставить не могу.

2 Sarin
Если схема примерно такая: owner(owner_id, has_thing_a, has_thing_b):
create table owner(
         o_id int not null primary key,
         has_thing_a boolean not null default 'f',
         has_thing_b boolean not null default 'f'
);
insert into owner values(1, 't', 'f');
insert into owner values(2, 'f', 't');
select * from owner;
  o_id | has_thing_a | has_thing_b
------+-------------+-------------
     1 | t           | f
     2 | f           | t


update owner
	set has_thing_a =
		(case o_id
			when 1 then 'f'::boolean
			when 2 then 't'::boolean
		end)
where o_id = 1 or o_id = 2;

select * from owner;
  o_id | has_thing_a | has_thing_b
------+-------------+-------------
     1 | f           | f
     2 | t           | t

Хотя я бы сделал так:
create table owner (o_id int not null primary key);
create table things (
	thing_id int not null primary key,
	owner_id int not null references owner(o_id)
);

Posted via ActualForum NNTP Server 1.2

12 июн 05, 13:43    [1616149]     Ответить | Цитировать Сообщить модератору
 Re: Народ, расскажите про Postgres.  [new]
vadiminfo
Member

Откуда: Обнинск
Сообщений: 4802
Partisan M

Т.е. частичная объектная ориентированность есть в языке SQL этой CУБД, что является её оригинальной особенностью.

Точнее являлось её оригинальной особенностью. PostgerSQL - известна как первая ОРСУБД. Но теперь ООП в том или ином виде поддерживают и продолжаю развивать в своих СУБД и другие производители. И Оракл и Скуль, в частности, поддерживают подобные раширения реляционной модели.
12 июн 05, 14:49    [1616187]     Ответить | Цитировать Сообщить модератору
 Re: Народ, расскажите про Postgres.  [new]
Кувалдин Роман
Member

Откуда: Московская область
Сообщений: 1296
>> В форуме "Программирование" я советовался насчёт выбора средств
>> разработки сайта с достаточно хитрой базой данных. Средства MySQL
>> оказались недостаточны. Я решил организовать триггеры и ХП на уровне
>> клиента. Поскольку проект достаточно сложен я решил реализовать всю
>> эту мутатень через ООП. А ф ПХП4 с ООП не то, чтоб бедово. Но не очень
>> как-то. Вот я и советовался насчёт того, что лучше: Apache-PHP-MySQL,
>> или Zope-Python-MySQL. Однако посоветовали мне заменить мускл на
>> постгрис. Стал я про постгрис читать в книжечке про базы данных.
>> Сведенья там ошмёточные, конечно. Но в связи с тем, что СУБД эта
>> объектно-реляционная я загорелся идеей, что 80% того, что я хотел
>> сделать на ПХП можно сделать на Постгри.

>> Вот и возникли вопросы:
>> 1: В книжечке было написанно про какой-то хитрый постгривский язык. А
>> что такое тогда PostgreSQL?

PostgreSQL - это название БД (пост-грес-ку-эл), а язык называется PL/PGSQL (по аналогии с оракловым PL/SQL)

>> 2: Где почитать про постгри? Для начала просто с возможностями
>> ознакомится. Но и мануал нужен. На русском.

Мануалов на русском свежих я не помню.
Книги:
PostgreSQL. Руководство разработчика и администратора
PostgreSQL. Основы
PostgreSQL. Для профессионалов (с CD-ROM)
Последняя больше всего понравилась. Вторая ИМХО фигня. А вообще с постгресом поставляется довольно качественная дока. К сожалению для тебя - на английском.

>> 3: Как у хостеров дела с постгри?

Преимущественно платно.

>> 4: личное (субъективное) мнение насчёт постгри.

Почти Оракл. Самая фичастая из бесплатных. Есть несколько багофич которые надо знать, например что функции max и min лучше не использовать, так как они работают через полное сканирование таблицы. Связано это с общим механизмом обработки агрегатных функций, вместо них предпочтительнее использовать конструкцию select id from table_name order by id asc/desc limit 1 (при условии наличия индекса по полю id)
В доке все это подробно разжевывается.
23 июн 05, 10:14    [1642834]     Ответить | Цитировать Сообщить модератору
 Re: Народ, расскажите про Postgres.  [new]
.-.-.-.-.-
Guest
1. у постгреса хреновые менеджеры.
Если бы не они, postgresql был бы намного популярнее

2. документация (ИМХО) слабая

3. В остальном все ок
23 июн 05, 14:04    [1644079]     Ответить | Цитировать Сообщить модератору
 Re: Народ, расскажите про Postgres.  [new]
Зл0й
Member

Откуда: Северная Калифорния
Сообщений: 686
PostQUEL умер аж в 1994 году. Был когда-то такой язык запросов QUEL, применялся в древнем Ingres. В принципе PostGreSQL и современный Ingres своими корнями уходят в допотопный Ingres. Но все это было настолько давно (в 80х годах прошлого векв), что можно смело про все это забыть. QUEL - мертвый язык.
28 июл 05, 04:17    [1741859]     Ответить | Цитировать Сообщить модератору
 Re: Народ, расскажите про Postgres.  [new]
Gold Fish
Member

Откуда: Kiev
Сообщений: 408
насчет общих отзывов могу сказать что работал с биллинговой системой крутящейся под постгресом (порядка 7 млн. транзакций в сутки) база около 300 ГБ. Там довольно неплохо он себя зарекомендовал, даже при том что там было довольно слабенькое железо
6 окт 05, 18:25    [1946179]     Ответить | Цитировать Сообщить модератору
 Re: Народ, расскажите про Postgres.  [new]
akalend
Member

Откуда: СПб
Сообщений: 522
Gold Fish правда? 300Гб база?
у меня на двухпроцессорном ксионе с 2Гб оперативке постгресс прямо таки умирает а Бд всего 500М (таких баз крутится пять)
Понять причину не в силах, вот и залез почитать про постгресс.
2 ноя 05, 14:48    [2031365]     Ответить | Цитировать Сообщить модератору
 Re: Народ, расскажите про Postgres.  [new]
akalend
Member

Откуда: СПб
Сообщений: 522
сайт однозначно будет переделываться - БД спроектирована кривовато,
думаю отказаться от постгреса или нет.

Народ, что посоветуете?
2 ноя 05, 14:50    [2031372]     Ответить | Цитировать Сообщить модератору
 Re: Народ, расскажите про Postgres.  [new]
it depends
Guest
akalend
сайт однозначно будет переделываться - БД спроектирована кривовато,
думаю отказаться от постгреса или нет.

Народ, что посоветуете?

отказаться от сайта

любую СУБД можно заставить дико тормозить на лучшем железе всего при нескольких десятках тысяч записей чисто за счет кривой структуры
2 ноя 05, 14:59    [2031444]     Ответить | Цитировать Сообщить модератору
 Re: Народ, расскажите про Postgres.  [new]
Yo!!
Guest
akalend
сайт однозначно будет переделываться - БД спроектирована кривовато,
думаю отказаться от постгреса или нет.

Народ, что посоветуете?


на постгресе крутится http://linux.org.ru сходи посмотри там где-то были графики загружености. кажется там 1 проц легко все тянул.
2 ноя 05, 15:31    [2031699]     Ответить | Цитировать Сообщить модератору
 Re: Народ, расскажите про Postgres.  [new]
LeXa NalBat
Member

Откуда: Москва
Сообщений: 2892
akalend
сайт однозначно будет переделываться - БД спроектирована кривовато,
думаю отказаться от постгреса или нет.

Народ, что посоветуете?
Исправьте структуру БД и запросы. Должен бегать без тормозов. Мы давно перешли с оракла на постгрес, конечно столкнулись с трудностями, но их удалось обойти. Базы по паре гигов.
3 ноя 05, 10:00    [2034211]     Ответить | Цитировать Сообщить модератору
 Re: Народ, расскажите про Postgres.  [new]
VoDA
Member

Откуда: сеРверная пальмира :)
Сообщений: 4898
LeXa NalBat
Исправьте структуру БД и запросы. Должен бегать без тормозов. Мы давно перешли с оракла на постгрес, конечно столкнулись с трудностями, но их удалось обойти. Базы по паре гигов.

А можно более подробно про трудности Пистгри? И каков общий объем баз?
----

SAnalis.ru - Just for fun. Еще расту, а так я ДЖИП!
3 ноя 05, 11:50    [2034797]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Сравнение СУБД Ответить