Ну а в чем проблема?! Вроде бы должно работать... А лучше поставьте себе виртуалку с линуксом, хотя бы для отладки. Про винды сказать ничего не могу, сам на маках и виртуалках :-)
Мне кажется, что постгрес легче, практически вообще не требует конфигурирования, ну мускул немного быстрее (хотя все очень относительно). Для джанги наверное постгрес лучше...
Ах, да!!! Как раз все эти навороты перестают работать в распределенных системах. Представим, что сообщений столько, что принимается решение разделить таблицу на несколько серверов например по алфавиту, вот здесь вам и придется все эти тригеры и хранимки убирать и внедрять в код, это и так не всегда тривиальная задача, а тут еще и тригеры и хранимки...
1) удалять сообщения не нужно, их нужно не покпзывать. Делаем отдельное полк deleted
2) select count(tatata) делает это по индексу, где и так он хранится.
3) lastmessage так вообще нужно хранить не в базе, а в памяти
Ну и собственно, когда у нас есть кеширование или ORM, то во многих случаях в базу не нужно будет лазить вообще.
Проблема с разными тригерами одна, они нагружают базу, иногда очень и очень сильно, особенно при операциях удаления, а еще, про них забываешь и они иногда могут творить чудеса... Я не настаиваю, я через хранимки и тригера прошел и если их можно не делать, их делать не нужно. Особенно начинает бесить, когда через два-три года работы базы неработающий до этого тригер вдруг начинает отрабатывать по какому-то условию, при этом и код и данные и условия уже давно не те. Вот тут и начинается зоопарк с откатом стогигабайтных баз, транзакционных логов, перезаливкой архивных данных, поиском проблемы и прочими батхертами и оверхедами с бдениями в праздничные ночи.
С хранимками ситуация ничуть не лучше, особенно, когда у вас распределенная система и некоторые таблицы пошардены на кучу инстансов.
Все относительно, это же почти конечный автомат, а там что последнее, что первое, все едино, но можно и первым пунктом. Да и думал всего минут 10, писал дольше, автору топика и проверять.
386DX: Ну, блин, согласен, всем сразу сэсэде, гигабиты, процессоры квантовыеб фибреканалы на реидах. Вот оно волшебство0то где... Как оные закупят, а производительность на месте останется - так уже и разбираться будут :-)
Лучше пусть collectd запустят и посмотрят что с сервером происходит, тянуть то должен наверное...
Ну и я бы нагрузочное тестирование сделал на предмет сколько же он отдать может - fio рулит.
brammator: Так, у нас ubuntu 14.04, multipath настроен по умолчанию, со стороны DS3400 настороено отдавать два виртуальных диска на один комп, два других на второй. Устройства мапятся в /dev/mapper/mpath1-XXXXX /dev/mapper/mpath2-XXXXX
А некоторые и на демоплатах останавливаются, благо некоторые дешевле грязи и негабаритные и для 3-5 штук свое производство иногда накладно... Как раз по этому пути идут STlabs и NXP... У моторолы обычно дороговато выходит (хотя все относительно)...
Так вроде бы ответил практически на все вопросы, не нравится ардуино (мне тоже), возьмите любой микроконтроллер любого производителя, хоть PIC, хоть STLabs, хоть Motorola (ах, да Freescale), хоть NXP, Intel, Samsung... Берите описание чипа, там есть и схемы подключения, питания и прошивки. Разводите платку, паяете, исправляете ошибки, Покупаете JTAG, подключаете, прошиваете.
ИЛИ, покупаете девелопмент борду с нужным чипом от тех же самых производителей, в комплекте часто и набор софта и JTAG. Разрабатываете софт, а параллельно, по схеме борды, разводите свою фитюльку. Через месяца 3-4 у вас и софт и фитюлька готовы.
Вот по второму пути я и предлагаю пойти - купите себе за ~1500-3000 рублей демо-плату STM32 и разрабатывайте!
Одинаково, по стандарту развитие пар не более 12 сантиметров, как помню, а уж как будут эти сантиметры склеены, связаны или замкнуты - все равно (или почти все равно), все разъемы подпружиненные, а в розетке еще и защелкнуты на ножах, но на характеристики это не влияет.