|
LinkedIn
|
|||
---|---|---|---|
#18+
Leonid Gurevich 07.05.2020, 18:23 RonibGreat 07.05.2020, 18:10 Leonid Gurevich, Это я чего-то напутал... был на одном проекте где большие таблицы надо было шерстить в онлайн, но скорость выборки стала мендленная после вставки нового поля по которому и выбирались данны едля отчета. ТО что навешали новый индекс, но потом перестроили таблицу и при создании новой таблицы даное поле переместили вперед и скорость увеличилась в несколько раз с нескольких часов то десятков минут. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.05.2020, 01:07 |
|
LinkedIn
|
|||
---|---|---|---|
#18+
witte 07.05.2020, 15:45 Да собственно мало кто любит добавление столбцов (в DB2, например, явно реорганизацию таблицы после этого проводить нужно иначе она "колом" встаёт). Т.е. да, из реляционных СУБД - да, никто не любит. Но вот DB2 и "колом"... Спойлер 1. Вы про какую DB2 говорите? Их три (не говоря уж про версии) - для zOs, iSeries и Linux, Unix, and Windows. Ну да, SQL похож, протоколы общения/драйвера - те же, но... 2. Для DB2 for LUW: https://www.ibm.com/support/knowledgecenter/SSEPGG_11.1.0/com.ibm.db2.luw.sql.ref.doc/doc/r0000888.html ================= The following is the full list of REORG-recommended ALTER statements that cause a version change and place the table into a REORG-pending state:
DROP COLUMN
ALTER COLUMN SET NOT NULL
ALTER COLUMN DROP NOT NULL
ALTER COLUMN SET DATA TYPE, except in the following situations:
Increasing the length of a VARCHAR or VARGRAPHIC column
Decreasing the length of a VARCHAR or VARGRAPHIC column without truncating trailing blanks from existing data, when no indexes exist on the column =================ADD COLUMN в этом списке нет. Добавление колонки на физическом уровне работает так: - "For all existing rows in the table, the value of the new column is set to its default value. " - Значение по умолчанию для новой колонки (и, соответственно, для всех существующих записей) записывается в системный каталог и при чтении существующих записей (физически не содержащих добавленной колонки) берётся оттуда. - При update/insert при необходимости конкретные строки расширяются. Более того, после REORG-recommended операций (DROP COLUMN, определённые SET DATA TYPE, ...) оно тоже не "колом встаёт", а остаётся доступным только на чтение. Что логично. И оно даже несколько транзакций (три) с REORG-recommended операциями без промежуточного REORG сделать даст прежде чем насильно зафутболит таблицу в REORG PENDING (внутри тех транзакций количество ALTER TABLE не ограничено). Ну и да, если где-то необходимый REORG не устраивает, есть другие способы модифицировать структуру (без прерывания доступа) - руками, через игры с подменой таблиц, или посредством ADMIN_MOVE_TABLE(). ... |
|||
:
Нравится:
Не нравится:
|
|||
08.05.2020, 01:23 |
|
LinkedIn
|
|||
---|---|---|---|
#18+
OoCc 08.05.2020, 01:07 Leonid Gurevich 07.05.2020, 18:23 пропущено... Это я могу понять. Оракл парсит столбцы по порядку. Если столбец в начале очень широкой таблицы, то теоретически доступ к нему будет быстрее, чем к последнему. С columnn store должны быть свои прибабахи. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.05.2020, 02:22 |
|
LinkedIn
|
|||
---|---|---|---|
#18+
CawaSPb 08.05.2020, 02:22 OoCc 08.05.2020, 01:07 пропущено... Похоже спор идёт об оракле 10. Используйте 11g с column store. И вообще это уже диноазавр как кобол. Оракля просрал клауд революцию и подлежит забвению. С columnn store должны быть свои прибабахи. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.05.2020, 07:31 |
|
LinkedIn
|
|||
---|---|---|---|
#18+
OoCc 08.05.2020, 07:31 CawaSPb 08.05.2020, 02:22 пропущено... А я бы предположил, что co-location вытаскиваемых данных увеличился. Большая степень кластеризации по соответствующей колонке. Меньше физических чтений. С columnn store должны быть свои прибабахи. И от селективности и размера таблиц как таковых это не зависит. Вон, к примеру, на OLTP'шной нагрузке селективность просто таки чумовая, но делать процессинг на Columnar Storage - сумасшедших нет. Э-эээ... или есть? ;) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.05.2020, 09:23 |
|
LinkedIn
|
|||
---|---|---|---|
#18+
CawaSPb 08.05.2020, 09:23 OoCc 08.05.2020, 07:31 пропущено... Это сильно зависит от селективности запросов. Понятно что на табличке в сто строчек колумн сторе проиграет. И от селективности и размера таблиц как таковых это не зависит. Вон, к примеру, на OLTP'шной нагрузке селективность просто таки чумовая, но делать процессинг на Columnar Storage - сумасшедших нет. Э-эээ... или есть? ;) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.05.2020, 10:08 |
|
LinkedIn
|
|||
---|---|---|---|
#18+
Leonid Gurevich 07.05.2020, 17:59 witte 07.05.2020, 15:45 пропущено... Если речь про Oracle, то это в некоторых случаях имело смысл. Хотя бы потому что могли разъехаться физический и логический порядок столбцов, что может привести к попоболи. Я с таким сталкивался когда Oracle e-Business Suite мигрировал с big endian на little endian. Ну и там всякие chaining rows и т.п. гадости могут вылезать если делать inplace. Да собственно мало кто любит добавление столбцов (в DB2, например, явно реорганизацию таблицы после этого проводить нужно иначе она "колом" встаёт). ... |
|||
:
Нравится:
Не нравится:
|
|||
08.05.2020, 13:22 |
|
LinkedIn
|
|||
---|---|---|---|
#18+
CawaSPb 08.05.2020, 01:23 witte 07.05.2020, 15:45 Да собственно мало кто любит добавление столбцов (в DB2, например, явно реорганизацию таблицы после этого проводить нужно иначе она "колом" встаёт). Т.е. да, из реляционных СУБД - да, никто не любит. Но вот DB2 и "колом"... Спойлер 1. Вы про какую DB2 говорите? Их три (не говоря уж про версии) - для zOs, iSeries и Linux, Unix, and Windows. Ну да, SQL похож, протоколы общения/драйвера - те же, но... 2. Для DB2 for LUW: https://www.ibm.com/support/knowledgecenter/SSEPGG_11.1.0/com.ibm.db2.luw.sql.ref.doc/doc/r0000888.html ================= The following is the full list of REORG-recommended ALTER statements that cause a version change and place the table into a REORG-pending state:
DROP COLUMN
ALTER COLUMN SET NOT NULL
ALTER COLUMN DROP NOT NULL
ALTER COLUMN SET DATA TYPE, except in the following situations:
Increasing the length of a VARCHAR or VARGRAPHIC column
Decreasing the length of a VARCHAR or VARGRAPHIC column without truncating trailing blanks from existing data, when no indexes exist on the column =================ADD COLUMN в этом списке нет. Добавление колонки на физическом уровне работает так: - "For all existing rows in the table, the value of the new column is set to its default value. " - Значение по умолчанию для новой колонки (и, соответственно, для всех существующих записей) записывается в системный каталог и при чтении существующих записей (физически не содержащих добавленной колонки) берётся оттуда. - При update/insert при необходимости конкретные строки расширяются. Более того, после REORG-recommended операций (DROP COLUMN, определённые SET DATA TYPE, ...) оно тоже не "колом встаёт", а остаётся доступным только на чтение. Что логично. И оно даже несколько транзакций (три) с REORG-recommended операциями без промежуточного REORG сделать даст прежде чем насильно зафутболит таблицу в REORG PENDING (внутри тех транзакций количество ALTER TABLE не ограничено). Ну и да, если где-то необходимый REORG не устраивает, есть другие способы модифицировать структуру (без прерывания доступа) - руками, через игры с подменой таблиц, или посредством ADMIN_MOVE_TABLE(). ... |
|||
:
Нравится:
Не нравится:
|
|||
08.05.2020, 13:25 |
|
LinkedIn
|
|||
---|---|---|---|
#18+
witte 08.05.2020, 13:22 Leonid Gurevich 07.05.2020, 17:59 пропущено... Не понял, о каком "логическом" порядке столбцов идет речь. Говорим о базе данных, а не о приложениях. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.05.2020, 15:15 |
|
LinkedIn
|
|||
---|---|---|---|
#18+
OoCc 08.05.2020, 01:07 Leonid Gurevich 07.05.2020, 18:23 пропущено... Это я могу понять. Оракл парсит столбцы по порядку. Если столбец в начале очень широкой таблицы, то теоретически доступ к нему будет быстрее, чем к последнему. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.05.2020, 15:17 |
|
LinkedIn
|
|||
---|---|---|---|
#18+
OoCc 08.05.2020, 10:08 CawaSPb 08.05.2020, 09:23 пропущено... Да понятно, что много в чём Columnar Storage будет зашибись, так же как много в чём проиграет. И от селективности и размера таблиц как таковых это не зависит. Вон, к примеру, на OLTP'шной нагрузке селективность просто таки чумовая, но делать процессинг на Columnar Storage - сумасшедших нет. Э-эээ... или есть? ;) Бывает что и часто (раз-другой в месяц-два). Для каких-то баз - раз/два в год. Но речь шла о скорости выборки, которая увеличилась в разы после реорганизации. Скорее всего (не не 100%, конечно) просто изменилась "упаковка" строк в страницы. Раньше были разбросаны по разным, после реорганизации (поди с сортировкой по индексу какому, который и новое поле включал) были собраны вместе. Уменьшилось количество одиночных (не потоковых) физических чтений => увеличилась скорость. Совет же "используйте Columnar Store и будет вам счастье" - поспешен (собственно мой поинт). Далеко не всегда будет выигрыш по производительности. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.05.2020, 15:33 |
|
LinkedIn
|
|||
---|---|---|---|
#18+
OoCc 08.05.2020, 01:07 Оракля просрал клауд революцию и подлежит забвению. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.05.2020, 15:50 |
|
LinkedIn
|
|||
---|---|---|---|
#18+
OoCc 08.05.2020, 01:07 Оракля просрал клауд революцию и подлежит забвению. https://www.oracle.com/corporate/pressrelease/zoom-selects-oracle-to-support-growth-042820.html ... |
|||
:
Нравится:
Не нравится:
|
|||
08.05.2020, 18:52 |
|
LinkedIn
|
|||
---|---|---|---|
#18+
CawaSPb 08.05.2020, 15:33 OoCc 08.05.2020, 10:08 пропущено... Часто ты вставляешь колонки в OLTP табличку? Бывает что и часто (раз-другой в месяц-два). Для каких-то баз - раз/два в год. Но речь шла о скорости выборки, которая увеличилась в разы после реорганизации. Скорее всего (не не 100%, конечно) просто изменилась "упаковка" строк в страницы. Раньше были разбросаны по разным, после реорганизации (поди с сортировкой по индексу какому, который и новое поле включал) были собраны вместе. Уменьшилось количество одиночных (не потоковых) физических чтений => увеличилась скорость. Совет же "используйте Columnar Store и будет вам счастье" - поспешен (собственно мой поинт). Далеко не всегда будет выигрыш по производительности. Если табличка большая то колумн сторе существенно обгоняет построчное хранилище. Кто сейчас использует хадуп? Никто. Поскольку есть колумн сторе и большие таблички на нём прекрасно работают. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.05.2020, 07:26 |
|
LinkedIn
|
|||
---|---|---|---|
#18+
base2 08.05.2020, 18:52 OoCc 08.05.2020, 01:07 Оракля просрал клауд революцию и подлежит забвению. https://www.oracle.com/corporate/pressrelease/zoom-selects-oracle-to-support-growth-042820.html ... |
|||
:
Нравится:
Не нравится:
|
|||
09.05.2020, 07:36 |
|
LinkedIn
|
|||
---|---|---|---|
#18+
RonibGreat 08.05.2020, 15:50 OoCc 08.05.2020, 01:07 Оракля просрал клауд революцию и подлежит забвению. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.05.2020, 07:37 |
|
LinkedIn
|
|||
---|---|---|---|
#18+
OoCc 09.05.2020, 07:36 base2 08.05.2020, 18:52 пропущено... У оракла есть свой клауд и я тоже думал, что они с ним опоздали. Но похоже, что не совсем https://www.oracle.com/corporate/pressrelease/zoom-selects-oracle-to-support-growth-042820.html ... |
|||
:
Нравится:
Не нравится:
|
|||
09.05.2020, 09:58 |
|
LinkedIn
|
|||
---|---|---|---|
#18+
OoCc 09.05.2020, 07:37 Я именно об этом и говорил выше. Это напоминает мне историю с коболом, который возможно до сих пор где то используется. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.05.2020, 16:11 |
|
LinkedIn
|
|||
---|---|---|---|
#18+
OoCc 09.05.2020, 07:26 CawaSPb 08.05.2020, 15:33 пропущено... Зависит от активности девелоперов на проекте/как быстро функциональность расширяется или от количества ошибок в дизайне. Бывает что и часто (раз-другой в месяц-два). Для каких-то баз - раз/два в год. Но речь шла о скорости выборки, которая увеличилась в разы после реорганизации. Скорее всего (не не 100%, конечно) просто изменилась "упаковка" строк в страницы. Раньше были разбросаны по разным, после реорганизации (поди с сортировкой по индексу какому, который и новое поле включал) были собраны вместе. Уменьшилось количество одиночных (не потоковых) физических чтений => увеличилась скорость. Совет же "используйте Columnar Store и будет вам счастье" - поспешен (собственно мой поинт). Далеко не всегда будет выигрыш по производительности. Если табличка большая то колумн сторе существенно обгоняет построчное хранилище. Кто сейчас использует хадуп? Никто. Поскольку есть колумн сторе и большие таблички на нём прекрасно работают. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.05.2020, 23:39 |
|
LinkedIn
|
|||
---|---|---|---|
#18+
Pastic 09.05.2020, 23:39 Hodoop сейчас те же банки и используют. И есть куча вакансий для спецов по хадупу. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.05.2020, 23:56 |
|
|
start [/forum/topic.php?fid=7&gotomsg=22129146&tid=1324394]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
62ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
92ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 217ms |
0 / 0 |