Вопрос

Я рассматривал возможность использования CouchDB.Я слышал, что это похоже на Lotus Notes, который все ненавидят.Это правда?

Это было полезно?

Решение

Разработка Lotus Notes началась более 20 лет назад, когда версия 1 выпущена в 1989 году.Он был разработан Рэем Оззи, в настоящее время главным архитектором программного обеспечения Microsoft.

Lotus Notes (клиент) и Domino (сервер) существуют уже давно и являются зрелыми и хорошо функциональными продуктами.В нем есть:

  • Полный стек клиент-сервер с быстрым проектированием приложений и развертыванием документоориентированных баз данных.
  • Полная инфраструктура открытых ключей для обеспечения безопасности и шифрования.
  • Надежная модель репликации и активная активная кластеризация на гетерогенных платформах (кто-то однажды показал кластер домино с Xbox и огромный сервер AIX).
  • Встроенный собственный каталог для управления пользователями, доступ к которому также возможен через LDAP.
  • Встроенная встроенная почтовая система, которая может масштабироваться для управления миллионами пользователей с почтовыми файлами объемом несколько ГБ, с доступом к живому серверу или локально реплицироваться для автономного доступа.Он может взаимодействовать со стандартной интернет-почтой через SMTP, а также имеет встроенный доступ по протоколам POP и IMAP.Почтовая инфраструктура — это основная функция, доступная всем приложениям, созданным на базе Notes Domino (любой документ в базе данных можно отправить по почте в любую другую базу данных с помощью простой команды doc.send()).
  • Встроенный стек HTTP, который обеспечивает доступ к базам данных, размещенным на сервере, через Интернет.
  • Множество вариантов интеграции для доступа, передачи и взаимодействия с системами RDBMS и ERP, а также доступная тесная интеграция с DB2, позволяющая при необходимости поддерживать базы данных Notes в реляционном хранилище.

Обратная совместимость всегда была сильной стороной Notes Domino, и нередко можно обнаружить, что базы данных, разработанные для версии 3, безупречно работают в самых последних версиях.IBM прикладывает к этому огромные усилия, и это оказывает большое влияние на то, как продукт работает в настоящее время.

-

CouchDB был создан Дэмиеном Кацем и начал разработку в 2004 году.Ранее он работал в IBM над Notes Domino, разрабатывая шаблоны и, в конечном итоге, полностью переписав одну из основных функций — механизм формул — для ND6.

CouchDB разделяет базовую концепцию документоориентированной базы данных с представлениями, которые есть в Notes Domino.

В этой модели «документы» — это просто произвольные наборы значений, которые каким-то образом сохраняются.В CouchDB документы представляют собой объекты JSON произвольной сложности.В Notes значения представляют собой простые пары «имя-значение», где значения могут быть строками, числами, датами или их массивами.

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

В CouchDB представления создаются путем запуска функции сопоставления для каждого документа в базе данных.Функция сопоставления вызывает метод submit с объектом JSON для каждой записи индекса, которую она хочет создать для данного документа.Этот объект JSON может быть сколь угодно сложным.Затем CouchDB может запустить вторую функцию сокращения для сопоставленного индекса представления.

В Notes Domino представления создаются путем запуска функции выбора (написанной на языке формул Notes Domino) для каждого документа в базе данных.Функция выбора просто определяет, должен ли документ быть в представлении или нет.Примечания Дизайн представления Domino также определяет количество столбцов для представления.Каждый столбец имеет формулу, которая применяется к выбранному документу для определения значения для этого столбца.

CouchDB способен создавать гораздо более сложные индексы представлений, чем Notes Domino.

CouchDB также имеет систему репликации.

-

Краткое содержание ( ТЛ;ДР ) :CouchDB — это совершенно новое программное обеспечение, в котором разрабатывается ядро, имеющее концептуальную концепцию, аналогичную той, что используется в Lotus Notes Domino, но гораздо более сложную конструкцию.Lotus Notes Domino — это зрелый полнофункциональный продукт, который можно развернуть уже сегодня.CouchDB начинает с нуля, создавая прочную основу для будущей разработки функций.Lotus Notes Domino продолжает разрабатывать новые функции, но делает это на платформе 20-летней давности, которая стремится поддерживать обратную совместимость.В Notes Domino есть функции, которые вы, возможно, хотели бы иметь в CouchDB, но в Notes Domino есть функции, которые в современном мире являются анахронизмом.

