Вопрос

Я знаю две известные документоориентированные системы:Сервер Sharepoint и Lotus Notes.Должны быть и другие.Например, я слышал о CouchDB.Каковы основные различия реализации и как они влияют:

Удобство использования

Производительность поиска

Эффективность/качество поиска

Расширяемость/интеграция

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

Дополнительный бонус:Есть ли какая-то причина, по которой так трудно найти документацию по Lotus Notes?Буду признателен за некоторые подсказки.

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

Решение

Lotus Notes хранит все данные в файлах NSF.Файл NSF представляет собой контейнер для документов Notes, которые представляют собой неструктурированные записи.Каждый документ может содержать любое количество элементов, аналогично таблицам и столбцам реляционной базы данных.Однако, в отличие от реляционных баз данных, на уровне модели данных нет ограничений на то, какие элементы должен иметь документ, поэтому каждый отдельный документ может содержать внутри совершенно разные данные.

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

Сильными сторонами Notes являются простота сбора данных с помощью форм и вывода данных с помощью представлений, XML, HTML, Java-сервлетов и т. д.Он легко управляет распределенными данными через мощную систему репликации.Он также высоко ценится за встроенную безопасность.

CouchDB, созданный бывшим сотрудником Iris/Lotus/IBM Дэмиеном Кацем, обладает многими из тех же сильных сторон, но без накладных расходов и затрат, присущих Lotus Notes.

Документ Word может вызвать путаницу в мире Lotus Notes.Файловые документы, такие как PDF-файлы, документы Word, файлы Excel и т. д., хранятся в документах Lotus Notes как часть неструктурированных данных.

SharePoint хранит данные на сервере SQL.Его данные основаны на списках с дополнительной возможностью хранить файловые документы на сервере, а также поддерживать метаинформацию о них.

Список SharePoint во многом похож на плоскую таблицу, но в отличие от Lotus Notes этот список имеет ограничения на данные.

Данные SharePoint собираются и предоставляются в основном через веб-интерфейс, но существует множество способов доступа к данным, таких как SharePoint API, веб-службы, XML и даже непосредственно с SQL-сервера (не рекомендуется).

Удобство использования:Для конечных пользователей оба имеют здесь высокие позиции.SharePoint полностью основан на веб-технологиях, и конечные пользователи могут легко управлять сайтом SharePoint самостоятельно, не требуя особого обучения.Для Lotus Notes требуется клиент Notes или приложение Domino, которое должно быть создано для доступа через Интернет.Для разработчиков Notes проще в использовании, но он необычен и использует собственные языки — язык Notes Formula и LotusScript.SharePoint вообще не требует написания кода для некоторых основных рабочих процессов и манипуляций с сайтом, но чтобы получить серьезный контроль, вам нужно быть разработчиком .NET, и код может быть очень сложным.

Производительность поиска:Для небольших проектов Lotus Notes подходит очень хорошо.Очень большие базы данных, содержащие более 10 000 документов, имеют тенденцию снижать производительность.SharePoint использует SQL-сервер, поэтому он может легко обрабатывать очень большое количество списков или файлов в своем хранилище данных.

Эффективность/качество поиска:Оба имеют хорошие возможности поиска, но SharePoint выигрывает, если вы пытаетесь найти большое количество документов.

Расширяемость/интеграция:SharePoint является более расширяемым.Однако оба могут легко интегрироваться с другими системами, использующими XML.Notes также можно интегрировать с помощью агентов/сервлетов Java и веб-служб.У SharePoint есть API веб-служб и сторонние надстройки для интеграции.

Бонус:Lotus Notes в настоящее время не так популярен, как SharePoint.Существуют ключевые места для документации, такие как www.notes.net и различные блоги разработчиков.

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

Sharepoint делает именно то, что вы говорите.Он построен на основе реляционной базы данных и предлагает нечто похожее на файловую систему с веб-интерфейсом.Это хранилище документов в первую очередь ориентировано на интеграцию с Office и является лишь небольшой частью Sharepoint.

Системы баз данных на основе документов.Как CouchDB или Amazon S3 — это разные звери.Они хранят данные менее структурировано, чем реляционные базы данных.В основном в виде пар ключ-документ.Вы можете извлекать документы по ключу или путем запроса, но поскольку документы не имеют единой структуры, как строки в таблице в реляционной базе данных, запросы могут быть более трудными.Эти базы данных на самом деле не предназначены для использования как реляционные базы данных, они больше ориентированы на масштабируемость для крупных веб-серверов и т. д.

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

Что ж, Sharepoint хранит свои данные/списки/документы/что угодно в реляционной базе данных (неудивительно, что SQL Server...) вместе с «украшениями» метаданных.Судя по слухам (сам не разбирался в этом), модель данных настолько запутана, что вам приходится использовать предоставленный C# API, чтобы делать что-либо с данными (что может быть хорошо или плохо, в зависимости от ваших предпочтений). и цели).

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