[sos] производительность СУБД

state7401281

что производительней: Oracle с его pl/sql или связка MySQL + perl ?

state7401281

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

laki

ну ты блин задал вопросик. в зависимости от задачи.
а если не ошибаюсь то на кубических задачах постгрес оракл очень хорошо имел

state7401281

о базе - 5 таблиц одна 10^5 записей, остальные 10^6-10^7

state7401281

> на кубических задачах постгрес оракл очень хорошо имел
не это не кубики
в постгрессе есть "бэйсик"?

laki

есть pgsql

laki

это мелочи я помню работал с базой 10^9 на postgres запросы работали довольно шустро главное оптимайзить

sinet

Сколько пользователей будут всё это одновременно использовать и как?

laki

думаю один

state7401281

1 робот
короче задача - изврат, решать диффуры на sql

laki

на хуя проще решения нет?
пиши подробнее.
возможно какая-нить хрень типа матлаба или мапла справиться сможет, не изобретай велосипед.

state7401281

система написана уже, на оракле на варианте 10^3 / 10^5 записей корячится 3 часа, сложность растет линейно, если раза в 2 реально поднять, то норм, если нет - тогда буду думать

state7401281

одна таблица (маленькая) - сетка, одна чуть больше - текущие значения, остальные три - хистори рассчета - туда только инсерт

laki

система написана уже, на оракле на варианте 10^3 / 10^5 записей корячится 3 часа
криво написана
лучше думать

state7401281

спасибо
так все-таки что быстрее?

laki

базу с оптимайзнуть и запросы к ней

Dasar

если много вычислений, то вместо sql/perl-а, лучше брать что-нибудь компилируемое со статической типизацией, т.к. в вычислениях доля влияния вызовов функций, присваиваний, for-ов и т.д. на общую производительность очень высока.
это только при работе с внешними крупными объектами производительность самого языка не важна, например, если работать в основном со строками, то производительность языка не важна, т.к. все основное время уходит на внешние операции (которые уже по максимуму оптимизированы) - какое-нибудь сложение строк, сравнение строк и т.д. , и доля в производительности самого языка низкая.

Ivan8209

> или связка MySQL + perl
Связка MySQL+C производительнее связки MySQL+PERL.
Связка PostgreSQL+C производительнее связки MySQL+C,
если только ты не найдёшь какую-то особую задачу,
где выигрывает-таки MySQL.
Пока ничего не могу сказать про связку BerkeleyDB+C,
но она может оказаться ещё сильнее.
---
...Я работаю антинаучным аферистом...

kruzer25

Tut esche, naskolko ya ponimayu, kucha vremeni tratitsya na otpravku zaprosa/poluchenie otveta?

Dasar

> Tut esche, naskolko ya ponimayu, kucha vremeni tratitsya na otpravku zaprosa/poluchenie otveta?
смотря какое кол-во данных берется за раз, и смотря какой канал между БД и программой.
если данные берутся большим куском и через канал shared memory, то overhead на запрос/ответ почти не чувствуется.
если же данные берутся по чуть-чуть и через "интернет", то overhead на запрос/ответ может быть на несколько порядков больше, чем полезная нагрузка
Оставить комментарий
Имя или ник:
Комментарий: