Обновить
55
0
Андрей Мешков @aymeshkov

Пользователь

Отправить сообщение
Вот в том то и проблема, что критериев я таких придумать не могу. Но я абсолютно не согласен с утверждением про количество задач. У каждой СУБД есть свои слабые и сильные места, обусловленные, к примеру, архитектурой СУБД. Из-за этого под каждую СУБД разрабатывают приложения по-разному. И именно поэтому не имеет смысла проводить какие-то атомарные тесты, они ничего вам не дадут.

Например, MSSQL — блокировочная субд, а Oracle — мультиверсионник. Это два разных подхода, каждый из которых, обладая своими сильными и слабыми сторонами, влечет за собой разный подход к разработке.

P.S. howfuckedismydatabase.com/
Нет, я то про них знаю, но я технический специалист. А предположим, что я CEO какого-нибудь «НЕФТЕТРАНСГАЗОСОС».
У меня есть mission-critical система «НЕФТЕТРАНСГАЗОБИЛЛ (тм)», которая может работать на Oracle или на Postgresql. За минуту простоя мы теряем 100к$.

И я не понимаю, с кем мне договор на поддержку подписывать? С EnterpriseDB или с Postgresmen? Тогда зачем мы здесь вообще об EnterpriseDB заговорили, раз они не могут поддержки mission-critical систем в РФ организовать.
Если речь идет о РФ, то есть ли у EnterpriseDB партнеры, которые могут осуществлять поддержку прямо здесь? Или я должен буду себе специалиста из заграницы выписывать?
Хотите я вам так ее померяю, что будет разница 100%? Я пока не видел ни одного сколько-нибудь объективного теста. И, честно сказать, не уверен что объективные тесты вообще возможны при сравнении производительности СУБД.
Ну так DBA одни, а процессоров, положим, будет 16. Где ж тут небольшая часть? И это мы сейчас про SQL Server, который ощутимо дешевле Oracle.

P.S. Вы ж уточняйте что речь идет 30 тысяч долларов, а то вдруг кто не поймет.
Еще есть один фактор — специалистов по open source СУБД сейчас намного меньше, чем по популярным проприетарным субд. Это, конечно, дело наживное, но нужен некоторый толчок чтобы все сдвинулось с мертвой точки.
Зачем ваш комментарий здесь?
Принципиальной разницы никакой, никто не спорит, просто интересная деталь реализации.
Спасибо автору, очень хорошая статья. Про байт-код synchronized-методов не знал, познавательно.
Это немного разные вещи, Lucene это скорее библиотека для полнотекстового поиска, на ее основе уже создаются готовые поисковые движки.

На основе Lucene построен Solr, который как раз и является прямым конкурентом Sphinx.
Хотя тоже какое-то палево:) Вроде бы Отдела «К» не существует больше, теперь это Управление «К».
Вот тут вроде бы список реально существующих сайтов отделов «К» — www.otdel-k.boom.ru/kollegi.htm
Да, pgagent не радует. Этот его 2-х минутный период сильно обламывает, не понимаю что им мешает добавить секунды в шедулер.

А насчет c-функции — мне логи все-таки хочется видеть в таблице. Это, конечно, вопрос вкуса, но мне например лень лезть в шелл и грепать файл вместо того, чтобы написать селект.
Хорошая штука, сохранил в закладках, спасибо.
Да, действительно, dblink_connect для создания persistent соединения и в дальнейшем его использование ощутимо ускорит работу.

Спасибо что указали на это, действительно важный момент.
dblink_exec работает медленно из-за того, что создается новое соединение с БД — а это процесс намного более дорогостоящий чем простая запись в таблицу. Поэтому использовать необходимо с умом. Приведу пример: предположим ваша функция состоит из следующих шагов: начало, большой длинный цикл, конец, обработка ошибок.
Вы логируете начало, конец и обработку ошибок с уровнями логирования «INFO» и «ERROR», а внутри цикла с уровнем «DEBUG». Чтобы функция работала как можно быстрее, вы можете отключить логирование с уровнем «DEBUG» (доработать функцию «log» для такого поведения не составит большого труда), и включать логирование «DEBUG» только если приперло и необходимо какое-то серьезное разбирательство.

То есть вы можете избежать потерь производительности просто с умом применяя этот прием, на это я и хотел обратить внимание в конце топика.
Вы сейчас о конкретной задаче, применение автономных транзакций много шире. Конечно же вы можете логировать разными способами и обходить описанную проблему по-разному. Просто savepoint и автономные транзакции это разные вещи, они никак не связаны.
А причем тут вообще savepoint? Это точка сохранения внутри одной транзакции. Автономная транзакция независима от родительской.
Отчего же, использовать стоит, просто не забывайте о том, что эта операция относительно дорогая.

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность