powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Как секционирование влияет на скорость загрузки?
24 сообщений из 24, страница 1 из 1
Как секционирование влияет на скорость загрузки?
    #35254267
seadb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нужно создать БД. Количество записей 2 - 3 миллиона в день. Будет ли загрузка в секционированную таблицу медленнее чем в не секционированную и на сколько? Хотелось бы полуить такую информацию для Oracle и для MySQL
...
Рейтинг: 0 / 0
Как секционирование влияет на скорость загрузки?
    #35254314
basker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
чего ей быть медленней?

а вот чтоб стала быстрей - тут нужно ум приложить - как секционировать и как грузить.

и не в оракле или мсскл тут дело
...
Рейтинг: 0 / 0
Как секционирование влияет на скорость загрузки?
    #35254387
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
seadbНужно создать БД. Количество записей 2 - 3 миллиона в день. Будет ли загрузка в секционированную таблицу медленнее чем в не секционированную и на сколько? Хотелось бы полуить такую информацию для Oracle и для MySQL
в оракле есть тулза SQL*Loader, она может мимо субд писать прямо в датафайл, через нее получится на порядок быстрее обычного инсерта. она точно будет быстрее в несекционированую. для сексионированой можно указывать в которую партицию заливаем, наверно если так указывать получится не сильно медленее.
...
Рейтинг: 0 / 0
Как секционирование влияет на скорость загрузки?
    #35255376
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
seadbБудет ли загрузка в секционированную таблицу медленнее чем в не секционированную
Ну если хорошо подумать, может и удастся добиться такого эффекта, хотя сходу никаких светлых мыслей в голову не приходит.

Yo.!
Друг мой, здорово похоже на то, что кто-то взял себе чужой ник...
...
Рейтинг: 0 / 0
Как секционирование влияет на скорость загрузки?
    #35255856
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
softwarer
Друг мой, здорово похоже на то, что кто-то взял себе чужой ник...
а что вас на толкнуло на такую мысль ? может вы не встречались с вариантом Direct Path, который готовит самостоятельно блоки данных и пишет (через API) по сути напрямую в датафайлы ;)
...
Рейтинг: 0 / 0
Как секционирование влияет на скорость загрузки?
    #35260514
Зл0й
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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 лимона записей в день по оракловым понятиям совсем немного, если БД не на лаптопе стоит.
...
Рейтинг: 0 / 0
Как секционирование влияет на скорость загрузки?
    #35261816
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Позволю себе пару комментариев.

Зл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
...
Рейтинг: 0 / 0
Как секционирование влияет на скорость загрузки?
    #35263081
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
softwarer
Зл0й3. Данные заливаются insert'ом с APPEND хинтом
Комментарий для присутствующих: по сути тот же direct path, вид сбоку.

да ну, ничего общего. инсерт с хинтом это сторона сервера. для него оптимизатор построит план, план поместит в кеш, стартанет транзакцию, запишет в UNDO, запишет в REDO, проведет еще мульон дорогостоющих операций. при direct path левый для сервера энджин минуя всю эту бодягу приготовит уже готовый дата блок.
...
Рейтинг: 0 / 0
Как секционирование влияет на скорость загрузки?
    #35263089
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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.
...
Рейтинг: 0 / 0
Как секционирование влияет на скорость загрузки?
    #35263112
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
softwarer Yo.!левый для сервера энджин
Ты бы хоть что ли сам читал то, на что ссылки даешь

ну, отдельный от rdbms oracle энджин мимо всего oracle rdbms готовит блок, имхо на катртинке чуть выше вполне доступно разрисовано.
...
Рейтинг: 0 / 0
Как секционирование влияет на скорость загрузки?
    #35263236
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.!ну, .... имхо на катртинке чуть выше вполне доступно разрисовано.
Чтобы интереснее было нукать, напомню другую твою фразу: ничего общего. [с direct path] инсерт с хинтом это сторона сервера [а direct path, видимо, нет]. Видать, недостаточно доступно.

Yo.!отдельный от rdbms oracle энджин мимо всего oracle rdbms готовит блок,
Если бы ты сказал "мимо sql-движка", это бы имело смысл. Но вот про то, как стрелочка, входящая в квадратик с надписью "Oracle Server", может проходить мимо всего rdbms, было бы весьма интересно услышать.

Да, кстати, совет: забудь про транзакции, undo, redo.... а лучше посмотри в документации. Эти слова не стоит употреблять совсем уж попусту.
...
Рейтинг: 0 / 0
Как секционирование влияет на скорость загрузки?
    #35264188
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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

ЗЫ. заниматся дальнейшим лингвистическим меряньем желания не испытываю ;)
...
Рейтинг: 0 / 0
Как секционирование влияет на скорость загрузки?
    #35264217
