powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / ASE12.5 - несколько сегментов для одной таблицы - зачем?
25 сообщений из 27, страница 1 из 2
ASE12.5 - несколько сегментов для одной таблицы - зачем?
    #36273296
Kru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Господа, наткнулся тут в доках на такой трюк ( тынц ): создать сегмент, создать на нём таблицу и кластерный индекс, загрузить данные, создать 2й сегмент, разместить на нём таблицу, загрузить данные.

В результате таблица будет на 2х сегментах, каждый из которых будет содержать загруженное нами количество данных.

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

Альтернативой партициям, подход тоже не выглядит, но тем не менее его зачем-то приводят.

Может кто может помочь понять, почему?

Заранее спасибо.
...
Рейтинг: 0 / 0
ASE12.5 - несколько сегментов для одной таблицы - зачем?
    #36274315
SQLMantis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kru,
например, контроль за дисковым пространством, которое занимает эта таблица.
Why use segments?
...
Рейтинг: 0 / 0
ASE12.5 - несколько сегментов для одной таблицы - зачем?
    #36274541
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kru пишет:

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

Ну, например, у тебя нет места под всю таблицу на одном диске, есть только
на двух.

> Альтернативой партициям, подход тоже не выглядит, но тем не менее его
> зачем-то приводят.

Его можно сочетать с партициями. Можно каждую партицию класть на свой
сегмент. Если сегменты приписаны к разным физическим девайсам,
будет ещё и ускорение по обработке IO. Правда, сейчас редко так
делают, поскольку RAID-ы применяются чаще, а несколько RAID-ов
достаточно редко бывают.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
ASE12.5 - несколько сегментов для одной таблицы - зачем?
    #36275499
Kru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQLMantisKru,
например, контроль за дисковым пространством, которое занимает эта таблица.
Why use segments?

Но ведь одного сегмента вполне достаточно?
Зачем второй?
...
Рейтинг: 0 / 0
ASE12.5 - несколько сегментов для одной таблицы - зачем?
    #36275502
Kru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv
Kru пишет:

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

Ну, например, у тебя нет места под всю таблицу на одном диске, есть только
на двух.

> Альтернативой партициям, подход тоже не выглядит, но тем не менее его
> зачем-то приводят.

Его можно сочетать с партициями. Можно каждую партицию класть на свой
сегмент. Если сегменты приписаны к разным физическим девайсам,
будет ещё и ускорение по обработке IO. Правда, сейчас редко так
делают, поскольку RAID-ы применяются чаще, а несколько RAID-ов
достаточно редко бывают.


А один сегмент, разве нельзя приписать к разным девайсам?
...
Рейтинг: 0 / 0
ASE12.5 - несколько сегментов для одной таблицы - зачем?
    #36275513
Kru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
What is a segment?
A segment is a label that points to one or more database devices.

Может так быть, что предложенный вариант с двумя сегментами, просто какой-то пережиток старины?
...
Рейтинг: 0 / 0
ASE12.5 - несколько сегментов для одной таблицы - зачем?
    #36275644
SQLMantis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KruSQLMantisKru,
например, контроль за дисковым пространством, которое занимает эта таблица.
Why use segments?

Но ведь одного сегмента вполне достаточно?
Зачем второй?

Достаточно для чего?
Если мне необходимо контролировать размер именно данных, не данных и некластерных индексов,
я буду использовать именно два сегмента, по возможности на двух разных девайсах на двух разных дисках. На одном девайсе я создам сегмент под таблицу на втором под ее некластерные индексы.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Помимо этого, сегменты позволяют контролировать использование
пространства следующим образом:
• Таблица не может выйти за пределы размера, выделенного ей в сег-
менте, поэтому сегменты позволяют ограничивать размер таблицы.
• Таблицы в других сегментах не могут использовать пространство,
выделенное объектам в другом сегменте.
• Использование пространства может отлеживаться диспетчером
порогов.
...
Рейтинг: 0 / 0
ASE12.5 - несколько сегментов для одной таблицы - зачем?
    #36275672
SQLMantis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кроме всего прочего, указанный в топе пример до боли похож на метод размещения текстовых страниц на отдельном устройстве.
...
Рейтинг: 0 / 0
ASE12.5 - несколько сегментов для одной таблицы - зачем?
    #36275751
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kru пишет:

> А один сегмент, разве нельзя приписать к разным девайсам?

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

И ещё для чего 100% сегменты используются -- это для разделения
индексов и данных на разные физ.устройства.

Правда, надо признаться, я сам их совсем никогда и не использовал
толком.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
ASE12.5 - несколько сегментов для одной таблицы - зачем?
    #36275834
