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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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


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


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

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

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

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

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



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

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

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

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

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

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

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

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



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

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


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

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

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

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


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


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