Форум сайта python.su
o7412369815963Тогда весь этот тред придирки к тому или иному решению.
это просто придерание.
o7412369815963Так не о том речь. При нашествии инопланетян, которые заберут все сервера, конечно, данные мы скорей всего потеряем при использовании любого хранилища.
гарантии коуча ни чего не стоят когда сервер накроеться (совсем, краш винта и т.п.), хотя можно что-б коуч сохранял данные сразу на перфокарты, тогда надежность будет поболее, но производитльность пострадает.
o7412369815963А вот это-то как раз и не так. Процесс MongoDB может умереть по одной лишь ему ведомой причине и потащить за собой базу. В этом и проблема. Причем, ещё год назад с этим было её хуже и случалось чаще, что вообще вычеркивало его применение в серьезных проектах.
а монго гарантирует целостность данных при “целостноти” (стаблильности) оборудования. и этой гарантии для многих случаев хватает.
Офлайн
zheromoНеужели? А я так уверен, что данные оказываются на диске только в том случае, если включена прямая запись в контроллере RAID-массива и отключена оптимизация в ОС.
Коуч же в этом плане надежен и все данные оказываются на диске.
DaevaornОпять: неужели? А если у вас отключилось питание, то вы, значит, уверены, что ваши данные будут записаны на диск? Или все же это заивисит от аппаратной натройки?
Способ не важен. Важно то что другие хранилища эту гарантию дают, в том числе CouchDB.
DaevaornИзвините, если дал повод так думать. Я не считаю скорость главной хар-кой, но скорость - важная характеристика.
Скорость я имел ввиду.
DaevaornЯ не смог придумать более точного названия для людей, которые для разработки и тестирования используют конфигурацию, отличающуюся от продакшн-конфигурации не только производительностью, но и архитектурой.
Причем тут начинающие программисты?
DaevaornНапоминаю, что мы рассматриваем в этой теме как раз высоконагруженные системы, цитата автора топика: “в светлом будущем - 10 0000 клиентов”.
Большинство проектов в интернете живет на одной машине и им этого хватает, потому что они не высоко-нагруженные.
Офлайн
LexanderЯ уверен, что у меня останется снимок данных на какой их предыдущих моментов времени и при этом он будет консистентен. То что я потеряю те данные которые не смогли записаться в момент аварии, то это очевидно.
неужели? А если у вас отключилось питание, то вы, значит, уверены, что ваши данные будут записаны на диск? Или все же это заивисит от аппаратной натройки?
LexanderОпять не о том. Single-server durаbility нужна не только для этого. Потому что даже продакшен окружения не всегда распределено. И в большинстве случаев это так.
Я не смог придумать более точного названия для людей, которые для разработки и тестирования используют конфигурацию, отличающуюся от продакшн-конфигурации не только производительностью, но и архитектурой.
Согласитесь, нелепо тестировать систему на своей рабочей машине, если эта система предполагает наличие, например, шарда или репликации в реальном времени.
LexanderВы расшифровали эту цифру?:-) Это десять или сто тысяч? Это что за “клиенты”, которые зарегистрированны и приходят раз в год на сервис, или это в месяц/день/час/минуту/секунду? Что они делают и какую активность генерят? Да и потом, если это даже сто в день, то это не очень и высокие нагрузки ещё. Так что это число просто ни о чём.
Напоминаю, что мы рассматриваем в этой теме как раз высоконагруженные системы, цитата автора топика: “в светлом будущем - 10 0000 клиентов”.
Офлайн
DaevaornАлександр, а Вы случаем не это имеете ввиду - http://jira.mongodb.org/browse/SERVER-1614 - вроде как пофиксили не так давно.
MongoDB же кораптит базу совсем и не хочет её воспринимать после аварии. Это плохо.
Офлайн
DaevaornЭти 2 предложения описывают 2 взаимоисключающих факта: данные консистентны и часть данных потеряна :)
Я уверен, что у меня останется снимок данных на какой их предыдущих моментов времени и при этом он будет консистентен. То что я потеряю те данные которые не смогли записаться в момент аварии, то это очевидно.
DaevaornУточните, пожалуйста, вы имеете ввиду, что она не работает сразу после запуска как Couch (а требует проверки и, при необходимости, ремонта базы) или что портит безвозвратно данные?
MongoDB же кораптит базу совсем и не хочет её воспринимать после аварии.
DaevaornМы все еще о больших системах или о разных? :)
Потому что даже продакшен окружения не всегда распределено. И в большинстве случаев это так.
DaevaornНеужели так трудно? Реальных вариантов то всего два ;)
Вы расшифровали эту цифру?:-) Это десять или сто тысяч?
DaevaornЕсли речь идет о работающем продукте - да, если же речь идет только о проектировании (перечитайте первый пост - этот как раз наш случай), то указанные данные по количеству клиентов и сфере деятельности - соц. сеть - следует трактовать как “большое кол-во данных, которые попадают в систему неравномерно с вероятными непостоянными пиковыми нагрузками”. И этого достаточно. Необходимой производительности системы для обеспечения пиковых rps, r/w ratio и т.п. будем добиваться в рамках готовой стратегии наращивания мощности.
Говорить о нагрузках можно когда есть число rps, r/w ratio и т.п.
Офлайн
LexanderЕще стоит обязательно учесть воздействие космических лучей и нейтрино, а то глядишь чего…zheromoНеужели? А я так уверен, что данные оказываются на диске только в том случае, если включена прямая запись в контроллере RAID-массива и отключена оптимизация в ОС.
Коуч же в этом плане надежен и все данные оказываются на диске.
Офлайн
zheromoтогда все прояснилось… =) шутка
… (это был виндовс) …
Отредактировано (Окт. 8, 2010 18:29:50)
Офлайн
zheromoТо ли вы здесь смайлик забыли, то ли не в теме.
Еще стоит обязательно учесть воздействие космических лучей и нейтрино, а то глядишь чего…
zheromoБоюсь вас огорчить, но тут точно дело не в Mongo.
Когда я выбирал между монго и коучем, монго я отмел сразу по причине того что после НОРМАЛЬНОЙ перезагрузки (это был виндовс) либо терялась часть данных
Отредактировано (Окт. 9, 2010 12:59:40)
Офлайн
Lexanderя классифицирую примерно так:
Странно, почему никто не вспоминает о Redis (с особенности в сравнении с Couch), Cassandra, VoltDB, Memcached или даже действительно редком у нас, но таким близким к Mongo по возможностям языка Tokyo Cabinet?
Офлайн
o7412369815963
Касаемо “тормозных” баз.
Знаете, наверное, все СУБД позволяют настройками добиться хранения наиболее часто востребованных данных в памяти.
Причем все производители СУБД в качестве бескомпромиссного самого быстрого решения предлагают хранить данные именно в памяти. Всех - это значит действительно всех, как NoSQL, так и реляционных СУБД.
Сервера с десятками гигабайт памяти - не проблема. У всех поставщиков серверов есть решения со 128 ГБ памяти.
Поэтому возникает закономерный вопрос,- что такое по вашему большая БД?
Отредактировано (Окт. 9, 2010 21:08:17)
Офлайн