[database] MongoDB или CouchDB - подходят для производства?



Answers

BBC и meebo.com используют CouchDB в производстве, а также один из моих клиентов. Вот список других людей, использующих Couch: CouchDB в дикой природе

Основная задача состоит в том, чтобы знать, как организовать ваши документы и перестать думать с точки зрения реляционных данных.

Question

Мне было интересно, может ли кто-нибудь сказать мне, готовы ли MongoDB или CouchDB к производственной среде.

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

Я хотел бы знать:

  1. Кто использует MongoDB или CouchDB сегодня в производственной среде?

  2. Как вы используете MongoDB / CouchDB?

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

  4. Как вы справлялись с проблемами миграции, с которыми вам приходилось сталкиваться?

  5. У вас есть хорошие / плохие впечатления от любого из этих решений, которые вы хотели бы поделиться?




В настоящее время мы используем MongoDB в качестве слоя кэширования, а также механизм хранения для импорта и обработки данных о продуктах. Мы являемся компанией eCommerce, управляющей более чем двумя миллионами продуктов (более 100 миллионов атрибутов), охватывающей 10+ дистрибьюторов и без MongoDB, эта задача будет практически невозможной.




Ниже приведен список производственных сайтов с поддержкой mongoDB

  • The New Yorks Times : Использование его в приложении для создания форм для фотографий. Отсутствие схемы Mongo дает разработчикам возможность определять любую комбинацию полей пользовательских форм.
  • SourceForge : используется для резервного копирования на исходные страницы SourceForge, страницы проекта и страницы загрузки для всех проектов.
  • Bit.ly
  • Etsy
  • IGN : контролирует аналитику трафика IGN в реальном времени и RESTful Content API.
  • Justin.tv : включает внутренние аналитические инструменты Justin.tv для виральности, удержания пользователя и общей статистики использования, которые не могут обеспечить готовые решения.
  • Posterous
  • постигать интуитивно
  • Foursquare : Базы данных Sharded Mongo используются для большинства данных на четырехквартирных домах.
  • Бизнес-инсайдер : использование его с начала 2008 года. Все данные сайта, включая сообщения, комментарии и даже изображения, хранятся на MongoDB.
  • Github : используется для внутреннего отчета.
  • Examiner : перенесла свой сайт с Cold Fusion и SQL Server на Drupal 7 и MongoDB.
  • Grooveshark : в настоящее время Mongo управляет более миллиона уникальных пользовательских сеансов в день.
  • Buzzfeed
  • метание диска
  • Evite : используется для аналитики и быстрой отчетности.
  • Squarespace
  • Shutterfly : используется для различных постоянных требований к хранению данных в Shutterfly. MongoDB помогает Shutterfly создавать непревзойденный сервис, который обеспечивает более глубокие, более личные отношения между клиентами и теми, кто имеет наибольшее значение в своей жизни.
  • Шиворот
  • Поделись этим
  • Mongohq : предоставляет платформу для хостинга для MongoDB, а также использует MongoDB для поддержки своего сервиса. На странице наших хостинговых центров представлена ​​дополнительная информация о MongoHQ и других вариантах хостинга MongoDB.

и более...

Извлечено из: http://lineofthought.com/tools/mongodb

Вы также можете проверить другие базы данных или инструменты.




Мы используем mongodb в производстве для

www.beachfront.io - около 5 тыс. запросов на запись в секунду www.beachfrontbuilder.com - 500 запросов на чтение / запись в секунду, поддержка 10 млн. данных пользователей и olap.

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




CouchDB 0.11 (выпущенный в конце марта) - это релиз функции-замораживания для 1.0. Это означает, что мы будем поддерживать совместимость с текущим API за 1.0, так что сейчас самое подходящее время, чтобы еще раз взглянуть на CouchDB, если у вас нет времени.

Выпуск исходного кода CouchDB 0.11 доступен здесь. Здесь есть двоичные инсталляторы и другие полезные свойства.




Мы используем couchdb в производстве, и с тех пор как проект проходил под зонтиком Apache.

Мы используем его для хранения всего, что мы могли бы использовать dbms, а также всевозможные неструктурированные данные. Лично мне очень нравится, как вы можете просто вбрасывать в него всевозможные данные и использовать представления, чтобы отбирать то, что вам не нужно, в зависимости от ситуации.

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

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




Мы используем CouchDB в качестве замены для MySQL для наших магазинов (70,0000 пунктов / магазин, всего 4 миллиона атрибутов всех предметов, перекрестные соединения между элементами).

Наши цели:

  1. Легкая репликация с master-db на несколько клиентов с разными документами.

  2. Быстрые предварительно рассчитанные данные, такие как «сколько частей у меня есть с этим атрибутом и этот фильтр, подходящий для этих условий»

факты:

  1. Наши магазины теперь работают намного быстрее, чем с MySQL (а mysql-база данных требуется дополнительно 1-3 дня предварительного расчета (так что обновление было два раза в месяц), чтобы данные были готовы к подсчету и фильтрации продукта, CouchDB требуется 5 часов, поэтому мы могли обновлять данные о продуктах каждую ночь)
  2. Настройка (фильтрация) данных и резервное копирование узлов магазина быстро и просто

но также:

  1. Понимание карты / сокращения и пределы отсутствия объединений довольно сложно
  2. Нет данных о таких данных, как «delete where» или «update where» без внешних программ
  3. Репликация работает хорошо, если нет проблемы; то действительно трудно понять, в чем причина (для начинающих)
  4. Установка CouchDB без двоичных файлов (да, есть некоторые в дикой природе, но не для каждой ОС / версии) может быть сложной, если вы не Linux-разработчик. Но сообщество CouchDB полезно (#couchdb), и, к счастью, есть компании (облачные, iriscouch), которые предлагают услуги от свободного до крупного бизнеса.
  5. CouchDB продвигается вперед, поэтому происходит много изменений (улучшений), которые могут измениться, как вы работаете. Но основные вещи остаются стабильными.

В результате: MySQL как база данных для создания и обслуживания данных надежна и понятна и понятна. Думаю, мы этого не изменим. Но я также не хочу пропускать возможности представлений CouchDB и простоту настройки репликации.

Производственные кушетки иногда вызывали проблемы после нескольких месяцев работы из-за неправильной конфигурации и забытых логротатов (просмотр здания занимает слишком много времени или зависает, остановки репликации), но никогда не теряются данные и всегда могут быть легко сброшены.




Мы используем MongoDB для производства в нашем мобильном бэкэнд-сервисе, а именно Netmera. Мы используем его для хранения всех данных пользователя и контента.




Говоря о производстве, бесперебойный переход на второй план требует восстановления детской няни
1- Couchbase, нет бесперебойного восстановления после сбоя / восстановления, требуется ручное вмешательство.
перебалансировка занимает слишком много времени, слишком много риска, если потеряно несколько узлов.

2- Mongo с осколками, восстановление данных от потери сервера конфигурации - непростая задача




Related