it-swarm.dev

Czy można używać SQLite jako bazy danych klient-serwer?

Czy są jakieś techniki lub narzędzia do pracy z SQLite w środowisku DB o średniej wielkości/ruchu/współbieżności?

32
Maniero

SQLite jest osadzoną bazą danych i nie jest przeznaczona do użycia jako baza danych klient/serwer. Jeśli naprawdę chcesz, możesz użyć SQLitening .

Co to jest SQLitening

SQLitening to implementacja bardzo popularnej bazy danych SQLite typu klient/serwer.

SQLitening to biblioteka programisty w standardowym formacie Win32 DLL. Jest instalowana jako standardowa usługa systemu Windows. Oprócz trybu klient/serwer biblioteka umożliwia programiście również dostęp do baz danych SQLite w trybie lokalnym W obu trybach (lokalny lub klient/serwer) baza danych jest wyjątkowo szybka i niezawodna - Źródło: http://www.planetsquires.com/sqlite_client_server.htm

25
Giorgi

Jak wspomniano wcześniej, sqlite nie jest aplikacją klient-serwer i nie jest budowany do wysoce współbieżnych operacji.

Niemniej jednak możesz „zrobić to klient-serwer”, jeśli używasz ssh.

ssh [email protected] sqlite3 databasefile select * from table

pracuje.

17
ddeimeke

Nie, SQLite nie przedstawia punktu końcowego sieci - jest dostępny tylko przez system plików. To obsługuje współbieżny dostęp z wielu procesów na tym samym komputerze, ale na bardzo gruboziarnistym poziomie (DML blokuje całą tabelę). Tak więc możesz mieć tuzin procesów Apache httpd, wszystkie z otwartą bazą danych SQLite na dysku lokalnym, wszyscy robią SELECTs i wszystko będzie dobrze. Ale tak naprawdę to niewłaściwe narzędzie do pracy - użyłbym Postgres w tym scenariuszu.

4
Gaius

Oprogramowanie Paradigma wprowadza Valentina Server 6.0 (obecnie w fazie testów beta), czyli 3 w 1:

  • Valentina DB Server
  • Valentina SQLite Server
  • Serwer raportów Valentina

Serwer SQLite korzysta z silnika SQLite bez zmian, włączony WAL. Serwer SQLite działa na 3 systemach operacyjnych: Mac, Win, Linux .

Możesz używać Valentina Studio (darmowa) do zarządzania tym serwerem DB, a także mySQL, postgreSQL, SQLite, MS SQL. Działa również jako natywna aplikacja C++ na 3 systemach operacyjnych.

Serwer SQLite zawiera takie funkcje, jak: SSL, ACL, kopie zapasowe, REST API, kanały powiadomień, JSON, XML.

W tej chwili dostęp do tego serwera można uzyskać z C++, Xojo i LiveCode. Wkrótce zostaną dodane PHP, Java, .NET.

Darmowa wersja Valentina Server obejmuje

  • 10 połączeń z bazami SQLite
  • 5 połączeń z centralami Valentina
  • 5 połączeń z Valentina Reports

Szczegóły można przeczytać w artykuł .

3
Ruslan Zasukhin

SQLabs oferuje komercyjny produkt o nazwie cubeSQL , który może odpowiadać Twoim potrzebom.

2
dwurf

Możesz zhakować coś razem używając netcat , ale nie mogę sobie wyobrazić, że byłoby to bardzo eleganckie rozwiązanie.

1
TML