Другие советы

Это приложение Notes и пользовательский интерфейс, которые обычно ненавидят. Не архитектура позади.

Дэмиен Кац работал в Iris (Lotus), но он не был парнем из базы данных Notes. Он хорошо известен в сообществе Lotus Notes за редизайн механизма формул Notes .
Определенно есть некоторые сходства между CouchDB и Lotus Notes, такие как их ориентированные на документы, нереляционные данные и возможности репликации, но они скорее несопоставимы, чем похожи. CouchDB - это сервер базы данных, а Lotus Notes - платформа для совместной работы на уровне предприятия.

@Lex, вы должны заранее сказать, над какой версией Notes / Domino вы работаете, потому что ваши комментарии неверны.

" Нет поддержки транзакций " - Домино имеет транзакционную регистрацию. Если вы хотите более сложное ведение журнала транзакций, которое также доступно в кодировании.

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

" Нет разделения между производственной средой и средой разработки. " - Ложь. Единственный способ, которым это может быть правдой, - это если у вас плохо развернутая среда. Разработчики обычно должны иметь 0 прав для развертывания изменений дизайна в производственной среде. Они будут работать с шаблоном, который не реплицируется на основные серверы. Как только обновления сделаны и утверждены, администратор развертывает их. Они делают это, беря шаблон и подписывая его контролируемой подписью, разрешенной для запуска в рабочей среде, а затем сбрасывают шаблон и обновляют дизайн связанных приложений.

" Чем больше данных о лотосе содержится в данных, тем больше будет просмотров, " - Этот комментарий не имеет абсолютно никакого смысла. Я не верю, что вы использовали Notes / Domino для каких-либо профессиональных навыков.

" скрипт лотоса не является объектно-ориентированным " - Да, вы делаете хорошие очки там. Однако это не значит, что язык несовершенен. Также было сделано большое количество улучшений с 8.x и с 8.5.1. Например, встроенная поддержка веб-сервисов (укажите на WSDL и LS код для вас). 8.5.1 Также имеется много новых дизайнерских функций, таких как шаблоны кода, автозаполнение, всплывающая подсказка LSDoc для ваших собственных функций и т. Д.

Вы также касаетесь только LotusScript. Тем не менее, вы также можете кодировать в: Java, SSJS / DOJO (XPages), Javascript, язык @Formula, веб-службы (SOAP / REST), C-API, плагины Eclipse (RCP). Вывод в формате JSON и XML.

8.5.1 Клиент Designer теперь можно загрузить бесплатно, если вы хотите протестировать его.

Так что, хотя я считаю, что я не могу комментировать CouchDb, вы, скорее всего, не в Notes / Domino.

Клиент Lotus Notes / сервер Domino состоит из объекта («документ») - хранилища (не реляционного), имеет полностью интегрированную модель безопасности на основе сертификатов / управление пользователями и разрешение конфликтов для синхронизации автономных / онлайн-изменений в Данные - это платформа для распределенных приложений.

" CouchDB - ориентированный на документы нереляционный сервер управления базами данных (NRDBMS) & Quot;.

CouchDB доступен через API в стиле REST.

Интервью с подкастом Яна Ленхардта из команды CouchDB здесь .

Не возвращаясь и не слушая его снова, я полагаю, что Дэмиен Кац, который был инициатором и до сих пор является ведущим разработчиком CouchDB, также был парнем в базе данных Notes. Так что, в некотором смысле, CouchDB - лучшая база данных Notes. Он объясняет некоторые различия в его блоге .

Это похоже на то, как Notes работает с данными в том, что все является документом произвольной структуры, и у вас есть представления над этими документами, а не таблицы и записи, как в реляционной базе данных. Репликация и т. Д. Также имеет некоторые сходства.

В архитектуре сервера Notes нет ничего плохого, люди не так сильно это ненавидят. Это больше реализация и раздувание, которое идет с Notes.

CouchDB также не имеет внешнего интерфейса, только компонент сервера. Клиент Notes отстой, и это то, что люди ДЕЙСТВИТЕЛЬНО ненавидят. Вы когда-нибудь пытались отправить по электронной почте что-то, что я имею в виду "memo" из Notes? Не приятно: (

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top