powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Embedded databases = no concurrent connections ?
6 сообщений из 6, страница 1 из 1
Embedded databases = no concurrent connections ?
    #36112404
Chys
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Правильно ли я понимаю, что embedded бд создаются с расчетом, что пользовать такую бд будет только одно application? То есть они не поддерживают concurrent connections? И если в проекте есть хотя бы два application, которые работают с бд, про embedded database можно забыть?

Интересная бд SQLite. Вроде как ее не советуют, если есть concurrent connections, но автор про нее пишет: "Of those (database engines) that are serverless, SQLite is the only one that this author knows of that allows multiple applications to access the same database at the same time" . Хотя тут же на той же странице говорит о database engine that uses a server: "... because a server is a single persistent process, it is able control database access with more precision, allowing for finer grain locking and better concurrency."
...
Рейтинг: 0 / 0
Embedded databases = no concurrent connections ?
    #36112631
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ChysПравильно ли я понимаю, что embedded бд создаются с расчетом, что пользовать такую бд будет только одно application? То есть они не поддерживают concurrent connections? И если в проекте есть хотя бы два application, которые работают с бд, про embedded database можно забыть?

Ну, раньше думал, что то, что Вы описали - однопользовательская. А вот embedded database куда-то типа встроенная. Думаю, что существуют различные взгляды от - типа встроена в программу - и низя с помощью других программ управлять ею, до всяких там типа лицензионных каких-то соглашений, определенным образом ограничивающих управление БД в системе, будь то хоть там система с Оракловой БД, сервером приложение и доброй сотней клиентов.
Впрочем, перегруженность терминов как бы нормальное дело в ИТ.
...
Рейтинг: 0 / 0
Embedded databases = no concurrent connections ?
    #36112715
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть два типа понятия embedded СУБД

1. когда дистрибутив СУБД очень мал, но тем не менее является самодостаточным. Т.е. эдакий "микро-сервер". В этом случае обычно много приложений могут работать одновременно с таким сервером, как с обычным.

2. когда ядро СУБД поставляется в виде shared library - dll для Windows или so для Linux. В этом случае СУБД сама по себе (dll) работать не может, и может быть только прилинкована к приложению (exe). А если несколько exe одновременно попытаются подсоединиться к одному файлу БД, то получится не клиент-сервер, а файл сервер.
То есть, если сама встраиваемая СУБД является файл-сервером, то при многих exe ок. А вот если она клиент-серверная (например Firebird embedded), то облом. Потому что в последнем случае dll+exe и есть сервер СУБД. А несколько серверов (клиент-серверных) с одной БД обычно работать не могут.

Исходя из Вашей цитаты про SQLLite, приходим к выводу, что эта СУБД не клиент-серверная, а файл-серверная. Так оно и есть, собственно, тем более что SQLLite как отдельная самодостаточная БД (без exe) не существует.
...
Рейтинг: 0 / 0
Embedded databases = no concurrent connections ?
    #36112925
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chys пишет:
> Правильно ли я понимаю, что embedded бд создаются с расчетом, что
> пользовать такую бд будет только одно application? То есть они не
> поддерживают concurrent connections?

Не обязательно. Думаю, кто-то поддерживает, кто-то может и нет.

И если в проекте есть хотя бы два
> application, которые работают с бд, про embedded database можно забыть?

Нет. Точно нет. Разные есть СУБД, и по-разному они embedded.
В принципе, embedded СУБД - это обычно библиотека, с которой
линкуентся приложение. Потом, когда оно запускается, часть
этого приложения работает как сервер БД. Из этого приложения
можно устанавливать внутренние коннекции к внутреннему серверу,
возможно, только одну, возможно несколько. Также возможно,
что внутренний сервер предоставляет возможность делать соединения
к БД извне, для внешних приложений. Т.е. для внешних приложений
ваше приложение выглядит ещё и как сервер СУБД. По крайней мере
одну СУБД, работающую по такой схеме я знаю.

> Интересная бд SQLite. Вроде как ее не советуют,

Про неё я к сожалению не знаю ничего.

Есть ещё MYSQL в embedded, кажется есть InterBase.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Embedded databases = no concurrent connections ?
    #36114056
Chys
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZivТ.е. для внешних приложений ваше приложение выглядит ещё и как сервер СУБД. По крайней мере одну СУБД, работающую по такой схеме я знаю.
Я так понимаю из бесплатных бд MS SQL Server Compact работает по такой схеме?
...
Рейтинг: 0 / 0
Embedded databases = no concurrent connections ?
    #36114872
landy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Embedded databases = no concurrent connections ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]