Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 1M+ записей в минуту...  [new]
TurBuLenT
Member

Откуда:
Сообщений: 87
Господа добрый день.
Для некой системы, в которой прогнозируется добавление примерно 10e6 записей в минуту.
Выдержит ли какая либо из версий такое количество записей? То есть, способна ли какая-либо из версий oracle _гарантированно_ обработать такое количество операций записи, в реальном времени?
Структура входных данные : 4 поля типа number(3) и 2 поля типа number(31). 2 индекса -на 4 поля один и 1 на одно поле (31).
Размеры дискового массива не ограничены.
Может кто-нибудь сталкивался с такими объёмами _входных_ данных?
P.S. Oracle _предварительно_ выбран из-за наличия уже купленной лицензии.
P.P.S. Пока идёт предварительная обработка задачи ...
6 май 10, 11:46    [8734971]     Ответить | Цитировать Сообщить модератору
 Re: 1M+ записей в минуту...  [new]
Siemargl
Member

Откуда: 010100
Сообщений: 6330
TurBuLenT,

Так 10е6 или 1е6 ????

На tpc.org можно подобрать себе железо )

Чего то в проектировании не так. Писать дохрена записей в огромную таблицу на большущем сервере. Дешевле расстрелять архитектора.
6 май 10, 12:04    [8735159]     Ответить | Цитировать Сообщить модератору
 Re: 1M+ записей в минуту...  [new]
TurBuLenT
Member

Откуда:
Сообщений: 87
Siemargl
TurBuLenT,

Так 10е6 или 1е6 ????

На tpc.org можно подобрать себе железо )

Чего то в проектировании не так. Писать дохрена записей в огромную таблицу на большущем сервере.

Всё так. Канал "ввода данных" - оптика ...

Siemargl
Дешевле расстрелять архитектора.

10e6=1,000,000=1M

Писать нужно всё.... 24/7.
P.S. А 1е6=1^6=1 :)
6 май 10, 12:12    [8735235]     Ответить | Цитировать Сообщить модератору
 Re: 1M+ записей в минуту...  [new]
AI
Member

Откуда: Москва
Сообщений: 2817
TurBuLenT
Siemargl
TurBuLenT,

Так 10е6 или 1е6 ????

На tpc.org можно подобрать себе железо )

Чего то в проектировании не так. Писать дохрена записей в огромную таблицу на большущем сервере.

Всё так. Канал "ввода данных" - оптика ...

Siemargl
Дешевле расстрелять архитектора.

10e6=1,000,000=1M

Писать нужно всё.... 24/7.
P.S. А 1е6=1^6=1 :)


Странно. В нормальных институтах всегда учили, что хххеyyy значит ххх * 10^yyy.

SQL> select 1e6 from dual;

1E6
----------
1000000

SQL>
6 май 10, 12:19    [8735305]     Ответить | Цитировать Сообщить модератору
 Re: 1M+ записей в минуту...  [new]
TurBuLenT
Member

Откуда:
Сообщений: 87
AI

Странно. В нормальных институтах всегда учили, что хххеyyy значит ххх * 10^yyy.

SQL> select 1e6 from dual;

1E6
----------
1000000

SQL>

А по существу вопроса?
6 май 10, 12:20    [8735319]     Ответить | Цитировать Сообщить модератору
 Re: 1M+ записей в минуту...  [new]
wurdu
Member

Откуда: Владивосток
Сообщений: 4441
TurBuLenT
Всё так. Канал "ввода данных" - оптика ...
Что за чудесная технология? Или имеется в виду канал между сервером и массивом?
6 май 10, 12:22    [8735329]     Ответить | Цитировать Сообщить модератору
 Re: 1M+ записей в минуту...  [new]
Timur Akhmadeev
Member

Откуда:
Сообщений: 510
TurBuLenT
То есть, способна ли какая-либо из версий oracle _гарантированно_ обработать такое количество операций записи, в реальном времени?

Разумеется нет. Оракл не является системой реального времени.
TurBuLenT
Для некой системы, в которой прогнозируется добавление примерно 10e6 записей в минуту.

Как именно? пачкой/по 1 строчке, 1 тред/100?
6 май 10, 12:26    [8735358]     Ответить | Цитировать Сообщить модератору
 Re: 1M+ записей в минуту...  [new]
AI
Member

Откуда: Москва
Сообщений: 2817
TurBuLenT
AI

Странно. В нормальных институтах всегда учили, что хххеyyy значит ххх * 10^yyy.

SQL> select 1e6 from dual;

1E6
----------
1000000

SQL>

