powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / C++ [игнор отключен] [закрыт для гостей] / Пятничная база данных
25 сообщений из 64, страница 2 из 3
Пятничная база данных
    #39924513
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CEMb
Да, я бы почитал.

Почитай лучше эту книжку https://www.sql.ru/forum/1304163/literatura-i-dokumentaciya-po-sqlite-na-russkom-yazyke
...
Рейтинг: 0 / 0
Пятничная база данных
    #39924514
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ёёёёё
Почему именно FB, не Sqlite? Прежде всего потому что FB embedded разрешает параллельную/одновременную запись из разных потоков/процессов, ну и полноценная субд с транзакциями, развитым языком и т.д., в отличии от.

Одновременно писать не разрешает, т.к. в SQLite блокировка сразу всей БД происходит. Но оно и не надо особо, т.к. SQLite это локальная БД на стороне клиента, т.е. к ней обычно подключен один клиент.
Читать с разных потоков разрешает во время записи.
...
Рейтинг: 0 / 0
Пятничная база данных
    #39924747
ёёёёё
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T
Одновременно писать не разрешает, т.к. в SQLite блокировка сразу всей БД происходит.

И я об этом.
Dima T
Но оно и не надо особо, т.к.

Когда как.
Dima T
т.к. SQLite это локальная БД на стороне клиента, т.е. к ней обычно подключен один клиент.

О чем и речь. А с FB Embedded можно хоть так, хоть сяк: и локально, и без инсталляции, и одновременная запись.
А файл базы "потом" можно на "взрослый" сервер без доработок перенести, изменив лишь строку подключения на стороне клиента.
...
Рейтинг: 0 / 0
Пятничная база данных
    #39924756
YUBA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T
Одновременно писать не разрешает, т.к. в SQLite блокировка сразу всей БД происходит. Но оно и не надо особо, т.к. SQLite это локальная БД на стороне клиента, т.е. к ней обычно подключен один клиент.
Читать с разных потоков разрешает во время записи.
Я пишу из разных потоков разные таблицы. Эксцессов не заметил.
Что написано в документации сходу не скажу. Разбирался с этим давно.
...
Рейтинг: 0 / 0
Пятничная база данных
    #39924761
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ёёёёё
И я об этом
авторSQLite поддерживает три различных режима потоков:

Однониточный . В этом режиме все мьютексы отключены, и SQLite небезопасно использовать более чем в одном потоке одновременно.

Многопоточный . В этом режиме SQLite может безопасно использоваться несколькими потоками при условии, что ни одно соединение с базой данных не используется одновременно в двух или более потоках.

Сериализированные . В сериализованном режиме SQLite может безопасно использоваться несколькими потоками без ограничений.
...
Рейтинг: 0 / 0
Пятничная база данных
    #39924765
ёёёёё
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp,

продолжай держать руку на пульсе.
...
Рейтинг: 0 / 0
Пятничная база данных
    #39924767
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YUBA
Dima T
Одновременно писать не разрешает, т.к. в SQLite блокировка сразу всей БД происходит. Но оно и не надо особо, т.к. SQLite это локальная БД на стороне клиента, т.е. к ней обычно подключен один клиент.
Читать с разных потоков разрешает во время записи.
Я пишу из разных потоков разные таблицы. Эксцессов не заметил.
Что написано в документации сходу не скажу. Разбирался с этим давно.

И не заметишь, ну подождал немного один поток пока другой пишет, это не криминал.
...
Рейтинг: 0 / 0
Пятничная база данных
    #39924768
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T,
Обычно каждому потоку свой коннект.
Либо из пула берут по очереди.
...
Рейтинг: 0 / 0
Пятничная база данных
    #39924773
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ёёёёё
О чем и речь. А с FB Embedded можно хоть так, хоть сяк: и локально, и без инсталляции, и одновременная запись.
А файл базы "потом" можно на "взрослый" сервер без доработок перенести, изменив лишь строку подключения на стороне клиента.

Не готов спорить. C SQLite я только баловался и помогал tchingiz с переводом этой книги . С FB Embedded и с FB вообще ни разу не сталкивался. Поэтому мне сложно сказать почему SQLite популярен несмотря на то что есть FB Embedded, наверно есть причины.
...
Рейтинг: 0 / 0
Пятничная база данных
    #39924775
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ёёёёё
PetroNotC Sharp,

продолжай держать руку на пульсе.
не получится топить одну бд за счет другой, приводя детские аргументы.
...
Рейтинг: 0 / 0
Пятничная база данных
    #39924778
YUBA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
Dima T,
Обычно каждому потоку свой коннект.
Либо из пула берут по очереди.
Работаю из разных потоков с одним коннектом. Все тихо. Если бы что было не так, то это должно было быть видно, и должно было быть сплошь и рядом. Повторюсь - пишу из разных потоков в разные таблицы. Давно.
...
Рейтинг: 0 / 0
Пятничная база данных
    #39924779
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
Dima T,
Обычно каждому потоку свой коннект.
Либо из пула берут по очереди.

