RE: Re: [pgsql-ru-general] Количество - Mailing list pgsql-ru-general

From Oleg Bartunov
Subject RE: Re: [pgsql-ru-general] Количество
Date
Msg-id Pine.GSO.4.62.0504201248330.28522@ra.sai.msu.su
Whole thread Raw
In response to RE: Re: [pgsql-ru-general] Количество  ("Sergey Karin" <nil5-ksa@yandex.ru>)
List pgsql-ru-general
  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.

---559023410-1691952160-1113987067=:28522
Content-Type: TEXT/PLAIN; charset=koi8-r; format=flowed
Content-Transfer-Encoding: 8BIT

On Wed, 20 Apr 2005, Sergey Karin wrote:

>
>
> -----Original Message-----
> From: pgsql-ru-general-owner@postgresql.org
> [mailto:pgsql-ru-general-owner@postgresql.org] On Behalf Of Oleg Bartunov
> Sent: Wednesday, April 20, 2005 7:53 AM
> To: vvislobokov@lukoilperm.ru
> Cc: 'pgsql-ru-general'
> Subject: [OBORONA-SPAM] Re: [pgsql-ru-general] Количество
>
> On Wed, 20 Apr 2005, Viktor Vislobokov wrote:
>
>> Пояснения уже дали, но прошу обратить внимание, что там же где пишется про
>> это ограничение говорится и что такое количество колонок в таблице - не
> очень
>> хорошая идея и часто свидетельствует о неправильном дизайне БД.  Помоему
> ещё
>> где-то было упоминание, что при околопредельном количестве колонок в
> таблице,
>> производительность СУБД на таких таблицах будет хуже. Так что нужно
> серьёзно
>> подумать - надо ли оно?
>
> Иногда требуется, но обычно поиск идет только по нескольким атрибутам,
> а остальные нужны только для показа. Поэтому, мы запихиваем эти все
> остальные
> атрибуты в хэш и храним в одном поле. Есть даже спец. тип данных
> hstore (www.sai.msu.su/~megera/postgres/gist) для этого,
> а если не хочется с этим связываться и работа идет с perl, то можно
> хранить стринговое представление хэша (Data::Dumper).
>
>
> Я полностью согласен с тем, что очень большое количество атрибутов в таблице
> говорит о неправильном дизайне. Однако у меня данный вопрос возник вот
> почему. Я занимаюсь разработкой ГИС с использованием связки postgres +
> postgis. Вот. А там устройство такое. Слой - это отдельная таблица. Строками
> таблицы являются объекты. Каждый объект кроме географии имеет некоторое
> количество атрибутов. Для всех объектов слоя их количество фиксировано, но
> может быть очень большим. Понятно, что в 99.99999% случаев количество
> атрибутов не перевалит даже за 50, но если ограничение есть, то надо об этом
> знать заранее.
> А теперь к вопросу о том, почему не получается хранить все атрибуты в хэше.
> Все сторонние системы, например OGR (http://www.gdal.org/ogr), считают, что
> атрибут объекта - это отдельное поле таблицы. Исходя из этого они и
> работают...

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

> Вот такие вот дела.
>

>>
>>> Здравствуйте.
>>>
>>>
>>> В описании ограничений постгреса сказано, что таблица может содержать
>>> 2500-1600 столбцов в зависимости от типа этих самых столбцов.
>>>
>>> Каким образом эта зависимость проявляется?
>>>
>>> Например, если я имею столбцы int4, varchar, bytea. В основном int4 и
>>> varchar, то сколько столбцов может быть?
>>>
>>>
>>> Сергей Карин
>>>
>>
>>
>>
>
>     Regards,
>         Oleg
> _____________________________________________________________
> Oleg Bartunov, sci.researcher, hostmaster of AstroNet,
> Sternberg Astronomical Institute, Moscow University (Russia)
> Internet: oleg@sai.msu.su, http://www.sai.msu.su/~megera/
> phone: +007(095)939-16-83, +007(095)939-23-83
> ---------------------------(end of broadcast)---------------------------
> TIP 3: if posting/reading through Usenet, please send an appropriate
>      subscribe-nomail command to majordomo@postgresql.org so that your
>      message can get through to the mailing list cleanly
>

     Regards,
         Oleg
_____________________________________________________________
Oleg Bartunov, sci.researcher, hostmaster of AstroNet,
Sternberg Astronomical Institute, Moscow University (Russia)
Internet: oleg@sai.msu.su, http://www.sai.msu.su/~megera/
phone: +007(095)939-16-83, +007(095)939-23-83
---559023410-1691952160-1113987067=:28522--

pgsql-ru-general by date:

Previous
From: "Sergey Karin"
Date:
Subject: RE: Re: [pgsql-ru-general] Количество
Next
From: Oleg Bartunov
Date:
Subject: Re: RE: Re: [pgsql-ru-general] Количество