Kru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем большое спасибо.
Хочется ещё уточнить такой момент - когда у нас один сегмент, использующий девайсы созданные на разных дисках, и мы создаём индексы*, ASE догадается создать их на отдельных дисках, так чтобы распараллелить чтение индексов и данных?

*индексы некластерные

Тоже такой вопросик - могут ли девайсы входящие в сегмент находиться на дисках принадлежащих разным машинам (входящих в кластер).
...
Рейтинг: 0 / 0
ASE12.5 - несколько сегментов для одной таблицы - зачем?
    #36275917
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KruВсем большое спасибо.
Хочется ещё уточнить такой момент - когда у нас один сегмент , использующий девайсы созданные на разных дисках, и мы создаём индексы*, ASE догадается создать их на отдельных дисках, так чтобы распараллелить чтение индексов и данных?

*индексы некластерные


если сегмент один, то все яйца кладутся в одну корзину
и далее - как повезет, т.е. попадут ли твои индексы на диск, отдельный от данных, или нет
в рамках БД ASE оперирует не дисками, а сегментами
если он один (не важно, default это или какой другой), то вариантов нет
да даже если их (сегментов) много, это не отменяет работу мысли ДБА по разнесению данных и индексов на разные сегменты

Kru
Тоже такой вопросик - могут ли девайсы входящие в сегмент находиться на дисках принадлежащих разным машинам (входящих в кластер).
мнээ, это зачем? чтобы внести элемент неопределенности (плюс доп. задержка на чтение/запись) под названием "сеть" ?
...
Рейтинг: 0 / 0
ASE12.5 - несколько сегментов для одной таблицы - зачем?
    #36276197
SQLMantis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KruВсем большое спасибо.
Тоже такой вопросик - могут ли девайсы входящие в сегмент находиться на дисках принадлежащих разным машинам (входящих в кластер).

Если система, на которой крутится sybase, видит эти диски и может их подмонтировать то sybase'у
будет пофиг где эти диски находятся.
...
Рейтинг: 0 / 0
ASE12.5 - несколько сегментов для одной таблицы - зачем?
    #36276203
SQLMantis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
komrad
мнээ, это зачем? чтобы внести элемент неопределенности (плюс доп. задержка на чтение/запись) под названием "сеть" ?

Вот, что это, только что, было? Наезд? )
...
Рейтинг: 0 / 0
ASE12.5 - несколько сегментов для одной таблицы - зачем?
    #36276261
SQLMantis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Честно скажу, я не особо баловался сегментами.
Однако, в плане контроля за пространством, мне представляется вполне жизнеспособным следующий вариант.
Не секрет что во многих и по разному спроектированных базах есть всего несколько таблиц, которые наибольшим образом влияют на прирост данных. Такие таблицы, как правило, с некой периодичностью подвергаются очистке (старые данные удаляются, агрегируются...etc).
Перенеся подобную таблицу на отдельные сегменты с заранее определенным размером (размер девайса), мы получаем следующее:
1) Повесить диспечер порогов на сегмент что позволит реагировать на превышение определенных порогов событиями от нотификации до автоматической очистки/агрегации.
2) Даже если эта таблица займет все отведенное ей пространство, операции с другими таблицами в базе будут работать.
3) Влияние всевозможных group, order, join etc по этой таблице на базу tempdb можно контролировать пунктом 1.
4) Ну и конечно повышение производительности за счет разнесения данных и некластерных индексов
...
Рейтинг: 0 / 0
ASE12.5 - несколько сегментов для одной таблицы - зачем?
    #36276832
0rc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQLMantis,
как мне кажется, в дисковых презентациях через SAN и создании девайсов через lvm все эти изыски просто ничего не дадут в плане производительности
(контроль места и пороги не считаем)
...
Рейтинг: 0 / 0
ASE12.5 - несколько сегментов для одной таблицы - зачем?
    #36277254
SQLMantis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
0rcSQLMantis,
как мне кажется, в дисковых презентациях через SAN и создании девайсов через lvm все эти изыски просто ничего не дадут в плане производительности
(контроль места и пороги не считаем)

Не дадут.
Но ведь это не изыски а насущная потребность.
SAN используют далеко не все.
...
Рейтинг: 0 / 0
ASE12.5 - несколько сегментов для одной таблицы - зачем?
    #36277307
0rc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQLMantis, да хоть рейд с лвм (все в куче)
...
Рейтинг: 0 / 0
ASE12.5 - несколько сегментов для одной таблицы - зачем?
    #36277314
0rc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQLMantis,
хотя потом подумал и вспомнил как сам делил базу на сегменты (пожлобились купить рейд-контроллер) по дискам в 2х корзинах (10 дисков, 8 сегментов)
...
Рейтинг: 0 / 0
ASE12.5 - несколько сегментов для одной таблицы - зачем?
    #36277804
