|
|
|
ASE12.5 - несколько сегментов для одной таблицы - зачем?
|
|||
|---|---|---|---|
|
#18+
Господа, наткнулся тут в доках на такой трюк ( тынц ): создать сегмент, создать на нём таблицу и кластерный индекс, загрузить данные, создать 2й сегмент, разместить на нём таблицу, загрузить данные. В результате таблица будет на 2х сегментах, каждый из которых будет содержать загруженное нами количество данных. Ворос - для чего это нужно? С точки зрения доступа к данным на уровне железа такой подход, по идее, ничего не меняет - данные и в одном сегменте могут быть успешно распределены по разным дискам. Альтернативой партициям, подход тоже не выглядит, но тем не менее его зачем-то приводят. Может кто может помочь понять, почему? Заранее спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2009, 18:49 |
|
||
|
ASE12.5 - несколько сегментов для одной таблицы - зачем?
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2009, 11:20 |
|
||
|
ASE12.5 - несколько сегментов для одной таблицы - зачем?
|
|||
|---|---|---|---|
|
#18+
Kru пишет: > создать сегмент, создать на нём таблицу и кластерный индекс, загрузить > данные, создать 2й сегмент, разместить на нём таблицу, загрузить данные. > > В результате таблица будет на 2х сегментах, каждый из которых будет > содержать загруженное нами количество данных. > > Ворос - для чего это нужно? Ну, например, у тебя нет места под всю таблицу на одном диске, есть только на двух. > Альтернативой партициям, подход тоже не выглядит, но тем не менее его > зачем-то приводят. Его можно сочетать с партициями. Можно каждую партицию класть на свой сегмент. Если сегменты приписаны к разным физическим девайсам, будет ещё и ускорение по обработке IO. Правда, сейчас редко так делают, поскольку RAID-ы применяются чаще, а несколько RAID-ов достаточно редко бывают. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2009, 12:44 |
|
||
|
ASE12.5 - несколько сегментов для одной таблицы - зачем?
|
|||
|---|---|---|---|
|
#18+
SQLMantisKru, например, контроль за дисковым пространством, которое занимает эта таблица. Why use segments? Но ведь одного сегмента вполне достаточно? Зачем второй? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2009, 18:13 |
|
||
|
ASE12.5 - несколько сегментов для одной таблицы - зачем?
|
|||
|---|---|---|---|
|
#18+
MasterZiv Kru пишет: > создать сегмент, создать на нём таблицу и кластерный индекс, загрузить > данные, создать 2й сегмент, разместить на нём таблицу, загрузить данные. > > В результате таблица будет на 2х сегментах, каждый из которых будет > содержать загруженное нами количество данных. > > Ворос - для чего это нужно? Ну, например, у тебя нет места под всю таблицу на одном диске, есть только на двух. > Альтернативой партициям, подход тоже не выглядит, но тем не менее его > зачем-то приводят. Его можно сочетать с партициями. Можно каждую партицию класть на свой сегмент. Если сегменты приписаны к разным физическим девайсам, будет ещё и ускорение по обработке IO. Правда, сейчас редко так делают, поскольку RAID-ы применяются чаще, а несколько RAID-ов достаточно редко бывают. А один сегмент, разве нельзя приписать к разным девайсам? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2009, 18:14 |
|
||
|
ASE12.5 - несколько сегментов для одной таблицы - зачем?
|
|||
|---|---|---|---|
|
#18+
What is a segment? A segment is a label that points to one or more database devices. Может так быть, что предложенный вариант с двумя сегментами, просто какой-то пережиток старины? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2009, 18:17 |
|
||
|
ASE12.5 - несколько сегментов для одной таблицы - зачем?
|
|||
|---|---|---|---|
|
#18+
KruSQLMantisKru, например, контроль за дисковым пространством, которое занимает эта таблица. Why use segments? Но ведь одного сегмента вполне достаточно? Зачем второй? Достаточно для чего? Если мне необходимо контролировать размер именно данных, не данных и некластерных индексов, я буду использовать именно два сегмента, по возможности на двух разных девайсах на двух разных дисках. На одном девайсе я создам сегмент под таблицу на втором под ее некластерные индексы. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2009, 19:56 |
|
||
|
ASE12.5 - несколько сегментов для одной таблицы - зачем?
|
|||
|---|---|---|---|
|
#18+
Кроме всего прочего, указанный в топе пример до боли похож на метод размещения текстовых страниц на отдельном устройстве. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2009, 20:10 |
|
||
|
ASE12.5 - несколько сегментов для одной таблицы - зачем?
|
|||
|---|---|---|---|
|
#18+
Kru пишет: > А один сегмент, разве нельзя приписать к разным девайсам? На сколько я помню, можно. Но если надо управлять, сколько данных на каком физ. девайсе -- это самое оно, сегменты использовать. И ещё для чего 100% сегменты используются -- это для разделения индексов и данных на разные физ.устройства. Правда, надо признаться, я сам их совсем никогда и не использовал толком. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2009, 21:23 |
|
||
|
ASE12.5 - несколько сегментов для одной таблицы - зачем?
|
|||
|---|---|---|---|
|
#18+
Всем большое спасибо. Хочется ещё уточнить такой момент - когда у нас один сегмент, использующий девайсы созданные на разных дисках, и мы создаём индексы*, ASE догадается создать их на отдельных дисках, так чтобы распараллелить чтение индексов и данных? *индексы некластерные Тоже такой вопросик - могут ли девайсы входящие в сегмент находиться на дисках принадлежащих разным машинам (входящих в кластер). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2009, 22:20 |
|
||
|
ASE12.5 - несколько сегментов для одной таблицы - зачем?
|
|||
|---|---|---|---|
|
#18+
KruВсем большое спасибо. Хочется ещё уточнить такой момент - когда у нас один сегмент , использующий девайсы созданные на разных дисках, и мы создаём индексы*, ASE догадается создать их на отдельных дисках, так чтобы распараллелить чтение индексов и данных? *индексы некластерные если сегмент один, то все яйца кладутся в одну корзину и далее - как повезет, т.е. попадут ли твои индексы на диск, отдельный от данных, или нет в рамках БД ASE оперирует не дисками, а сегментами если он один (не важно, default это или какой другой), то вариантов нет да даже если их (сегментов) много, это не отменяет работу мысли ДБА по разнесению данных и индексов на разные сегменты Kru Тоже такой вопросик - могут ли девайсы входящие в сегмент находиться на дисках принадлежащих разным машинам (входящих в кластер). мнээ, это зачем? чтобы внести элемент неопределенности (плюс доп. задержка на чтение/запись) под названием "сеть" ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2009, 23:38 |
|
||
|
ASE12.5 - несколько сегментов для одной таблицы - зачем?
|
|||
|---|---|---|---|
|
#18+
KruВсем большое спасибо. Тоже такой вопросик - могут ли девайсы входящие в сегмент находиться на дисках принадлежащих разным машинам (входящих в кластер). Если система, на которой крутится sybase, видит эти диски и может их подмонтировать то sybase'у будет пофиг где эти диски находятся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2009, 09:24 |
|
||
|
ASE12.5 - несколько сегментов для одной таблицы - зачем?
|
|||
|---|---|---|---|
|
#18+
komrad мнээ, это зачем? чтобы внести элемент неопределенности (плюс доп. задержка на чтение/запись) под названием "сеть" ? Вот, что это, только что, было? Наезд? ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2009, 09:26 |
|
||
|
ASE12.5 - несколько сегментов для одной таблицы - зачем?
|
|||
|---|---|---|---|
|
#18+
Честно скажу, я не особо баловался сегментами. Однако, в плане контроля за пространством, мне представляется вполне жизнеспособным следующий вариант. Не секрет что во многих и по разному спроектированных базах есть всего несколько таблиц, которые наибольшим образом влияют на прирост данных. Такие таблицы, как правило, с некой периодичностью подвергаются очистке (старые данные удаляются, агрегируются...etc). Перенеся подобную таблицу на отдельные сегменты с заранее определенным размером (размер девайса), мы получаем следующее: 1) Повесить диспечер порогов на сегмент что позволит реагировать на превышение определенных порогов событиями от нотификации до автоматической очистки/агрегации. 2) Даже если эта таблица займет все отведенное ей пространство, операции с другими таблицами в базе будут работать. 3) Влияние всевозможных group, order, join etc по этой таблице на базу tempdb можно контролировать пунктом 1. 4) Ну и конечно повышение производительности за счет разнесения данных и некластерных индексов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2009, 09:47 |
|
||
|
ASE12.5 - несколько сегментов для одной таблицы - зачем?
|
|||
|---|---|---|---|
|
#18+
SQLMantis, как мне кажется, в дисковых презентациях через SAN и создании девайсов через lvm все эти изыски просто ничего не дадут в плане производительности (контроль места и пороги не считаем) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2009, 12:23 |
|
||
|
ASE12.5 - несколько сегментов для одной таблицы - зачем?
|
|||
|---|---|---|---|
|
#18+
0rcSQLMantis, как мне кажется, в дисковых презентациях через SAN и создании девайсов через lvm все эти изыски просто ничего не дадут в плане производительности (контроль места и пороги не считаем) Не дадут. Но ведь это не изыски а насущная потребность. SAN используют далеко не все. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2009, 13:57 |
|
||
|
ASE12.5 - несколько сегментов для одной таблицы - зачем?
|
|||
|---|---|---|---|
|
#18+
SQLMantis, да хоть рейд с лвм (все в куче) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2009, 14:09 |
|
||
|
ASE12.5 - несколько сегментов для одной таблицы - зачем?
|
|||
|---|---|---|---|
|
#18+
SQLMantis, хотя потом подумал и вспомнил как сам делил базу на сегменты (пожлобились купить рейд-контроллер) по дискам в 2х корзинах (10 дисков, 8 сегментов) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2009, 14:11 |
|
||
|
ASE12.5 - несколько сегментов для одной таблицы - зачем?
|
|||
|---|---|---|---|
|
#18+
Господа, всем большое спасибо за участие. Для меня сегменты вещь полностью теоретическая, т.к. я разработчик, но ужасно интересно хотелось с ними разобраться, что почти полностью удалось благодаря Вашим ответам. У меня вопрос вот по этому утверждению: SQLMantis0rcSQLMantis, как мне кажется, в дисковых презентациях через SAN и создании девайсов через lvm все эти изыски просто ничего не дадут в плане производительности (контроль места и пороги не считаем) Не дадут. Но ведь это не изыски а насущная потребность. SAN используют далеко не все. что такое SAN и почему при его использовании не будет выигрыша в производительности от разнесения данных и некластерных индексов по разным сегментам? Как сказанно выше, ASE поддерживает кластерную архитектуру. Следовательно скорее всего имеет смысл такое решение - для больших таблиц для которых выполняются аггрегированные запросы индексы разместить на более быстрой и мощной машине - тогда, по-идее, производительность должна вырости, при условии, что основная часть операций происходит именно с индексами? Делается ли так на практике? Большое спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2009, 16:28 |
|
||
|
ASE12.5 - несколько сегментов для одной таблицы - зачем?
|
|||
|---|---|---|---|
|
#18+
KruГоспода, что такое SAN и почему при его использовании не будет выигрыша в производительности от разнесения данных и некластерных индексов по разным сегментам? Storage Area Network. Выиграша не будет по причине манипулирования системой не физическими дисками а логическими томами , которые как правило уже "размазаны" по рейду. То есть с точки зрения I/O там и так все уже должно быть оптимизированно, хоть и в общем виде. Kru Как сказанно выше, ASE поддерживает кластерную архитектуру. Следовательно скорее всего имеет смысл такое решение - для больших таблиц для которых выполняются аггрегированные запросы индексы разместить на более быстрой и мощной машине - тогда, по-идее, производительность должна вырости, при условии, что основная часть операций происходит именно с индексами? Не понял, что значит индексы разместить на более быстрой и мощной машине ? Индексы можно разместить на отдельном сегменте, что с точки зрения повышения производительности при применении SAN скорей всего не оправдано. Хотя, теоретически, если на сервер придет два fibre channel, по ним придут два логических тома, которые, каким то чудесным образом, есть суть двух разных физических томов ? А так вообще для больших таблиц для которых выполняются аггрегированные запросы надо еще о tempdb не забыть позаботиться :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2009, 16:52 |
|
||
|
ASE12.5 - несколько сегментов для одной таблицы - зачем?
|
|||
|---|---|---|---|
|
#18+
Большое спасибо за ссылки про SAN и логические тома. Уточнение насчёт: SQLMantisKruКак сказанно выше, ASE поддерживает кластерную архитектуру. Следовательно скорее всего имеет смысл такое решение - для больших таблиц для которых выполняются аггрегированные запросы индексы разместить на более быстрой и мощной машине - тогда, по-идее, производительность должна вырости, при условии, что основная часть операций происходит именно с индексами? Не понял, что значит индексы разместить на более быстрой и мощной машине ? Я имел ввиду - создать сегмент на девайсах находящихся на более мощной машине и потом на этом сегменте разместить некластерные индексы. Как мне кажется, это решение как раз хорошо сочетается с SAN, т.к. в этой архитектуре можно физически объединить разные машины которые для ASE будут выглядеть как один физический сервер. На самых производительных машинах можно создать девайсы и отдельные сегменты под индексы и под данные для наиболее часто обрабатываемых таблиц, а на машинах помедленнее поместить остальные объекты. Это должно дать прирост производительности. Но это в теории, а хотелось бы узнать, что существует на практике. Заранее большое спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2009, 21:10 |
|
||
|
ASE12.5 - несколько сегментов для одной таблицы - зачем?
|
|||
|---|---|---|---|
|
#18+
Kru пишет: > всем большое спасибо за участие. Для меня сегменты вещь полностью > теоретическая, т.к. я разработчик, но ужасно интересно хотелось с ними > разобраться, что почти полностью удалось благодаря Вашим ответам. Я не думаю, что сегменты - это вещь не для разработчиков. Как раз разработчик и должен думать о физическом расположении данных и работе запросов. Другое дело, что физическое расположение данных сейчас мало используется, изза RAID. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2009, 23:35 |
|
||
|
ASE12.5 - несколько сегментов для одной таблицы - зачем?
|
|||
|---|---|---|---|
|
#18+
Kru Я имел ввиду - создать сегмент на девайсах находящихся на более мощной машине и потом на этом сегменте разместить некластерные индексы. Как мне кажется, это решение как раз хорошо сочетается с SAN, т.к. в этой архитектуре можно физически объединить разные машины которые для ASE будут выглядеть как один физический сервер. На самых производительных машинах можно создать девайсы и отдельные сегменты под индексы и под данные для наиболее часто обрабатываемых таблиц, а на машинах помедленнее поместить остальные объекты. Это должно дать прирост производительности. Но это в теории, а хотелось бы узнать, что существует на практике. Заранее большое спасибо. На практике все храниться на SAN, сервера в кластере, диски или совместно используются или елозят между серверами. Бывает так что люди не заморачиваются и даже сам ASE с таких дисков запускают. На все это хозяйство еще и backup натравливается. В общем SAN это удобно :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2009, 10:34 |
|
||
|
ASE12.5 - несколько сегментов для одной таблицы - зачем?
|
|||
|---|---|---|---|
|
#18+
SQLMantis Хотя, теоретически, если на сервер придет два fibre channel, по ним придут два логических тома, которые, каким то чудесным образом, есть суть двух разных физических томов ? да хоть 4 ! а потом средствами ОС делаем LVM на них... и получаем "размазывание" на "размазывании" :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2009, 14:29 |
|
||
|
ASE12.5 - несколько сегментов для одной таблицы - зачем?
|
|||
|---|---|---|---|
|
#18+
MasterZiv Kru пишет: > всем большое спасибо за участие. Для меня сегменты вещь полностью > теоретическая, т.к. я разработчик, но ужасно интересно хотелось с ними > разобраться, что почти полностью удалось благодаря Вашим ответам. Я не думаю, что сегменты - это вещь не для разработчиков. Как раз разработчик и должен думать о физическом расположении данных и работе запросов. Другое дело, что физическое расположение данных сейчас мало используется, изза RAID. Думать можно, трогать нельзя :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2009, 15:51 |
|
||
|
|

start [/forum/topic.php?desktop=1&fid=55&tid=2010854]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
66ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
| others: | 14ms |
| total: | 174ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...