2010-04-05 8 views
3

У меня есть следующие критерииКакую базу данных выбрать?

  • базы данных должны быть защищены с помощью имени пользователя и пароля. Невозможно скопировать файл базы данных и использовать его еще как MS Access.

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

  • Сильная консистенция не требуется. При необходимости пользователи будут синхронизировать друг с другом базу данных. В случае конфликтов должно быть возможно найти конфликт и представить его (от приложения) пользователю для его исправления.

  • Пересмотр данных, если доступно, будет хорошо. например Полная история изменения счета-фактуры.

  • Я исследовал базу данных, ориентированную на документ, и наклонена к тому же. Но я не знаю, что выбрать.

  • База данных небольшая, она не достигнет даже 1 ГБ в ближайшие несколько лет (скажем, 3 года).

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

Заранее благодарен.

+3

Точка пули 1 кажется невозможной для выполнения, если вы не используете централизованную базу данных. Как вы думаете, где локальная база данных будет хранить данные? Он должен куда-то заходить в файлы. –

+0

@ Майк Дэниелс: Могут быть зашифрованные файлы. – Thilo

+0

@ Тило: Хорошо, имеет смысл. Наверное, я рассматривал две части пули 1 как два отдельных требования. –

ответ

0

Ниже приводится один, который я ищу:

От official site: CouchDB является равноправной основой распределенных системы база данных, что позволяет пользователям и сервера для доступа и обновления же общих данных в то время как отключен , а затем в двух направлениях реплицировать эти изменения позже.

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

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

+0

Также есть ли какие-либо учебники о том, как настроить двунаправленную репликацию и как там разрешаются конфликты? – Thilo

+0

Я читал о репликации. Если нам нужна двунаправленная репликация, похоже, нам нужно инициировать репликацию с обеих сторон. Следующие ссылки могут помочь: http://books.couchdb.org/relax/reference/replication http://books.couchdb.org/relax/reference/conflict-management – Sundar

+0

Дополнительные ссылки: * http: // japhr.blogspot.com/2010/03/extreme-couchdb-replication.html * http://blog.couch.io/post/468392274/whats-new-in-apache-couchdb-0-11-part- три новых – Sundar

2

Я ищу то же самое. Еще не нашел. Интересным проектом в этом пространстве является Bestpractical's Prophet (и встроенный SD-трекер SD). Я не знаю, насколько он активен, и я не думаю, что он использует зашифрованный формат файла (но в вашем сценарии шифрование всего диска было бы приемлемым решением).

словом нагруженный шаг Пророк читает что-то вроде этого:

заземленных, semirelational, равный одноранговых репликаций, отсоединено, версионные, свойства базы данных с разрешением самовосстановления конфликта.

+3

+1 ... для поиска предложения с большим количеством слов, чем вся документация Microsoft в SharePoint. – 2010-04-05 04:03:50

+0

@pst: Re: buzzwords: Чтобы быть ясными, люди Пророка говорят об этом самим. «Продвинутый шаг Пророка» - это стенографическая цитата с сайта. – Thilo

+0

Благодарим вас за пророка. Вы проверяли CouchDB или MongoDB? Вы нашли что-нибудь из них подходящим. Последний выпуск Пророка был в августе-2009, что заставляет меня думать, что это может быть не активно развито в будущем, поэтому неохотно выбирать то же самое. Любой, как я попробую. – Sundar

0

Я сделал это, когда клиент вертикального рынка захотел использовать мою программу ClipMate для хранения и распространения медицинских данных и не хотел, чтобы данные выходили «в дикую природу».
Я использовал возможности шифрования базы данных (DBISAM от Elevatesoft, который имеет механизм, который компилируется непосредственно в программы Delphi) и возможность «аппаратной блокировки» моей защитной оболочки Armadillo.
Итак, когда кто-то покупает программу у клиента с вертикальным рынком, они получают приложение (скачать или компакт-диск) и устанавливают его. После установки они представлены с диалоговым окном регистрации, который показывает их «аппаратный отпечаток» (как сообщает Armadillo). Это происходит от их адреса ethernet, серийного номера процессора, серийного номера жесткого диска и т. Д., И я могу ошибаться в отношении любого из них, но это общая идея. Они вызывают это, и генерируется ключ, который уникален для этого компилятора конечного пользователя/машины. Ключ регистрации «разблокирует» базу данных, которая зашифрована, и ключ шифрования является частью регистрационного кода. Конечный пользователь не может использовать данные без ключа, и они не могут отдать или передать данные без получения другого кода разблокировки. Это довольно сложно. Было бы слишком раздражать для недорогого приложения, но они много подзаряжают за это, так что это того стоит.

В любом случае, чтобы развернуть: база данных зашифрована, и код шифрования доступен только (программе, читающей базу данных), когда программа правильно зарегистрирована на конкретном пользователе/​​компьютере.

Вы МОЖЕТЕ делать это с помощью Access, MySQL и т. Д. Просто зашифруйте данные, либо на уровне базы данных (я полагаю, они поддерживают это, нет?), Либо на уровне поля, если вы хотите получить максимальный контроль и в порядке с помощью пользовательского внешнего приложения, чтобы прочитать вещь.

+0

Что мешает пользователю использовать ключ шифрования с одной машины на другой? –

+0

@ Dietrich - он сказал, что ключ сопоставлен с аппаратным отпечатком –

+0

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