Главная > Программирование > MySQL vs PostgreSQL в ActiveRecord

MySQL vs PostgreSQL в ActiveRecord

Если вы пишете мультитредовые приложения на Ruby/Rails с использованием ActiveRecord, то вы не должны выбирать между MySQL и PostgreSQL. Выбор известен заранее.

Как известно, Ruby обладает таким противным свойством, как GIL в C-extensions. Драйвер базы данных — это несомненно C-extension (по крайней мере, это утверждения справедливо для MySQL и PostgreSQL). Так что, если вы написали multithreading приложение, которое активно работает с базой через ActiveRecord и ждете, что использование нескольких ниток позволит лучше использовать процессорное время, то тех из вас, кто пользует MySQL, я спешу разочаровать — MySQL-драйвер будет блокировать ваш тред на все время выполнения sql-запроса.

А вот пользователей PostgreSQL спешу поздравить. ActiveRecord будет использовать async-вызовы драйвера и вы в полной мере насладитесь ожидаемым эффектом.

P.S. Да-да, я знаю о такой поделке, как драйвер MySqlPlus. Но лично мне, как-то ссыкотно его запускать на продакшен.

Программирование , , , ,

DeliciousFacebookDiggRSS FeedStumbleUponTwitter
  1. Amnesyac
    6 Август 2009 в 11:43 | #1

    Здесь описаны четко и ясно сильные и слабые стороны и PostgreSQL и MySQL. http://madjack.ru/developer/2009/08/mysql-vs-postgresql.html

  1. Пока что нет уведомлений.