Bogdanov Andrey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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 - два способа инициировать одну и ту же операцию.
...
Рейтинг: 0 / 0
Как секционирование влияет на скорость загрузки?
    #35264235
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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.
...
Рейтинг: 0 / 0
Как секционирование влияет на скорость загрузки?
    #35264605
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
softwarer
С интересом выслушаю твой рассказ про то, что direct path insert не имеет ничего общего с direct path.
не буду, т.к. не вижу отличий, ну синтаксис этой команды чуть напоминает SQL Insert, но я не вижу ничего общего с SQL командой Insert. чтоб доказать, что я тот самый Yo! давайте уж вместе полезем в документацию . забавно да, оказалось я был прав даже в том что, что блок формируется на стороне клиента:
...
Рейтинг: 0 / 0
Как секционирование влияет на скорость загрузки?
    #35264625
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
читать "блок формируется на стороне клиента" как "структура блока формируется на стороне клиента"
...
Рейтинг: 0 / 0
Как секционирование влияет на скорость загрузки?
    #35264887
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.!не буду, т.к. не вижу отличий, ... но я не вижу ничего общего с SQL командой Insert.
OK. Итого, сказанное тобой в http://www.sql.ru/forum/actualthread.aspx?tid=547119#5563643 считаем успешно опровергнутым в части "да ну, ничего общего". Остается разобраться с вопросом формирования блока.

Yo.!забавно да, оказалось я был прав даже в том что, что блок формируется на стороне клиента: ... читать "блок формируется на стороне клиента" как "структура блока формируется на стороне клиента"
Ну и где ж ты это увидел? Обычная передача массива параметров.
...
Рейтинг: 0 / 0
Как секционирование влияет на скорость загрузки?
    #35265533
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
softwarer Yo.!не буду, т.к. не вижу отличий, ... но я не вижу ничего общего с SQL командой Insert.
OK. Итого, сказанное тобой в http://www.sql.ru/forum/actualthread.aspx?tid=547119#5563643 считаем успешно опровергнутым в части "да ну, ничего общего". Остается разобраться с вопросом формирования блока.

ах ты ж блин, я упустил, что Insert с хинтом может быть direct-path Insert'ом. из вашей цитаты мне показалось, что там идет речь о хинте sql*loader'у включающий serial mode.
ладно, признаю Insert с хинтом имеет много общего.
...
Рейтинг: 0 / 0
Как секционирование влияет на скорость загрузки?
    #35266460
Этанол Эталонович
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.!ах ты ж блин, я упустилТы мозги свои где-то упустил. Картинками взрослых дядей не убедить :)
...
Рейтинг: 0 / 0
Как секционирование влияет на скорость загрузки?
    #35267776
Фотография Я и ёжик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Этанол Эталонович Yo.!ах ты ж блин, я упустилТы мозги свои где-то упустил. Картинками взрослых дядей не убедить :)

Надо говорить,-"Мембер ххх, мне кажется, что в Вашем совете кроются существенные неточности" (c)dmidek
...
Рейтинг: 0 / 0
Как секционирование влияет на скорость загрузки?
    #35272548
Фотография Николай Кальмарский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Господа! Два миллиона в день. Ну не пофиг ли во что грузить?
...
Рейтинг: 0 / 0
Как секционирование влияет на скорость загрузки?
    #35283215
Фотография ditbunau
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По опыту загрузок по 100.000.000 записей в день в секционированную таблицу - начинаются траблы, когда партиция достаточно распухнет. Скорость загрузки падает. А пока пустая партиция - все махом залетает.
...
Рейтинг: 0 / 0
Как секционирование влияет на скорость загрузки?
    #35283260
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ditbunauПо опыту загрузок по 100.000.000 записей в день в секционированную таблицу - начинаются траблы, когда партиция достаточно распухнет. Скорость загрузки падает.
Я в свое время мерял, и пришел к выводу, что оптимальный размер партиции для Oracle - 20-50 млн. записей. Цифра, конечно, условная, но если выходит за эти границы - стоит проверить, а не теряем ли мы на этом.
...
Рейтинг: 0 / 0
Как секционирование влияет на скорость загрузки?
    #35283427
Фотография ditbunau
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer ditbunauПо опыту загрузок по 100.000.000 записей в день в секционированную таблицу - начинаются траблы, когда партиция достаточно распухнет. Скорость загрузки падает.
Я в свое время мерял, и пришел к выводу, что оптимальный размер партиции для Oracle - 20-50 млн. записей. Цифра, конечно, условная, но если выходит за эти границы - стоит проверить, а не теряем ли мы на этом.

Согласен. Можно в конкретных условиях подобрать размер, чтобы и скорость не сильно падала, и поиск был достаточно эффективен.
...
Рейтинг: 0 / 0
24 сообщений из 24, страница 1 из 1
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Как секционирование влияет на скорость загрузки?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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