SQL запрос в SQLite - страница 14

 
Yuriy Zaytsev #:
Кстати 4 тб базу не пробовали бэкапить на   PostgreSQL  , а на MSSQL ?

Слэйв не?

 
Yuriy Zaytsev #:

Не это ли Жигули?

 

Всем спасибо за рекомендации, но Вы все не совсем верно, видимо, поняли изначальную задачу.

База, для моих нужд, совсем маленькая все данные в общей с сложности будут не более 15-20 мБ

Для моих нужд нужна база, которая просто  БЫСТРО записывает ОДНИМ соединением записи и

100-150 соединений для чтения.

И эти соединения не должны вызывать конфликтов, при обращении к базе.

SQLite нормально справляется с этими задачами, за исключением непредвиденных конфликтов.

База будет располагаться в оперативной памяти, сейчас она на диске.

Я, сначала, написал что-то типа базы на Дженириках, но Mutex(сы) убивали всю скорость,

поэтому я перешел на базу. С базой все гораздо проще, и в плане визуализации тоже.

Добавлено

Кстати, разработчики терминала Срочного рынка MOEX, тоже используют SQLite, но

они только пишут в базу и отображают информацию в таблицах

 
prostotrader #:

Всем спасибо за рекомендации, но Вы все не совсем верно, видимо, поняли изначальную задачу.

База, для моих нужд, совсем маленькая все данные в общей с сложности будут не более 15-20 мБ

Для моих нужд нужна база, которая просто  БЫСТРО записывает ОДНИМ соединением записи и

100-150 соединений для чтения.

И эти соединения не должны вызывать конфликтов, при обращении к базе.

SQLite нормально справляется с этими задачами, за исключением непредвиденных конфликтов.

База будет располагаться в оперативной памяти, сейчас она на диске.

Я, сначала, написал что-то типа базы на Дженириках, но Mutex(сы) убивали всю скорость,

поэтому я перешел на базу. С базой все гораздо проще, и в плане визуализации тоже.

Добавлено

Кстати, разработчики терминала Срочного рынка MOEX, тоже используют SQLite, но

они только пишут в базу и отображают информацию в таблицах

100-500 читателей при 10-20 (хоть 2-3,но одномоментно более одного) писателей это точно не SQLite

к сожалению.

 

попробуйте пока просто RWLock обойтись,

а вот когда будет уверенность в руках и голове - переехать на другую базу.

PS/ я-бы помог кодом, но дельфи вообще мимо меня прошло...

 
Maxim Kuznetsov #:

100-500 читателей при 10-20 (хоть 2-3,но одномоментно более одного) писателей это точно не SQLite

к сожалению.

Один писатель - много читателей.

Сейчас все работает (1 писатель и 106 читателей), но, иногда вылетает

Виновата именно сама база

 

Я еще попробую изменить настройки читателей,

Сейчас я делаю просто клон-соединения, без изменения настроек, т.е

все соединения и писателя и читателей - одинаковые.

Попробую изменить настройки читателей.

Если не поможет, буду менять базу

 
JRandomTrader #:

Не это ли Жигули?

Postgre Жигули, без кондиционера и подушек безопасности ,  в сравнении с MSSQL 
 
JRandomTrader #:

Слэйв не?

нет 

 

Я не стал заморачиваться с другими базами, а сделал повтор(ы) транзакции, если база locked

//--- Transactions ---
procedure TStorageForm.TryStartTrans(const aConn: TFDConnection);
begin
  try
    aConn.StartTransaction;
  except
    Sleep(Random(10));
    TryStartTrans(aConn);
  end;
end;

procedure TStorageForm.TryStartChildTrans(const aConn: TFDCustomConnection);
begin
  try
    aConn.StartTransaction;
  except
    Sleep(Random(10));
    TryStartChildTrans(aConn);
  end;
end;

Пока, все работает

Второй час пошел...