Kru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Господа,
всем большое спасибо за участие. Для меня сегменты вещь полностью теоретическая, т.к. я разработчик, но ужасно интересно хотелось с ними разобраться, что почти полностью удалось благодаря Вашим ответам.

У меня вопрос вот по этому утверждению:
SQLMantis0rcSQLMantis,
как мне кажется, в дисковых презентациях через SAN и создании девайсов через lvm все эти изыски просто ничего не дадут в плане производительности
(контроль места и пороги не считаем)

Не дадут.
Но ведь это не изыски а насущная потребность.
SAN используют далеко не все.

что такое SAN и почему при его использовании не будет выигрыша в производительности от разнесения данных и некластерных индексов по разным сегментам?

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

Делается ли так на практике?

Большое спасибо
...
Рейтинг: 0 / 0
ASE12.5 - несколько сегментов для одной таблицы - зачем?
    #36277863
SQLMantis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KruГоспода,
что такое SAN и почему при его использовании не будет выигрыша в производительности от разнесения данных и некластерных индексов по разным сегментам?

Storage Area Network.
Выиграша не будет по причине манипулирования системой не физическими дисками а логическими томами , которые как правило уже "размазаны" по рейду. То есть с точки зрения I/O там и так все уже должно быть оптимизированно, хоть и в общем виде.

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


Не понял, что значит индексы разместить на более быстрой и мощной машине ?
Индексы можно разместить на отдельном сегменте, что с точки зрения повышения производительности при применении SAN скорей всего не оправдано.
Хотя, теоретически, если на сервер придет два fibre channel, по ним придут два логических тома, которые, каким то чудесным образом, есть суть двух разных физических томов ?

А так вообще для больших таблиц для которых выполняются аггрегированные запросы надо еще о tempdb не забыть позаботиться :)
...
Рейтинг: 0 / 0
ASE12.5 - несколько сегментов для одной таблицы - зачем?
    #36278286
Kru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Большое спасибо за ссылки про SAN и логические тома.

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


Не понял, что значит индексы разместить на более быстрой и мощной машине ?


Я имел ввиду - создать сегмент на девайсах находящихся на более мощной машине и потом на этом сегменте разместить некластерные индексы.

Как мне кажется, это решение как раз хорошо сочетается с SAN, т.к. в этой архитектуре можно физически объединить разные машины которые для ASE будут выглядеть как один физический сервер.

На самых производительных машинах можно создать девайсы и отдельные сегменты под индексы и под данные для наиболее часто обрабатываемых таблиц, а на машинах помедленнее поместить остальные объекты.

Это должно дать прирост производительности.

Но это в теории, а хотелось бы узнать, что существует на практике.



Заранее большое спасибо.
...
Рейтинг: 0 / 0
ASE12.5 - несколько сегментов для одной таблицы - зачем?
    #36278422
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kru пишет:

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

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

Другое дело, что физическое расположение данных сейчас мало используется,
изза RAID.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
ASE12.5 - несколько сегментов для одной таблицы - зачем?
    #36278850
SQLMantis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kru
Я имел ввиду - создать сегмент на девайсах находящихся на более мощной машине и потом на этом сегменте разместить некластерные индексы.

Как мне кажется, это решение как раз хорошо сочетается с SAN, т.к. в этой архитектуре можно физически объединить разные машины которые для ASE будут выглядеть как один физический сервер.

На самых производительных машинах можно создать девайсы и отдельные сегменты под индексы и под данные для наиболее часто обрабатываемых таблиц, а на машинах помедленнее поместить остальные объекты.

Это должно дать прирост производительности.

Но это в теории, а хотелось бы узнать, что существует на практике.



Заранее большое спасибо.

На практике все храниться на SAN, сервера в кластере, диски или совместно используются или елозят между серверами.
Бывает так что люди не заморачиваются и даже сам ASE с таких дисков запускают.
На все это хозяйство еще и backup натравливается.
В общем SAN это удобно :)
...
Рейтинг: 0 / 0
ASE12.5 - несколько сегментов для одной таблицы - зачем?
    #36279790
0rc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQLMantis
Хотя, теоретически, если на сервер придет два fibre channel, по ним придут два логических тома, которые, каким то чудесным образом, есть суть двух разных физических томов ?


да хоть 4 ! а потом средствами ОС делаем LVM на них... и получаем "размазывание" на "размазывании" :)
...
Рейтинг: 0 / 0
ASE12.5 - несколько сегментов для одной таблицы - зачем?
    #36280121
Kru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv
Kru пишет:

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

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

Другое дело, что физическое расположение данных сейчас мало используется,
изза RAID.


Думать можно, трогать нельзя :-)
...
Рейтинг: 0 / 0
25 сообщений из 27, страница 1 из 2
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / ASE12.5 - несколько сегментов для одной таблицы - зачем?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]