CouchDB или нет? - PullRequest
       18

CouchDB или нет?

6 голосов
/ 02 апреля 2012

Примечание: (Я некоторое время изучал CouchDB и мне нужен какой-то реальный опыт).

У меня есть база данных Oracle для службы слежения за парком, и некоторые состояния здесь:

  1. 100 ГБ дБ
  2. Огромная вставка / сек (наши полученные сообщения)
  3. Надежная репликация (через потоки Oracle на 4 серверах)
  4. Сложные сложные запросы.

Теперь вопрос: можно ли использовать CouchDB в этом случае?

Примечание: почему я подумал о CouchDB?

  1. Я читал о его способности очень хорошо масштабироваться по горизонтали.В нашем случае это очень важно.
  2. Поскольку эта схема не содержит схемы, мы можем обрабатывать изменения более правильно, поскольку у нас много изменений в разных таблицах и хранимых процедурах.

Спасибо

Редактировать I: Мне тоже нужны транзакции.Но я могу терпеть и другие решения.И если есть небольшая задержка в репликации, это не будет проблемой, ЕСЛИ это гарантировано.

Ответы [ 2 ]

23 голосов
/ 03 апреля 2012

Вы пользуетесь следующими возможностями вашей базы данных:

  1. Использование ее в производстве
  2. Данные естественно реляционные (связаны с самим собой)
  3. Огромная вставкаскорость (без проблем MVCC)
  4. Сложные запросы
  5. Транзакции

Это все причины , а не для перехода на CouchDB.

Конечно, история не так проста.Я думаю, что вы обнаружили то, что многие люди никогда не узнают: сложные проблемы требуют сложных решений.Мы не можем просто заменить нашу базу данных и снять остаток месяца.Конечно, CouchDB (и BigCouch) поддерживает отличное горизонтальное масштабирование (и репликацию между центрами данных тоже!), Но стоимость будет переписывать производственное приложение.Это не правильно.

Итак, чем же может помочь CouchDB?

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

Для вашего проекта это основные сильные стороны CouchDB:

  1. Это небольшой и простой инструмент, который легко установить на рабочей станции илисервер
  2. Это веб-сервер. очень хорошо интегрируется с вашей инфраструктурой и политиками безопасности.
    • Например, если у вас есть гибкая политика, просто настройте ее в локальной сети
    • Если у вас строгая политика сети и брандмауэра, вы можете настроить ее за VPN или с помощьюВаши сертификаты SSL
  3. После этого шага к нему очень легко получить доступ.Просто сделайте http или http запросы.Импортируете ли вы данные из Oracle с помощью специального инструмента или используете веб-браузер , это все равно.
  4. Да!CouchDB тоже сервер приложений!Он имеет встроенное административное приложение для исследования данных, изменения конфигурации и т. Д. (Например, встроенный phpmyadmin).Но для вас значение будет создавать приложения администратора и отчеты как простые традиционные приложения HTML / Javascript / CSS .Вы можете получить как можно больше фантазий или просто.
  5. По мере того, как ваш проект растет и становится ценным, вы в прекрасном положении для роста, используя репликацию
    • Либо расширяйте ядро, увеличивая CouchDBкластеры
    • Или скопируйте ваши данные и приложения в разные центры обработки данных, или на отдельные рабочие станции, или мобильные телефоны и т. д. (стратегия станет более очевидной, когда придет время.)

CouchDB предоставляет вам простой веб-сервер и веб-сайт.Он предоставляет вам встроенный API веб-сервисов для ваших данных.Это позволяет легко создавать веб-приложения.Поэтому CouchDB кажется идеальным для расширения вашего основного приложения, а не замены it.

1 голос
/ 23 мая 2014

Я не согласен с этим ответом ..

Я думаю, что CouchDB особенно хорошо подходит для использования в целях отслеживания флота из-за их распределенного характера.Более того, ненадежный характер соединений gprs, используемых для передачи данных о местоположении, делает первый в автономном режиме парадигму couchapps идеальным партнером для вашего приложения.

Для загрузки данных из грузовика скорость вставки может получить огромное преимущество отРепликация couchdb и массовые вставки, особенно если они выполняются на хостинге couchdb на базе ssd .

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

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

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