Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / C++ |
![]() ![]() |
Топик располагается на нескольких страницах: ←Ctrl назад 1 [2] 3 вперед Ctrl→ все |
Dima T Member Откуда: Сообщений: 15686 |
Почитай лучше эту книжку https://www.sql.ru/forum/1304163/literatura-i-dokumentaciya-po-sqlite-na-russkom-yazyke |
||||
10 фев 20, 07:26 [22076497] Ответить | Цитировать Сообщить модератору |
Dima T Member Откуда: Сообщений: 15686 |
Одновременно писать не разрешает, т.к. в SQLite блокировка сразу всей БД происходит. Но оно и не надо особо, т.к. SQLite это локальная БД на стороне клиента, т.е. к ней обычно подключен один клиент. Читать с разных потоков разрешает во время записи. |
||||
10 фев 20, 07:43 [22076498] Ответить | Цитировать Сообщить модератору |
ёёёёё Member Откуда: Сообщений: 2017 |
И я об этом.
Когда как.
О чем и речь. А с FB Embedded можно хоть так, хоть сяк: и локально, и без инсталляции, и одновременная запись. А файл базы "потом" можно на "взрослый" сервер без доработок перенести, изменив лишь строку подключения на стороне клиента. |
||||||||||||
10 фев 20, 16:27 [22076943] Ответить | Цитировать Сообщить модератору |
YUBA Member Откуда: Сообщений: 788 |
Что написано в документации сходу не скажу. Разбирался с этим давно. |
||||
10 фев 20, 16:49 [22076963] Ответить | Цитировать Сообщить модератору |
PetroNotC Sharp Member Откуда: Сообщений: 7634 |
|
||||||
10 фев 20, 16:59 [22076971] Ответить | Цитировать Сообщить модератору |
ёёёёё Member Откуда: Сообщений: 2017 |
PetroNotC Sharp, продолжай держать руку на пульсе. |
10 фев 20, 17:03 [22076976] Ответить | Цитировать Сообщить модератору |
Dima T Member Откуда: Сообщений: 15686 |
И не заметишь, ну подождал немного один поток пока другой пишет, это не криминал. |
||||||||
10 фев 20, 17:19 [22076982] Ответить | Цитировать Сообщить модератору |
PetroNotC Sharp Member Откуда: Сообщений: 7634 |
Dima T, Обычно каждому потоку свой коннект. Либо из пула берут по очереди. |
10 фев 20, 17:21 [22076984] Ответить | Цитировать Сообщить модератору |
Dima T Member Откуда: Сообщений: 15686 |
Не готов спорить. C SQLite я только баловался и помогал tchingiz с переводом этой книги. С FB Embedded и с FB вообще ни разу не сталкивался. Поэтому мне сложно сказать почему SQLite популярен несмотря на то что есть FB Embedded, наверно есть причины. |
||||
10 фев 20, 17:30 [22076995] Ответить | Цитировать Сообщить модератору |
PetroNotC Sharp Member Откуда: Сообщений: 7634 |
|
||||
10 фев 20, 17:32 [22076997] Ответить | Цитировать Сообщить модератору |
YUBA Member Откуда: Сообщений: 788 |
|
||||
10 фев 20, 17:33 [22077001] Ответить | Цитировать Сообщить модератору |
Dima T Member Откуда: Сообщений: 15686 |
Речь была совсем про другое, про одновременную запись с разных потоков. FB Embedded может писать одновременно в разные места БД, SQLite не может, т.к. у первой постраничная блокировка, у второй блокируется сразу вся БД. |
||||
10 фев 20, 17:34 [22077003] Ответить | Цитировать Сообщить модератору |
ёёёёё Member Откуда: Сообщений: 2017 |
FB есть только для Win, Mac и Linux*; для андроида только экспериментальные сборки. А SQLite работает абсолютно везде, очень простая, у нее крошечная библиотека для поддержки. И - транзакции/ХП/триггеры нужны не всем, кому-то даже и мешают. :) |
||||
10 фев 20, 17:37 [22077008] Ответить | Цитировать Сообщить модератору |
ёёёёё Member Откуда: Сообщений: 2017 |
Да. |
||||||||
10 фев 20, 17:37 [22077010] Ответить | Цитировать Сообщить модератору |
PetroNotC Sharp Member Откуда: Сообщений: 7634 |
Не будет изолированности транзакций. Откатывать как будем? Кроме того, драйвера не thread safe |
||||||||
10 фев 20, 17:38 [22077012] Ответить | Цитировать Сообщить модератору |
PetroNotC Sharp Member Откуда: Сообщений: 7634 |
|
||||
10 фев 20, 17:39 [22077014] Ответить | Цитировать Сообщить модератору |
YUBA Member Откуда: Сообщений: 788 |
Повторно уже не хочется разбираться. Задача уже давно решена. |
||||
10 фев 20, 17:45 [22077022] Ответить | Цитировать Сообщить модератору |
PetroNotC Sharp Member Откуда: Сообщений: 7634 |
А смысл какой брать один коннект? У бд ПАРАЛЛЕЛИЗМ в соединениях. |
||||
10 фев 20, 17:46 [22077024] Ответить | Цитировать Сообщить модератору |
PetroNotC Sharp Member Откуда: Сообщений: 7634 |
Зачем. Может ты сам разруливал руками и параллельного доступа не было. В очередь потоки строил. Удачи! |
||||||||
10 фев 20, 17:47 [22077026] Ответить | Цитировать Сообщить модератору |
YUBA Member Откуда: Сообщений: 788 |
А смысл брать много коннектов? Одна DLL, в ней один коннект на все операции с БД. В старых версиях SQLite это было невозможно, в новых ограничения сняты, насколько я понимаю. |
||||
10 фев 20, 17:52 [22077032] Ответить | Цитировать Сообщить модератору |
Dima T Member Откуда: Сообщений: 15686 |
SQLite особенный, и соединения особенные, ты же уже ответил 22076971, по дефолту соединения Сериализированные. |
||||||||
10 фев 20, 17:53 [22077034] Ответить | Цитировать Сообщить модератору |
PetroNotC Sharp Member Откуда: Сообщений: 7634 |
Dima T, Понятно. Там в этом режиме мьютексы внутри все разруливают. Да, встроенный режим это особенная эксплуатация. Согласен. |
10 фев 20, 18:01 [22077041] Ответить | Цитировать Сообщить модератору |
PetroNotC Sharp Member Откуда: Сообщений: 7634 |
https://ru.m.wikipedia.org/wiki/ACID |
||||
10 фев 20, 18:03 [22077044] Ответить | Цитировать Сообщить модератору |
YUBA Member Откуда: Сообщений: 788 |
|
||||
10 фев 20, 18:08 [22077054] Ответить | Цитировать Сообщить модератору |
PetroNotC Sharp Member Откуда: Сообщений: 7634 |
YUBA, Потому что буквально все эти фичи и свойства привязаны к одному коннекту. Транзакция изолирована между двумя коннектами. Пока нет коммита в 1-ой, вторая не видит их на select. |
10 фев 20, 18:35 [22077081] Ответить | Цитировать Сообщить модератору |
Топик располагается на нескольких страницах: ←Ctrl назад 1 [2] 3 вперед Ctrl→ все |
Все форумы / C++ | ![]() |