|
|
|
Аля partiotioned view или partiotion by table
|
|||
|---|---|---|---|
|
#18+
Есть ли аналог в ASA и ASE и если есть, начиная с каких версий? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2005, 09:33 |
|
||
|
Аля partiotioned view или partiotion by table
|
|||
|---|---|---|---|
|
#18+
ASA: "partiotioned view" организуется так же, как и в MSSQL - через UNION ALL. "partiotion by table" отсутствует (было бы странно это увидеть в SMB СУБД). ASE: Все есть. P.S. Если посмотреть в FAQ , то там можно обнаружить следующий документ , рассказывающий о возможностях всех СУБД Sybase. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2005, 10:43 |
|
||
|
Аля partiotioned view или partiotion by table
|
|||
|---|---|---|---|
|
#18+
А в ASA 5.5 partiotioned view поддерживается? Posted via ActualForum NNTP Server 1.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2005, 10:48 |
|
||
|
Аля partiotioned view или partiotion by table
|
|||
|---|---|---|---|
|
#18+
CripВообще оптимизатор в ASE крайне убогий. Select from select появился только в 12.5.1 и тот все наровит свалиться в stacktrace. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2005, 10:54 |
|
||
|
Аля partiotioned view или partiotion by table
|
|||
|---|---|---|---|
|
#18+
авторРасскажит плс темному, что же там в ASE все есть? Я дал ссылку на документ, подготовленный для меня Sybase.ru, вот там все и читайте. Лично я вообще без понятия, чего там есть, чего нет в ASE - у меня для полного счастья в своих проектах в ASA 9 все есть (даже про запас) :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2005, 11:12 |
|
||
|
Аля partiotioned view или partiotion by table
|
|||
|---|---|---|---|
|
#18+
2 ASCRUS ASCRUSASA: было бы странно это увидеть в SMB СУБД Так все-таки ASA не класса Enterprise, а "все-лишь" SMB? :) Секционирование таблиц было бы очень удобно как в ASA так и в ASE. И в SMB бывают очень большие таблицы. Будем ждать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2005, 13:35 |
|
||
|
Аля partiotioned view или partiotion by table
|
|||
|---|---|---|---|
|
#18+
michael_2 ASCRUS ASCRUSASA: было бы странно это увидеть в SMB СУБД Так все-таки ASA не класса Enterprise, а "все-лишь" SMB? :) Секционирование таблиц было бы очень удобно как в ASA так и в ASE. И в SMB бывают очень большие таблицы. Будем ждать. Насколько я понимаю, секционирование таблиц полезно в 3 случаях: 1. Сверх-большие обьемы (когда реально таблица не помещается на жесткий диск) 2. Интенсивные операции по селективному индексу, который для больших таблиц становится не слишком удобным способом поиска удовлетворяющих условиям записей 3. OLAP, где требуется проводить аналитику по большому кол-ву записей и параллейное чтение индексов и таблицы не помешало бы. Все пункты сейчас реализуются ручками - методом разбивания большой таблицы по разным tablespace и соединением полученных таблиц в представлении через UNION ALL. Что то типа того: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Так же можно поиграться динамическим SQL, который в принципе неплохо отрабатывается в ASA, что то типа того: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2005, 14:25 |
|
||
|
Аля partiotioned view или partiotion by table
|
|||
|---|---|---|---|
|
#18+
MasterZIV как модератор Я извиняюсь , видимо я вместо цитирования сообщения от Crip тюкнул по исправлению сообщения от Crip. В результате нижеприведенное сообщение появилось как бы посланным им, Crip-ом. Поэтому я удалю его сообщение и оставлю только свое. Кроме отквоченного, в оригинальном сообщении насколько я помню, не приводилось доп. информации по обсуждаемому вопросу, кроме уже приведенной в треде - что в ASE ни partiotioned view, ни partiotion by table нету, но еще говорилось, что в ASE 15 это обещают сделать. Кроме этого, было написано следующее : CripВообще оптимизатор в ASE крайне убогий. Select from select появился только в 12.5.1 и тот все наровит свалиться в stacktrace. Если ты даже не понимаешь, что такое процессор запросов и что такое оптимизатор, и в чем между ними разница, то критиковать его (оптимизатор) как-то странно с твоей стороны. Короче, там дело разве только что в разборе синтаксиса запроса. Оптимизатор там ни при чем. О самой фиче (derived tables) могу сказать, что это - очень вредная штука, как для сервера, так и для мозгов программиста, который ее использует - я сталкивался при найме программистов с нормальными вроде бы ребятами, которые только из-за наличия этой фичи в MSSQL не могли написать ни одного ANSI-SQL запроса БЕЗ этой фичи. А ведь фича нестандартная. Ну в ASE в последнее время много делают для увеличения совместимости с MSSQL - вот и derived tables добавили. На счет 12.5.1 - не последняя это версия, есть более поздние. Думаю там уже поправили. Насчет partitioned tables - они есть в ASE (были испокон века), но это - совсем не то, что partitioned tables в ORACLE - совсем другая штука - просто таблица с несколькими цепочками данных. Правда на ней насколько я помню можно реализовать аналог ORACL-овой "распределенной" таблицы - сделать N partitions на APL-таблицу с кластерным индексом по нужным полям и разложить эти партиции по N сегментам (устройствам). Насколько я помню, именно это делает ОРАКЛОВАЯ фича. Сам я вообще не очень понимаю, зачем это все нужно - бить таблицу на куски. Если есть индекс и запрос хороший - само все разобьется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2005, 15:05 |
|
||
|
Аля partiotioned view или partiotion by table
|
|||
|---|---|---|---|
|
#18+
авторЕсли ты даже не понимаешь, что такое процессор запросов и что такое оптимизатор, и в чем между ними разница, Попрошу на личности не переходить. Эти вещи между прочим очень даже взаимосвязаны. А то что Sybase ASE остался на уровне MS SQL6.5 это не секрет по-моему ни для кого.э Зачем нужно секционирование? 1 таблица бьется на несколько партиций, каждая из которых формируется из определенного условия ( констрейнта) Это позволяет оптимизатору понимать, что при явном указании в селекте этого констрейнта, ко всем остальным партициям обращаться не нужно! Индекс тут вам не поможет, потому как его селективность будет очень мала. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2005, 15:27 |
|
||
|
Аля partiotioned view или partiotion by table
|
|||
|---|---|---|---|
|
#18+
И не только в селективности дело, еще на партиции можно строить свои индексы, отдельно бекапировать и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2005, 15:33 |
|
||
|
Аля partiotioned view или partiotion by table
|
|||
|---|---|---|---|
|
#18+
Согласен с crip, разбиение таблиц на сегменты (как это сделано в ORACLE) необходимо. Мы эксперементировали с этим. Работали и с большими таблицами и с созданными руками сегментами. Так вот, при всех неудобствах ручного сегментирования, наблюдался прирост производительности, точнее то, что она не терялась с ростом объема такой таблицы. Не всегда заранее можно предугадать все запросы к данным, жизнь может заставить генерить совсем другие запросы в будущем, когда данные уже накоплены. И грамотно спроектированные индексы не всегда спасают. А уж тюнинговать каждый раз все запросы при выходе нового билда сервера, из-за того, что сменился оптимизатор ... :( Все-таки не зря это в ORACLE сделали. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2005, 16:42 |
|
||
|
Аля partiotioned view или partiotion by table
|
|||
|---|---|---|---|
|
#18+
С UNION все понятно, но одна из фитч секционированных вью - это то что они понимают в какую таблицу вставлять запись при insert into partitiondeview ... Вот эту возможность ASA/ASE поддерживает? Posted via ActualForum NNTP Server 1.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2005, 17:46 |
|
||
|
Аля partiotioned view или partiotion by table
|
|||
|---|---|---|---|
|
#18+
и как правильно заметили участники - смысл секционирования в том чтобы сервак при запросах не дергал партиции которые не подпадают в условие insert/update/delete/select отсюда и производительность примерно на одном уровне остается, т.е. особо не падает. И никакие индексы не спасут когда ежедневно в таблицу валится по 5 млн записей (к примеру). Posted via ActualForum NNTP Server 1.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2005, 17:51 |
|
||
|
Аля partiotioned view или partiotion by table
|
|||
|---|---|---|---|
|
#18+
Еще раз повторюсь. В ASE этого точно нет. Секционирование таблиц появится в 15 версии (выход ориентировочно конец 2005) Там кстати очень много полезных вещей появится. Вообщем ASE выйдет на уровень близкий к MSSQL2000 :), а кое в чем даже обещают превзойти, например в организации кластеров. Все это очень неплохо для СУБД невходящей в TOP 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2005, 17:58 |
|
||
|
Аля partiotioned view или partiotion by table
|
|||
|---|---|---|---|
|
#18+
А ТОП3 это что ORACLE, MSSQL2000, и .... DB2 что ли? Posted via ActualForum NNTP Server 1.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2005, 18:01 |
|
||
|
Аля partiotioned view или partiotion by table
|
|||
|---|---|---|---|
|
#18+
michael_Согласен с crip, разбиение таблиц на сегменты (как это сделано в ORACLE) необходимо. Может РАССКАЖЕТЕ как это сделано в ORACLE ? michael_ Мы эксперементировали с этим. Работали и с большими таблицами и с созданными руками сегментами. Так вот, при всех неудобствах ручного сегментирования, наблюдался прирост производительности, точнее то, что она не терялась с ростом объема такой таблицы. Ну это достигается простым индексом, покрывающим запрос. Надеюсь, большие таблицы без индексов никто не предлагает обрабатываит ? Теперь на счет экспериментов - какая была таблица, объем ( только умоляю - не в мегабайтах, а в строках), как была разбита и какие были запросы. ??? michael_ И грамотно спроектированные индексы не всегда спасают. А уж тюнинговать каждый раз все запросы при выходе нового билда сервера, из-за того, что сменился оптимизатор ... :( Но насколько я понимаю, разбиваете вы таблицу тоже по вполне определенным критериям, например, если вы разобъете таблицу продаж по годам, то для обработки запроса анализа поставок конкретному контрагенту все равно нужно будет обрабатывать все таблицы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2005, 18:20 |
|
||
|
Аля partiotioned view или partiotion by table
|
|||
|---|---|---|---|
|
#18+
ASCRUS Насколько я понимаю, секционирование таблиц полезно в 3 случаях: 1. Сверх-большие обьемы (когда реально таблица не помещается на жесткий диск) А почему ты думаешь, что одна таблица в одной БД должна быть обязательно на одном диске ? В ASE одна БД может быть на нескольких (в том числе и физических) устройтвах (дисках), и таким же образом может быть на нескольких дисках и таблица в этой БД, причем прозрачно для ее пользователей. Так что этот случай отметается. ASCRUS 2. Интенсивные операции по селективному индексу, который для больших таблиц становится не слишком удобным способом поиска удовлетворяющих условиям записей Ты сам-то понял, что сказал ? Когда это позиционирование по индексу "становится не слишком удобным способом поиска" ? Да чем больше таблица, тем удобнее поиск по индексу в сравнении с другими методами. Тоже уходит случай. ASCRUS 3. OLAP, где требуется проводить аналитику по большому кол-ву записей и параллейное чтение индексов и таблицы не помешало бы. Вот. Единственное. Парралельная обработка. А она в ASE допустима как для partitioned таблиц (в терминах ASE), так и для не partitioned - таблиц. Причем ты можешь физически распределять данные по партициям на основе ключа, а можешь и не распределять. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2005, 18:29 |
|
||
|
Аля partiotioned view или partiotion by table
|
|||
|---|---|---|---|
|
#18+
Crip Попрошу на личности не переходить. Эти вещи между прочим очень даже взаимосвязаны. А то что Sybase ASE остался на уровне MS SQL6.5 это не секрет по-моему ни для кого.э Ты не прав. Он в части TSQL может быть и остался на уровне MS SQL6.5 (точнее - MSSQL 6.5 был более продвинут в некоторых вещах). Но во всем , что касается внутренностей - мне так кажется, что ASE покруче MSSQL 2000 будет. Особенно в части ROW LEVEL LOCKING и организации таблиц. Crip Зачем нужно секционирование? 1 таблица бьется на несколько партиций, каждая из которых формируется из определенного условия ( констрейнта) Это позволяет оптимизатору понимать, что при явном указании в селекте этого констрейнта, ко всем остальным партициям обращаться не нужно! Индекс тут вам не поможет, потому как его селективность будет очень мала. А вообще ты прав, дейтвительно не поможет. Тут как бы многовходовый индекс нужен, а у ASE сейчас будет N маленьких индексов. Да, действительно я был не прав - может и нужная штука . Ну так сделают - оно достаточно нетрудно вроде бы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2005, 18:39 |
|
||
|
Аля partiotioned view или partiotion by table
|
|||
|---|---|---|---|
|
#18+
CripИ не только в селективности дело, еще на партиции можно строить свои индексы, отдельно бекапировать и т.д. :)) :)) :)) :)) :)) Над "отдельно бекапировать" долго смеялся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2005, 18:41 |
|
||
|
Аля partiotioned view или partiotion by table
|
|||
|---|---|---|---|
|
#18+
А что смешного? По крайней мере я так понял из описания фич 15-й версии. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2005, 20:51 |
|
||
|
Аля partiotioned view или partiotion by table
|
|||
|---|---|---|---|
|
#18+
А че кстати в row level locking в ASE сделано лучше чем в MSSQL2000? То что при уровне изоляции read committed не блокируется все записи до конца запроса? Может быть это и хорошо только в MSSQL любой запрос благодаря этому отдельно становится как бы repeatable read, а в ASE получается, что если уровень изоляции не поднять то можно получить несогласованные данные. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2005, 20:55 |
|
||
|
Аля partiotioned view или partiotion by table
|
|||
|---|---|---|---|
|
#18+
CripА че кстати в row level locking в ASE сделано лучше чем в MSSQL2000? То что при уровне изоляции read committed не блокируется все записи до конца запроса? Может быть это и хорошо только в MSSQL любой запрос благодаря этому отдельно становится как бы repeatable read, а в ASE получается, что если уровень изоляции не поднять то можно получить несогласованные данные. Гм, вообще то для этого уровень repeatable read и предназначен и делать его неявно с read committed по меньшей мере странно - здесь мы ожидаем просто чистое чтение. Надо думать отсюда ноги всех проблем с блокировками у MSSQL и растут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2005, 21:03 |
|
||
|
Аля partiotioned view или partiotion by table
|
|||
|---|---|---|---|
|
#18+
Я не так хорошо знаю Sybase ASE, но после MS SQL2000 все как-то неудобно, недоделано и глюкаво. Единственное это может быть row level locking, но это пожалуй единственный плюс Sybase. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2005, 21:06 |
|
||
|
Аля partiotioned view или partiotion by table
|
|||
|---|---|---|---|
|
#18+
Кстати может гуру Sybase ASE подскажут как бороться в нем с дедлоками конвертации? В MSSQL для этого существует хинт updlock, а что делать в Sybase ASE? Пример кода вызывающего дедлок: Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2005, 09:27 |
|
||
|
Аля partiotioned view или partiotion by table
|
|||
|---|---|---|---|
|
#18+
А как это в пределах одной сессии можно дедлок вызвать или я чего то не понял ? В ASA к примеру этот код никаких проблем не вызовет, там придется не мало постараться, чтобы дедлок получить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2005, 10:09 |
|
||
|
|

start [/forum/topic.php?fid=55&fpage=110&tid=2013934]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
42ms |
get topic data: |
13ms |
get forum data: |
4ms |
get page messages: |
138ms |
get tp. blocked users: |
2ms |
| others: | 15ms |
| total: | 244ms |

| 0 / 0 |

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