Какая система хранения данных предлагает лучшую производительность обновления / вставки? - PullRequest
0 голосов
/ 06 августа 2011

Я ищу систему хранения данных (предпочтительно NoSql), которая предлагает лучшую производительность для обновления / вставки.Это, безусловно, самый важный аспект.Также важно, чтобы размер обновленных записей быстро увеличивался.Я использую MongoDB, но не могу довести производительность обновления до требуемых уровней.

Кто-нибудь может порекомендовать что-нибудь?

Ответы [ 4 ]

5 голосов
/ 07 августа 2011

Прежде чем перейти непосредственно к другим решениям БД, что было узким местом в MongoDB?Вы максимизировали дисковый ввод-вывод?Вы забили сервер множеством входных потоков?Какой тип чисел вы достигли?Я видел, как аппаратное обеспечение серверного класса выдвигает десятки тысяч вставок в секунду, так что вам нужно.

Очевидно, что существует множество других решений для БД, которые служат в качестве БД с ключом-значением.Riak, Redis, Membase, CouchDB, HBase, это лишь некоторые из них.Но, как и MongoDB, ни одна из этих БД не является волшебной, и они все еще подчиняются основным законам компьютерной физики.

Так что, чтобы получить действительно хороший ответ на ваш вопрос, нам понадобится:

  • Конфигурация сервера
  • Основные тесты, которые вы выполнили
  • Достигнутая вами производительность
  • Основные данные мониторинга сервера во время теста

Другие базы данныхЯ упоминал, что может работать немного лучше, чем MongoDB, но они не будут работать в 100 раз лучше, поэтому нам действительно нужно определить, что вы ищете.

0 голосов
/ 10 августа 2011

Как уже говорили другие, нахождение , где и , что узкие места (1), помогает больше, чем широкое утверждение.

Однако, по моему опыту, на основе чрезвычайно маленького и ненаучного эксперимента, Кассандра , кажется, загружается быстрее (у меня никогда не было простоя до нуля, когда я его пробовал).

Это всего лишь наблюдение - я бы НЕ принял это за любую рекомендацию

Чтобы сделать осознанный выбор, вам нужно взвеситьup

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

(1) помните - вы никогда не устраняете узких мест - вы просто двигаетесьих в другом месте :-( - как только вы решите одну проблему, вы найдете другую самую медленную часть вашей системы - если повезет, она окажется там, где это не окажет на вас негативного влияния.

0 голосов
/ 08 августа 2011

Поскольку я пока не могу комментировать другие сообщения, я опубликую это как ответ: вместо этого рекомендуется приобрести более быстрый жесткий диск, согласно тому, что сказал Ремон, жесткие диски с 7200 об / мин не очень дорогие или что-то подобное, конечно, если выМне нужна оптимальная производительность для этого SSD.

Согласно вашему Вопросу, я работал только с mongoDB на сцене NoSQL, и, учитывая тот факт, что я работаю с низкоуровневым оборудованием, я вижу,очень хорошая производительность, когда дело доходит до обновлений / upserts от него.

Тем не менее, я здесь работаю только с парой сотен обновлений в секунду, сейчас я не знаю о производительности на гораздо более высоком уровне громкости.

Кроме того, вы такжене указывается объем данных, сохраняемых в базе данных, ни частота выполнения операции, ни «прогнозируемый» объем.

0 голосов
/ 07 августа 2011

Cassandra предоставляет модель возможной согласованности (хотя это немного неправильно, так как ее можно настроить очень согласованно), которая обеспечивает очень хорошую производительность вставки / обновления.У меня нет надежных тестов, но большинство из того, что я видел по собственному опыту и из того, что я читал в Интернете, похоже, Cassandra дает лучшую производительность вставки / обновления, чем HBase.

Я бы посмотрел на оба и попробовал их с некоторыми примерами данных, чтобы увидеть, какой из них работает для вас.Я большой поклонник Кассандры, но хотел бы, чтобы их супер-колонны были более полезными.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...