Речь была совсем про другое, про одновременную запись с разных потоков. FB Embedded может писать одновременно в разные места БД, SQLite не может, т.к. у первой постраничная блокировка, у второй блокируется сразу вся БД.
...
Рейтинг: 0 / 0
Пятничная база данных
    #39924784
ёёёёё
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T
Поэтому мне сложно сказать почему SQLite популярен несмотря на то что есть FB Embedded, наверно есть причины.

FB есть только для Win, Mac и Linux*; для андроида только экспериментальные сборки.
А SQLite работает абсолютно везде, очень простая, у нее крошечная библиотека для поддержки.
И - транзакции/ХП/триггеры нужны не всем, кому-то даже и мешают. :)
...
Рейтинг: 0 / 0
Пятничная база данных
    #39924786
ёёёёё
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T
PetroNotC Sharp
Dima T,
Обычно каждому потоку свой коннект.
Либо из пула берут по очереди.

Речь была совсем про другое, про одновременную запись с разных потоков. FB Embedded может писать одновременно в разные места БД, SQLite не может, т.к. у первой постраничная блокировка, у второй блокируется сразу вся БД.

Да.
...
Рейтинг: 0 / 0
Пятничная база данных
    #39924788
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YUBA
PetroNotC Sharp
Dima T,
Обычно каждому потоку свой коннект.
Либо из пула берут по очереди.
Работаю из разных потоков с одним коннектом. Все тихо. Если бы что было не так, то это должно было быть видно, и должно было быть сплошь и рядом. Повторюсь - пишу из разных потоков в разные таблицы. Давно.

Не будет изолированности транзакций.
Откатывать как будем?
Кроме того, драйвера не thread safe
...
Рейтинг: 0 / 0
Пятничная база данных
    #39924789
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T
Речь была совсем про другое, про одновременную запись с разных потоков.
Выше ответил.
...
Рейтинг: 0 / 0
Пятничная база данных
    #39924794
YUBA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp

Не будет изолированности транзакций.
Откатывать как будем?
Кроме того, драйвера не thread safe
Когда делал, смотрел доки SQLite. Не нашел противопоказаний.
Повторно уже не хочется разбираться. Задача уже давно решена.
...
Рейтинг: 0 / 0
Пятничная база данных
    #39924796
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YUBA
Давно
то есть ты взял коннект. Отдал в 100 потоков и они пошли писать параллельно?
А смысл какой брать один коннект?
У бд ПАРАЛЛЕЛИЗМ в соединениях.
...
Рейтинг: 0 / 0
Пятничная база данных
    #39924798
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YUBA
PetroNotC Sharp

Не будет изолированности транзакций.
Откатывать как будем?
Кроме того, драйвера не thread safe
Когда делал, смотрел доки SQLite. Не нашел противопоказаний.
Повторно уже не хочется разбираться. Задача уже давно решена.
да ради бога. Я не спорю.
Зачем.
Может ты сам разруливал руками и параллельного доступа не было. В очередь потоки строил.
Удачи!
...
Рейтинг: 0 / 0
Пятничная база данных
    #39924803
YUBA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
то есть ты взял коннект. Отдал в 100 потоков и они пошли писать параллельно?
А смысл какой брать один коннект?
У бд ПАРАЛЛЕЛИЗМ в соединениях.
Ну, не 100, а только 5-6.
А смысл брать много коннектов? Одна DLL, в ней один коннект на все операции с БД. В старых версиях SQLite это было невозможно, в новых ограничения сняты, насколько я понимаю.
...
Рейтинг: 0 / 0
Пятничная база данных
    #39924805
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
YUBA
Давно
то есть ты взял коннект. Отдал в 100 потоков и они пошли писать параллельно?
А смысл какой брать один коннект?
У бд ПАРАЛЛЕЛИЗМ в соединениях.

SQLite особенный, и соединения особенные, ты же уже ответил 22076971 , по дефолту соединения Сериализированные.
...
Рейтинг: 0 / 0
Пятничная база данных
    #39924812
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T,
Понятно. Там в этом режиме мьютексы внутри все разруливают.
Да, встроенный режим это особенная эксплуатация. Согласен.
...
Рейтинг: 0 / 0
Пятничная база данных
    #39924815
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YUBA
А смысл брать много коннектов?
бывает нужно для этого
https://ru.m.wikipedia.org/wiki/ACID
...
Рейтинг: 0 / 0
Пятничная база данных
    #39924824
YUBA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
бывает нужно для этого
https://ru.m.wikipedia.org/wiki/ACID
Почему это не может выполняться с одним коннектом. Тем более, что БД не препятствует такой работе.
...
Рейтинг: 0 / 0
Пятничная база данных
    #39924847
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YUBA,
Потому что буквально все эти фичи и свойства привязаны к одному коннекту.
Транзакция изолирована между двумя коннектами. Пока нет коммита в 1-ой, вторая не видит их на select.
...
Рейтинг: 0 / 0
25 сообщений из 64, страница 2 из 3
Форумы / C++ [игнор отключен] [закрыт для гостей] / Пятничная база данных
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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