Предложение для общей базы данных файлов

Я хотел бы создать и развернуть приложение базы данных для систем на базе Windows, но мне необходимо соблюдать следующие ограничения:

  1. Не может работать как сервер (т. Е. Иметь открытые порты);
  2. Должен иметь возможность обмениваться файлами базы данных с другими экземплярами программы (работающей на других машинах);
  3. Не должен требовать администратора базы данных для обслуживания;
  4. Без дополнительных затрат на рабочую лицензию.

Кроме того, хорошо иметь "особенности":

  1. Без установки (например, без записей в реестре, без необходимости помещать файлы в \ Windows \ ... и т. д.);
  2. «Разумная» производительность (да, это расплывчато);
  3. «Разумные» ограничения размера файла (минимум 1ГБ на таблицу / файл - на всякий случай).

Я видел этот вопрос    Встроенная база данных для .net, которая может работать вне сети но для меня это не совсем ответ.

Я видел Сайт VistaDB, но, хотя он выглядит многообещающим, у меня нет личного опыта с ним.

Я также посмотрел на SQLite, и хотя он кажется достаточно хорошим для Goggle, у меня (опять же) нет личного опыта с ним.

Я хотел бы использовать решение на основе Java, потому что оно кроссплатформенное (хотя моя основная цель - Windows, я бы хотел быть гибким), а WebStart - действительно хороший способ распространения программного обеспечения, но наиболее часто используемые БД (Derby и hsqldb) не поддерживает общий доступ.

Я знаю, что я не единственный, кто пытается / пытался это сделать, поэтому надеюсь, что смогу получить какой-нибудь совет.

ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
1
0
489
3

Ответы 3

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

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

JohnMeyers 20.09.2008 07:27

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

И моему приложению требуется, чтобы 2-3 пользователя одновременно обращались к этим файлам.

JohnMeyers 20.09.2008 07:59

Если у вас есть VStudio, как насчет версии SQL Server 3.5 Compact? MSSQL работает в процессе.

http://www.microsoft.com/sql/editions/compact/downloads.mspx

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

JohnMeyers 20.09.2008 17:28

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