|
|
|
Как секционирование влияет на скорость загрузки?
|
|||
|---|---|---|---|
|
#18+
Нужно создать БД. Количество записей 2 - 3 миллиона в день. Будет ли загрузка в секционированную таблицу медленнее чем в не секционированную и на сколько? Хотелось бы полуить такую информацию для Oracle и для MySQL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2008, 17:43 |
|
||
|
Как секционирование влияет на скорость загрузки?
|
|||
|---|---|---|---|
|
#18+
чего ей быть медленней? а вот чтоб стала быстрей - тут нужно ум приложить - как секционировать и как грузить. и не в оракле или мсскл тут дело ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2008, 17:58 |
|
||
|
Как секционирование влияет на скорость загрузки?
|
|||
|---|---|---|---|
|
#18+
seadbНужно создать БД. Количество записей 2 - 3 миллиона в день. Будет ли загрузка в секционированную таблицу медленнее чем в не секционированную и на сколько? Хотелось бы полуить такую информацию для Oracle и для MySQL в оракле есть тулза SQL*Loader, она может мимо субд писать прямо в датафайл, через нее получится на порядок быстрее обычного инсерта. она точно будет быстрее в несекционированую. для сексионированой можно указывать в которую партицию заливаем, наверно если так указывать получится не сильно медленее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2008, 18:36 |
|
||
|
Как секционирование влияет на скорость загрузки?
|
|||
|---|---|---|---|
|
#18+
seadbБудет ли загрузка в секционированную таблицу медленнее чем в не секционированную Ну если хорошо подумать, может и удастся добиться такого эффекта, хотя сходу никаких светлых мыслей в голову не приходит. Yo.! Друг мой, здорово похоже на то, что кто-то взял себе чужой ник... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2008, 11:13 |
|
||
|
Как секционирование влияет на скорость загрузки?
|
|||
|---|---|---|---|
|
#18+
softwarer Друг мой, здорово похоже на то, что кто-то взял себе чужой ник... а что вас на толкнуло на такую мысль ? может вы не встречались с вариантом Direct Path, который готовит самостоятельно блоки данных и пишет (через API) по сути напрямую в датафайлы ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2008, 12:46 |
|
||
|
Как секционирование влияет на скорость загрузки?
|
|||
|---|---|---|---|
|
#18+
seadbНужно создать БД. Количество записей 2 - 3 миллиона в день. Будет ли загрузка в секционированную таблицу медленнее чем в не секционированную и на сколько? Хотелось бы полуить такую информацию для Oracle и для MySQL В Оракле так делаецца: 1. Данные заливаюцца в несколько staging таблиц, через direct path. 2. Данные обрабатываюцца в энтих таблицах. Всякий data cleansing и прочая байда. 3. Данные заливаются insert'ом с APPEND хинтом из staging в специальную таблицу t_exchange имеющую структуру идентичную главной секционированной (секционивроанная обычно - fact table) 4. Делаецца exchange partition из t_exchange в главную (fact table). Главное не забыть заранее насоздавать пустых партиций в fact table. В принципе задача стандартная в области Data Warehousing. 2-3 лимона записей в день по оракловым понятиям совсем немного, если БД не на лаптопе стоит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2008, 02:55 |
|
||
|
Как секционирование влияет на скорость загрузки?
|
|||
|---|---|---|---|
|
#18+
Позволю себе пару комментариев. Зл0й1. Данные заливаюцца в несколько staging таблиц, через direct path. или быть может другим путем, например через transportable tablespace. Зависит от ситуации. Зл0й3. Данные заливаются insert'ом с APPEND хинтом Комментарий для присутствующих: по сути тот же direct path, вид сбоку. Зл0й4. Делаецца exchange partition из t_exchange в главную (fact table). Предварительно эта t_exchange опять же может быть перенесена на другой сервер через TT - если хранилище и отстойник лежат на разных железках. Комментарий для присутствующих: польза exchange partition в том, что может быть спокойно "в сторонке" проведен какой угодно долгий итп процесс обработки данных, идти коммиты, процесс может быть остановлен на середине и запущен потом итп. Наконец, наступает час X, и за долю секунды, внутри одной транзакции, новые данные собственно попадают в итоговую таблицу - таким образом, загрузка данных не мешает хранилищу работать 24x7 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2008, 13:50 |
|
||
|
Как секционирование влияет на скорость загрузки?
|
|||
|---|---|---|---|
|
#18+
softwarer Зл0й3. Данные заливаются insert'ом с APPEND хинтом Комментарий для присутствующих: по сути тот же direct path, вид сбоку. да ну, ничего общего. инсерт с хинтом это сторона сервера. для него оптимизатор построит план, план поместит в кеш, стартанет транзакцию, запишет в UNDO, запишет в REDO, проведет еще мульон дорогостоющих операций. при direct path левый для сервера энджин минуя всю эту бодягу приготовит уже готовый дата блок. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2008, 20:42 |
|
||
|
Как секционирование влияет на скорость загрузки?
|
|||
|---|---|---|---|
|
#18+
Yo.!левый для сервера энджин Ты бы хоть что ли сам читал то, на что ссылки даешь по ссылке вышеInstead of filling a bind array buffer and passing it to the Oracle database server with a SQL INSERT statement, a direct path load uses the direct path API to pass the data to be loaded to the load engine in the server . The load engine builds a column array structure from the data passed to it. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2008, 20:48 |
|
||
|
Как секционирование влияет на скорость загрузки?
|
|||
|---|---|---|---|
|
#18+
softwarer Yo.!левый для сервера энджин Ты бы хоть что ли сам читал то, на что ссылки даешь ну, отдельный от rdbms oracle энджин мимо всего oracle rdbms готовит блок, имхо на катртинке чуть выше вполне доступно разрисовано. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2008, 21:02 |
|
||
|
Как секционирование влияет на скорость загрузки?
|
|||
|---|---|---|---|
|
#18+
Yo.!ну, .... имхо на катртинке чуть выше вполне доступно разрисовано. Чтобы интереснее было нукать, напомню другую твою фразу: ничего общего. [с direct path] инсерт с хинтом это сторона сервера [а direct path, видимо, нет]. Видать, недостаточно доступно. Yo.!отдельный от rdbms oracle энджин мимо всего oracle rdbms готовит блок, Если бы ты сказал "мимо sql-движка", это бы имело смысл. Но вот про то, как стрелочка, входящая в квадратик с надписью "Oracle Server", может проходить мимо всего rdbms, было бы весьма интересно услышать. Да, кстати, совет: забудь про транзакции, undo, redo.... а лучше посмотри в документации. Эти слова не стоит употреблять совсем уж попусту. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2008, 23:51 |
|
||
|
Как секционирование влияет на скорость загрузки?
|
|||
|---|---|---|---|
|
#18+
2softwarer как я понимаю, наконец вьехав о чем речь и чтоб не выглядить совсем уж севшим в лужу вы решили привязатся к словам. хорошо, признаю что до более внимательного прочтения описания считал что direct path движек находится на строне клиента, но сути спора не меняет, ничего общего с SQL командой insert (с хинтом, без хинта - без разницы) этот метод не имеет. к стате совет приглядется к первой же фразе: oracle docs Instead of [scip] passing it to the Oracle database server [scip], a direct path load uses the direct path API ЗЫ. заниматся дальнейшим лингвистическим меряньем желания не испытываю ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2008, 12:25 |
|
||
|
Как секционирование влияет на скорость загрузки?
|
|||
|---|---|---|---|
|
#18+
Yo.!признаю что до более внимательного прочтения описания считал что direct path движек находится на строне клиента, но сути спора не меняет, ничего общего с SQL командой insert (с хинтом, без хинта - без разницы) этот метод не имеет. А вот эта выдержка из Concepts ничем не поможет? Oracle Database ConceptsYou can implement direct-path insert operations by using direct-path INSERT statements or by using Oracle’s direct-path loader utility, SQL*Loader.Тут прямо сказано, что SQL*Loader и хинт +append - два способа инициировать одну и ту же операцию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2008, 12:35 |
|
||
|
Как секционирование влияет на скорость загрузки?
|
|||
|---|---|---|---|
|
#18+
Yo.!как я понимаю, наконец вьехав о чем речь и чтоб не выглядить совсем уж севшим в лужу вы решили привязатся к словам. Я бы на твоем месте не выпендривался, в противном случае я снова спрошу тебя, нафига ты украл чужое имя. Yo.!, имея свои недостатки, таки имеет представление об Oracle и подобного твоему бреда не несет. Yo.!но сути спора не меняет, ничего общего с SQL командой insert (с хинтом, без хинта - без разницы) этот метод не имеет. Раз уж умеешь ссылаться на документацию - что хорошо - попробуй сделать следующий шаг: начни ее читать. Например, здесь ; ключевые слова: Документация по ссылке Inserting Data Into Tables Using Direct-Path INSERT .... To activate direct-path INSERT in serial mode, you must specify the APPEND hint in each INSERT statement, either immediately after the INSERT keyword, or immediately after the SELECT keyword in the subquery of the INSERT statement. When you are inserting in parallel DML mode, direct-path INSERT is the default. .... С интересом выслушаю твой рассказ про то, что direct path insert не имеет ничего общего с direct path. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2008, 12:38 |
|
||
|
Как секционирование влияет на скорость загрузки?
|
|||
|---|---|---|---|
|
#18+
softwarer С интересом выслушаю твой рассказ про то, что direct path insert не имеет ничего общего с direct path. не буду, т.к. не вижу отличий, ну синтаксис этой команды чуть напоминает SQL Insert, но я не вижу ничего общего с SQL командой Insert. чтоб доказать, что я тот самый Yo! давайте уж вместе полезем в документацию . забавно да, оказалось я был прав даже в том что, что блок формируется на стороне клиента: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2008, 13:59 |
|
||
|
Как секционирование влияет на скорость загрузки?
|
|||
|---|---|---|---|
|
#18+
читать "блок формируется на стороне клиента" как "структура блока формируется на стороне клиента" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2008, 14:02 |
|
||
|
Как секционирование влияет на скорость загрузки?
|
|||
|---|---|---|---|
|
#18+
Yo.!не буду, т.к. не вижу отличий, ... но я не вижу ничего общего с SQL командой Insert. OK. Итого, сказанное тобой в http://www.sql.ru/forum/actualthread.aspx?tid=547119#5563643 считаем успешно опровергнутым в части "да ну, ничего общего". Остается разобраться с вопросом формирования блока. Yo.!забавно да, оказалось я был прав даже в том что, что блок формируется на стороне клиента: ... читать "блок формируется на стороне клиента" как "структура блока формируется на стороне клиента" Ну и где ж ты это увидел? Обычная передача массива параметров. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2008, 14:55 |
|
||
|
Как секционирование влияет на скорость загрузки?
|
|||
|---|---|---|---|
|
#18+
softwarer Yo.!не буду, т.к. не вижу отличий, ... но я не вижу ничего общего с SQL командой Insert. OK. Итого, сказанное тобой в http://www.sql.ru/forum/actualthread.aspx?tid=547119#5563643 считаем успешно опровергнутым в части "да ну, ничего общего". Остается разобраться с вопросом формирования блока. ах ты ж блин, я упустил, что Insert с хинтом может быть direct-path Insert'ом. из вашей цитаты мне показалось, что там идет речь о хинте sql*loader'у включающий serial mode. ладно, признаю Insert с хинтом имеет много общего. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2008, 17:37 |
|
||
|
Как секционирование влияет на скорость загрузки?
|
|||
|---|---|---|---|
|
#18+
Yo.!ах ты ж блин, я упустилТы мозги свои где-то упустил. Картинками взрослых дядей не убедить :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2008, 20:12 |
|
||
|
Как секционирование влияет на скорость загрузки?
|
|||
|---|---|---|---|
|
#18+
Этанол Эталонович Yo.!ах ты ж блин, я упустилТы мозги свои где-то упустил. Картинками взрослых дядей не убедить :) Надо говорить,-"Мембер ххх, мне кажется, что в Вашем совете кроются существенные неточности" (c)dmidek ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2008, 10:50 |
|
||
|
Как секционирование влияет на скорость загрузки?
|
|||
|---|---|---|---|
|
#18+
Господа! Два миллиона в день. Ну не пофиг ли во что грузить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2008, 20:58 |
|
||
|
Как секционирование влияет на скорость загрузки?
|
|||
|---|---|---|---|
|
#18+
По опыту загрузок по 100.000.000 записей в день в секционированную таблицу - начинаются траблы, когда партиция достаточно распухнет. Скорость загрузки падает. А пока пустая партиция - все махом залетает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2008, 12:28 |
|
||
|
Как секционирование влияет на скорость загрузки?
|
|||
|---|---|---|---|
|
#18+
ditbunauПо опыту загрузок по 100.000.000 записей в день в секционированную таблицу - начинаются траблы, когда партиция достаточно распухнет. Скорость загрузки падает. Я в свое время мерял, и пришел к выводу, что оптимальный размер партиции для Oracle - 20-50 млн. записей. Цифра, конечно, условная, но если выходит за эти границы - стоит проверить, а не теряем ли мы на этом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2008, 12:43 |
|
||
|
Как секционирование влияет на скорость загрузки?
|
|||
|---|---|---|---|
|
#18+
softwarer ditbunauПо опыту загрузок по 100.000.000 записей в день в секционированную таблицу - начинаются траблы, когда партиция достаточно распухнет. Скорость загрузки падает. Я в свое время мерял, и пришел к выводу, что оптимальный размер партиции для Oracle - 20-50 млн. записей. Цифра, конечно, условная, но если выходит за эти границы - стоит проверить, а не теряем ли мы на этом. Согласен. Можно в конкретных условиях подобрать размер, чтобы и скорость не сильно падала, и поиск был достаточно эффективен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2008, 13:32 |
|
||
|
|

start [/forum/topic.php?fid=35&msg=35264625&tid=1553123]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
30ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
| others: | 11ms |
| total: | 137ms |

| 0 / 0 |
