Оптимизация в сборке 015

Технические вопросы по UTM 5.0
Ответить
Аватара пользователя
dalex
Сообщения: 1306
Зарегистрирован: Пт янв 21, 2005 11:54

Оптимизация в сборке 015

Сообщение dalex »

Что она делает?

gravis
Сообщения: 562
Зарегистрирован: Ср мар 16, 2005 15:31
Откуда: Село Красноярск

Сообщение gravis »

Работает с эффективностью 99% :-)

aospan
NetUP Team
Сообщения: 1639
Зарегистрирован: Чт янв 13, 2005 20:30

Re: Оптимизация в сборке 015

Сообщение aospan »

dalex писал(а):Что она делает?
Делает "склеивание" похожих записей. Например, за день было 100 списаний на одного пользователя за класс трафика 10 по цене 0.1 у.е./МБ. После оптимизации будет 1 запись с суммарным объемоми суммарной стоимостью. На наших тестах и на реальных базах эффективность очень хорошая - к примеру из 5 млн. записей получается около 200 тыс.

gravis
Сообщения: 562
Зарегистрирован: Ср мар 16, 2005 15:31
Откуда: Село Красноярск

Сообщение gravis »

2 aospan:
Почему бы этоту оптимизацию не выполнить автоматически в ядре и на регулярной основе? Настройки периодичности можно было бы вынести в качестве опции.

Аватара пользователя
Chris
Сообщения: 2323
Зарегистрирован: Чт июн 02, 2005 14:08
Откуда: 33 76 77 71 86 37 98

Сообщение Chris »

Aospan молодец! Давно пора! НО НАДО ЭТО ДЕЛАТЬ НА УРОВНЕ КОГДА ЗАЛИВАЕТСЯ ТРАФИК! Если применительно к трафику.

taf
Сообщения: 309
Зарегистрирован: Вс янв 30, 2005 11:41

Сообщение taf »

Chris писал(а):Aospan молодец! Давно пора! НО НАДО ЭТО ДЕЛАТЬ НА УРОВНЕ КОГДА ЗАЛИВАЕТСЯ ТРАФИК! Если применительно к трафику.
А вот в этом случае как нельзя кстати выплывает применение хранимых процедур на стороне СУБД. ( Тооолстый намек на одну определенную PRDBMS :) )

aospan
NetUP Team
Сообщения: 1639
Зарегистрирован: Чт янв 13, 2005 20:30

Сообщение aospan »

taf писал(а):
Chris писал(а):Aospan молодец! Давно пора! НО НАДО ЭТО ДЕЛАТЬ НА УРОВНЕ КОГДА ЗАЛИВАЕТСЯ ТРАФИК! Если применительно к трафику.
А вот в этом случае как нельзя кстати выплывает применение хранимых процедур на стороне СУБД. ( Тооолстый намек на одну определенную PRDBMS :) )
mysql 5.x ? :)
Изначально было принято решение не завязываться (по крайней мере в массовом продукте) на специфику конкретной БД. В "штучных" вариантах (под заказчика) оправданно.

aospan
NetUP Team
Сообщения: 1639
Зарегистрирован: Чт янв 13, 2005 20:30

Сообщение aospan »

gravis писал(а):2 aospan:
Почему бы этоту оптимизацию не выполнить автоматически в ядре и на регулярной основе? Настройки периодичности можно было бы вынести в качестве опции.
Планируем в будующем сделать консольную утилиту для этого ...

aospan
NetUP Team
Сообщения: 1639
Зарегистрирован: Чт янв 13, 2005 20:30

Сообщение aospan »

Chris писал(а):Aospan молодец! Давно пора! НО НАДО ЭТО ДЕЛАТЬ НА УРОВНЕ КОГДА ЗАЛИВАЕТСЯ ТРАФИК! Если применительно к трафику.
Детализация с точностью до периода аггрегации нужны за 2-3 месяца, а дальше уже можно и аггрегировать старые данные. В связи с этим на лету при записи трафика делать аггрегацию не столько актуально ...

Аватара пользователя
Chris
Сообщения: 2323
Зарегистрирован: Чт июн 02, 2005 14:08
Откуда: 33 76 77 71 86 37 98

Сообщение Chris »

Понимаешь... Тебе надо посмотреть продукты скажет Niclaus, IPSoft Billing, там аггрегация делается при заливке в базу, деталка храниться отдельно. Это делается для того, чтобы обрабатывать в базе как можно больше запросов и трафика, тем самым данные системы получают хорошую прибавку в скорости работы. Вычисления все делаются на уровне опять же базы, т.к. у тебя MySQL данная хрень не прокатит, придёться делать либо при заливке трафика клиентом по заливке (UTM Core соотв), либо заливать и тупо анализить ворочая миллион записей и теряя процессорное время.

Аватара пользователя
dalex
Сообщения: 1306
Зарегистрирован: Пт янв 21, 2005 11:54

Сообщение dalex »

а дефрагментацию InnoDB еще если включить?
viewtopic.php?t=1371

taf
Сообщения: 309
Зарегистрирован: Вс янв 30, 2005 11:41

Сообщение taf »

aospan писал(а):
taf писал(а):
Chris писал(а):Aospan молодец! Давно пора! НО НАДО ЭТО ДЕЛАТЬ НА УРОВНЕ КОГДА ЗАЛИВАЕТСЯ ТРАФИК! Если применительно к трафику.
А вот в этом случае как нельзя кстати выплывает применение хранимых процедур на стороне СУБД. ( Тооолстый намек на одну определенную PRDBMS :) )
mysql 5.x ? :)
Изначально было принято решение не завязываться (по крайней мере в массовом продукте) на специфику конкретной БД. В "штучных" вариантах (под заказчика) оправданно.
С какого перепугу мыскль стал PRDBMS? Оно еще до полноценной RDBMS не доросло :) Я имел в виду PostgreSQL. Система весьма серьезная, личный опыт эксплуатации UTM5 есть и на мыскле 4.x и на PG. После перехода на PG забыл, что такое тормоза при большой базе, забыл (тьфу-тьфу-тьфу) что такое осыпавшиеся таблицы (а про такую напасть время от времени здесь пишут). Это что мне вспоминается сразу же.

А тут еще агрегация записей списания, которая так и напрашивается на storage-procedure решение :)

spec
Сообщения: 371
Зарегистрирован: Сб апр 16, 2005 14:03

Сообщение spec »

Chris писал(а):Понимаешь... Тебе надо посмотреть продукты скажет Niclaus, IPSoft Billing, там аггрегация делается при заливке в базу, деталка храниться отдельно. Это делается для того, чтобы обрабатывать в базе как можно больше запросов и трафика, тем самым данные системы получают хорошую прибавку в скорости работы. Вычисления все делаются на уровне опять же базы, т.к. у тебя MySQL данная хрень не прокатит, придёться делать либо при заливке трафика клиентом по заливке (UTM Core соотв), либо заливать и тупо анализить ворочая миллион записей и теряя процессорное время.
Перед тем, как спорить, нужно почитать документацию.
Деталька в UTM5 никогда не хранилась в SQL. Речь идет о склеивании уже агрегированных данных. И агрегация делается, как "вы тут советуете" перед тем, как записать данные в БД.
Детальная статистика в UTM 5.0 хранится в бинарных файлах и объем таких файлов за день может достигать десятков гигабайт. Никакая SQL база данных не справится с такими объемами.

Ответить