А по существу вопроса?


На вопросы о сферическом коне в вакууме, на котором надо проскакать пару миллионов километров ответить не могу. По той простой причине, что никакой дополнительной информации не приведено. Какой сервер, какая ОС, какая дисковая система, какие были настройки, что показывают оценочниые тесты на более слабых машинах, что говорят разработчики приложения и т.д.?
6 май 10, 12:27    [8735368]     Ответить | Цитировать Сообщить модератору
 Re: 1M+ записей в минуту...  [new]
TurBuLenT
Member

Откуда:
Сообщений: 87
AI
На вопросы о сферическом коне в вакууме, на котором надо проскакать пару миллионов километров ответить не могу. По той простой причине, что никакой дополнительной информации не приведено. Какой сервер, какая ОС, какая дисковая система, какие были настройки, что показывают оценочниые тесты на более слабых машинах, что говорят разработчики приложения и т.д.?

Краткое описание задачи.
ЕСТЬ КАНАЛ ДАННЫХ, ОТКУДА ПОСТУПАЕТ ПРИМЕРНО УКАЗАННОЕ КОЛИЧЕСТВО ЗАПИСЕЙ (ОТ 1ГО МИЛЛИОНА В МИНУТУ)
Сервер (класс) Sun M8000.
Оценочные тесты от разработчика железа говорят, что на x86 платформе оптимальная схема - DOS 6.22 + запись в текстовый файл до заполнения диска + последующий импорт данных с неизбежным перерывом в записи, что не является допустимым.
Попробовать в "активном" режиме не возможно.
TurBuLenT
P.P.S. Пока идёт предварительная обработка задачи ...

ТО есть (объясняю) , идёт оценка, прикидки по железу и софту.
Timur Akhmadeev
Как именно? пачкой/по 1 строчке, 1 тред/100?

Пакет с данными есть неделимое целое. Соответственно, 1 пакет=1 Insert.
6 май 10, 12:43    [8735479]     Ответить | Цитировать Сообщить модератору
 Re: 1M+ записей в минуту...  [new]
AI
Member

Откуда: Москва
Сообщений: 2817
TurBuLenT
AI
На вопросы о сферическом коне в вакууме, на котором надо проскакать пару миллионов километров ответить не могу. По той простой причине, что никакой дополнительной информации не приведено. Какой сервер, какая ОС, какая дисковая система, какие были настройки, что показывают оценочниые тесты на более слабых машинах, что говорят разработчики приложения и т.д.?

Краткое описание задачи.
ЕСТЬ КАНАЛ ДАННЫХ, ОТКУДА ПОСТУПАЕТ ПРИМЕРНО УКАЗАННОЕ КОЛИЧЕСТВО ЗАПИСЕЙ (ОТ 1ГО МИЛЛИОНА В МИНУТУ)
Сервер (класс) Sun M8000.
Оценочные тесты от разработчика железа говорят, что на x86 платформе оптимальная схема - DOS 6.22 + запись в текстовый файл до заполнения диска + последующий импорт данных с неизбежным перерывом в записи, что не является допустимым.
Попробовать в "активном" режиме не возможно.
TurBuLenT
P.P.S. Пока идёт предварительная обработка задачи ...

ТО есть (объясняю) , идёт оценка, прикидки по железу и софту.
Timur Akhmadeev
Как именно? пачкой/по 1 строчке, 1 тред/100?

Пакет с данными есть неделимое целое. Соответственно, 1 пакет=1 Insert.


Детский сад какой-то! Спрашиваете про производительность СУБД Oracle - тестируйте СУБД Oracle, а не dos 6.22. Никогда не поверю, что нет возможностей сделать более-менее нормальные оценочные тесты. Возьмите любой писюк, поставьте базу, дайте нагрузку, посмотрите на результаты. Возьмите более мощный писюк, более быстрые диски. Сделайте сравнения, выводы и прочее.

Впрочем, что требовать с человека, не знающего, что такое 1е6...

Сообщение было отредактировано: 6 май 10, 12:59
6 май 10, 12:58    [8735564]     Ответить | Цитировать Сообщить модератору
 Re: 1M+ записей в минуту...  [new]
ALocky
Member

Откуда: Понаехал из Подмосковья
Сообщений: 747
Для сферического коня - сферический тест.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> create table aaaaaa (a number);

Table created.

SQL> set timing on

SQL> insert into aaaaaa select 1 a from dual connect by level < 1000000;

999999 rows created.

Elapsed: 00:00:15.09

