Re[76]: EntityFramework - тормоз
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 12.05.15 22:56
Оценка:
Здравствуйте, alex_public, Вы писали:

_>Здравствуйте, gandjustas, Вы писали:


_>>>Гораздо дешевле? ))) Это с каких это пор жирные кластеры стали дешёвыми? ) Как раз наоборот, намного дешевле взять несколько простенький серверов (можно вообще на Атоме), объединённых в сеть.

G>>Это тоже миф, который поддерживают апологеты nosql и подобной муйни. Я перед новым годом считал hp-шные серверы. Сервер в два раз толще оказался на 30% дешевле, чем два сервера.

_>Это в какой ценовой категории интересно? )

500к-1М рублей

_>Да, кстати, и два сервера к тому же дают дополнительную надёжность... )

Это только при покупке дополнительных мощностей, сверх необходимого. В противном случае наоборот снижает надежность, так как отказ любого сервера ведет к остановке системы или к деградации производительности.
Если ты шардишь базу в монге, а потом у тебя одна из шард падает, то без реплики ты в большинстве случаев не сможешь продолжать работу.

G>>Ок, шардить таки можно, но чуть сложнее, чем в nosql, ок?

G>>При этом помним, что у РСУБД потребность в шардинге на порядок ниже. Грубо говоря noSQL нужно шардить когда объем данных больше объема ОП, а у РСУБД такой необходимости нет.
_>Угу. ) Это из серии на ассемблере писать таки можно, но чуть сложнее, чем на C#. )
Я делал шардинг и писал программы на ассемблере, шардинг попроще будет. Да и потребность в нем на порядки (в 10-100 раз) ниже в РСУБД.

_>>>Ну да, согласен, это инструмент требующий умений и продумывания заранее. Но это ещё не повод его не использовать.

G>>То есть ты признаешь, что использование noSQL требует больше затрат, чем классические РСУБД, тогда зачем их использовать? Сложнее, ресурсов больше надо, в чем профит?
_>Про ресурсы я ничего такого не говорил. Как раз наоборот, nosql БД обычно летают на совсем дохлых серверах. ))) А вот умений программиста с ними действительно надо больше.
Ты опять сравниваешь точечные замеры? Не понял еще что отсутствие гарантий замедляет систему?

G>>Что ты имеешь ввиду под "современный веб движется именно в эту сторону"? Все используют фейсбук, твиттер и прочите соцсети как сервис. Но практически никто не пишет свои лайки на 100500 миллионов пользователей. А в масштабах того же stackowerflow все прекрасно работает на РСУБД. И это офигенно большие масштабы для типичного веб-проекта. 99% веб-проектов до таких масштабов не дорастут никогда.


_>Stackowerflow и т.п. — это старые проекты. Потому и работают на РСУБД.

Ты думаешьтам такие лоши работают, что если бы были профит от nosql они бы не отказались от sqlserver?

_>Речь о текущих стартапах (или уже не совсем стартапах)))).

Вот тебе о стартапах — http://habrahabr.ru/post/231213/ как раз соцсеть с лайками. Прочитай внимательно прежде чем продолжать писать.

_>>>Хыхы, redis — это вообще то тоже игрушка из мира nosql. )))

G>>Редис это кэш, никакого отношения к persistent storage не имеет. По сути почти весь nosql это попытка на простой key-value кэш натянуть persistance. Попытка скорее неудачная.

_>https://ru.wikipedia.org/wiki/Redis — "Нереляционная высокопроизводительная СУБД." А пример именно кэша, это Memcached (неожиданное название, да? ), который в отличие от Redis не умеет сохранят данные на диск. Ну и кстати для просто кэша у Redis'a многовато типов данных. )))

Ты удивишься, но все инстансы редиса, которые я видел в продакшене имеют отключенный persistance. Не нужен он там.
А memcached — говно, банально нету возможности атомарно увеличить счетчик. Без этого его даже в качестве кеша можно использовать с огромной натяжкой.

G>>Когда жмешь отправить — видишь "ваше сообщение добавлено", это и его гарантия, что следующий запрос достанет новое сообщение.

G>>А в nosql было бы "ваше сообщение скоро будет добавлено, поэфпячьте страницу, чтобы его увидеть. А тут начинаются конкуретные апдейты, например для выделения подветки в отделенную тему и база приходит в неконсистентное состояние.

_>ОК, давай, приведи эту https://community.nodebb.org БД в неконсистентное состояние. )))

На каждый пост выполняется около 5 обращений к монге, любое падение и база в неконсистентном состоянии. Кроме того это плохо будет работать с multimaster репликацией, так как при репликации вместо инкремента в базу уходит новое значение и легко потерять значения в счетчике при параллельной записи в два разных мастера. Даже ниче специально делать не нужно, оно само рассинхронизируется. Думаешь почему в монгу добавили autoincrement поля?

_>>>Кстати, а вот один из самых современных (и при этом крайне быстрый) движков форумов https://nodebb.org работает с тремя (кстати, как раз через обсуждаемый выше слой абстракции БД) nosql СУБД и никаких проблем не испытывает. Причём одна из них как раз совсем не соответствующая ACID Redis.

G>>Покажи живой инстанс с посещяемостью rsdn.

_>Вообще то прямой по моей ссылке в меню можно было найти живое демо. Но я на всякий случай уже дал прямую ссылку в предыдущем абзаце. )))

Еще раз: Покажи живой инстанс с посещяемостью rsdn


_>>>Я что-то не понял, ты считаешь что это не реальные цифры или что? )

G>>Нет, я считаю что ты говоришь, о том, чего у тебя и большинства тут присутствующих никогда не будет. А если рассмотреть то, с чем сталкивается большинство ежедневно, то будет ровно обратная картина тому, что ты говоришь.
_>Т.е. переводя на русский язык твои кривые намёки, можно сказать, что ты считаешь описанную ситуацию (с преимуществом оптимизации программистами, над заменой железа) редким случаем? )
Я считаю, что такое возникает гораздо реже, чем об этом ты пишешь.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.