Выдержит ли какая либо из версий такое количество записей? То есть, способна ли какая-либо из версий oracle _гарантированно_ обработать такое количество операций записи, в реальном времени?

Вывод: выдержит, способна.
6 май 10, 13:11    [8735629]     Ответить | Цитировать Сообщить модератору
 Re: 1M+ записей в минуту...  [new]
1M в минуту
Guest
TurBuLenT,

со вставкой 1 млн записей в минуту Oracle может справиться даже на хорошей рабочей станции. + секционирование "на лету".
Конечно если у вас каждый insert не в отдельной транзакции или даже сессии будет :-)
6 май 10, 13:11    [8735633]     Ответить | Цитировать Сообщить модератору
 Re: 1M+ записей в минуту...  [new]
andrey_anonymous
Member

Откуда: Москва
Сообщений: 18336
ALocky


Выдержит ли какая либо из версий такое количество записей? То есть, способна ли какая-либо из версий oracle _гарантированно_ обработать такое количество операций записи, в реальном времени?

Вывод: выдержит, способна.

Но не гарантированно :)
Зависит как от железа, так и от способностей администратора ОС, DBA, и разработчика правильно организовать процесс.
6 май 10, 13:21    [8735711]     Ответить | Цитировать Сообщить модератору
 Re: 1M+ записей в минуту...  [new]
Brodiaga
Member

Откуда:
Сообщений: 501
Cогласен с остальными коллегами, что все зависит от того, как будут добавляться записи - пакетно или по одной транзакции.
В принципе, для такой высокой нагрузки, можно использовать Oracle TimesTen (In-Memory DB), которая вам поможет с ней (нагрузкой) справится, и заодно моно на железе съэкономить :)).

Кроме того, вставленные записи можно передавать в Oracle Database для последующей пост обработки.
6 май 10, 13:22    [8735719]     Ответить | Цитировать Сообщить модератору
 Re: 1M+ записей в минуту...  [new]
andrey_anonymous
Member

Откуда: Москва
Сообщений: 18336
Brodiaga
можно использовать Oracle TimesTen (In-Memory DB), которая вам поможет с ней (нагрузкой) справится, и заодно моно на железе съэкономить :)).

Поможет только при условии, что поток данных неравномерный, т.е. имеют место периоды "затишья".
В противном случае - просто выброшенные деньги.
6 май 10, 13:24    [8735737]     Ответить | Цитировать Сообщить модератору
 Re: 1M+ записей в минуту...  [new]
FoxTheRed
Member

Откуда:
Сообщений: 88
8 млн строк за 5 минут
Так что требуемая скорость в Oracle достижимы. Вопрос только в бюджете
6 май 10, 13:26    [8735760]     Ответить | Цитировать Сообщить модератору
 Re: 1M+ записей в минуту...  [new]
ant74
Member

Откуда: DE
Сообщений: 164
TurBuLenT
Оценочные тесты от разработчика железа говорят, что на x86 платформе оптимальная схема - DOS 6.22 + запись в текстовый файл до заполнения диска + последующий импорт данных с неизбежным перерывом в записи, что не является допустимым.

1. С перерывом записи куда? В Oracle? Это не может быть недопустимым, т.к. не исключено, что Oracle будет их обрабатывать быстрее чем источник отдавать. :-) Или имеется ввиду перерыв в чтении из источника?
2. Зачем писать до заполнения диска? Сбрасывайте данные в файл порциями, закрыли один файл, открыли другой и продолжили писать. На эти файлы можно напустить сколько угодно процессов загрузки, оптимальный размер файла и количество процессов определяется при настройке.

ИМХО, при такой архитектуре проблемы возникнут с чтением из этой таблицы, а не с записью. :-)
6 май 10, 13:28    [8735775]     Ответить | Цитировать Сообщить модератору
 Re: 1M+ записей в минуту...  [new]
FoxTheRed
Member

Откуда:
Сообщений: 88
Опечатка - 8 МИЛЛИАРДОВ строк за 5 минут
6 май 10, 13:31    [8735807]     Ответить | Цитировать Сообщить модератору
 Re: 1M+ записей в минуту...  [new]
Brodiaga
Member

Откуда:
Сообщений: 501
andrey_anonymous
Поможет только при условии, что поток данных неравномерный, т.е. имеют место периоды "затишья". В противном случае - просто выброшенные деньги.


Как интересно, а у вас был опыт? С какой версией и на каком железе?
Опишите конфигурацию (dsn, структуру данных, немного про приложение) пожалуйста!
6 май 10, 13:32    [8735821]     Ответить | Цитировать Сообщить модератору
 Re: 1M+ записей в минуту...  [new]
ALocky
Member

Откуда: Понаехал из Подмосковья
Сообщений: 747
andrey_anonymous

Но не гарантированно :)
Зависит как от железа, так и от способностей администратора ОС, DBA, и разработчика правильно организовать процесс.

Ну собссно тогда вообще ничего гарантированного быть не может. Всегда есть некие условия от которых все зависит. :)
6 май 10, 13:39    [8735882]     Ответить | Цитировать Сообщить модератору
 Re: 1M+ записей в минуту...  [new]
-2-
Member

Откуда:
Сообщений: 15330
TurBuLenT
Структура входных данные : 4 поля типа number(3) и 2 поля типа number(31). 2 индекса -на 4 поля один и 1 на одно поле (31).
~1МБ в секунду + индексы. У меня бывает редологов более 100ГБ в день, помимо чтения.
Железо: 1 проц x86 4 ядра, два отдельных диска SAS15k.
6 май 10, 13:44    [8735923]     Ответить | Цитировать Сообщить модератору
 Re: 1M+ записей в минуту...  [new]
Brodiaga
Member

Откуда:
Сообщений: 501
to TurBuLenT

Можете предоставить более детальное описание задачи:

- Что за приложение (на чем написано)
- Как именно будет происходить вставка (по 1 инсерту или пакетно)? (Желательно с кодом sql-ла)
- Есть ли возможность распараллеливания?
и др.
6 май 10, 13:48    [8735958]     Ответить | Цитировать Сообщить модератору
 Re: 1M+ записей в минуту...  [new]
Brodiaga
Member

Откуда:
Сообщений: 501
to TurBuLenT

Также, какие требования по надежности системы? Возможна ли потеря данных?
6 май 10, 13:51    [8735970]     Ответить | Цитировать Сообщить модератору
 Re: 1M+ записей в минуту...  [new]
andrey_anonymous
Member

Откуда: Москва
Сообщений: 18336
Brodiaga
Как интересно, а у вас был опыт?

Был :)
Тут все настолько просто, что от железа не зависит.
Имеем цепочку:
Источник данных->Некоторое приложение(в Вашем предложении - IMDB)->Storage(RDBMS)

Пусть источник данных генерирует равномерный поток Х записей/сек, приложение способно пропустить 10Х/с, Storage способен сохранять Y/с
Тогда:
если Y > X, то IMDB с очевидностью не требуется.
если Y < X, то размер очереди в IMDB будет расти со скоростью (X-Y)/с до полного исчерпания ресурсов IMDB, т.е. комплекс неработоспособен.

Если в той же схеме источник генерирует данные с той же средней скоростью X, но при этом максимальный рейт x=Xmax=10X а минимальный x=Xmin=.1X, то:
в периоды когда Y < x IMDB будет накапливать данные со скоростью (x-Y)/с
а в периоды когда Y > x IMDB будет отдавать ранее накопленные данные со скоростью (Y-x)/с

В принципе, могу изложить и в терминах СМО, но это несложно сделать самостоятельно.
6 май 10, 13:51    [8735973]     Ответить | Цитировать Сообщить модератору
 Re: 1M+ записей в минуту...  [new]
Brodiaga
Member

Откуда:
Сообщений: 501
andrey_anonymous

Имеем цепочку:
Источник данных->Некоторое приложение(в Вашем предложении - IMDB)->Storage(RDBMS)

Пусть источник данных генерирует равномерный поток Х записей/сек, приложение способно пропустить 10Х/с, Storage способен сохранять Y/с
Тогда:
если Y > X, то IMDB с очевидностью не требуется.
если Y < X, то размер очереди в IMDB будет расти со скоростью (X-Y)/с до полного исчерпания ресурсов IMDB, т.е. комплекс неработоспособен.


Андрей я с вами согласен, в случае если источник генерит данные и сразу записывает их на диск (действительно в данном случае промежуточное звено не нужно).
Но если мы используем SQL в источнике данных, вместо IMDB используем стандартную дисковую базу данных (например Oracle DB), то ситуация немного меняется не так ли (вы же сами прекрасно знаете что происходит при выполнении insert-а) и запись на диск происходит не сразу. И я имел в виду именно такую ситуацию.

Про опыт. Напишите пожалуйста какая задача перед вами стояла и что конкретно вы пробовали ( версия Oracle TT, пример dsn, структуру данных, немного про приложение, железо, что не получилось).

ЗЫ. Если не хотите писать, тогда спрошу про это на следующей пьянке
6 май 10, 14:14    [8736134]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Oracle Ответить