Чи можливо використовувати SQLite як базу даних клієнт-сервер? [зачинено]


32

Чи є якісь методи або інструменти для роботи з SQLite в середовищі БД середнього розміру / трафіку / одночасності?


3
Чи можете ви навести причину, чому це було б корисно мати? Інакше я думаю, що це заслуговує на закриття, оскільки це не справжнє питання. SQLite не є базою даних клієнт-сервер і реально продається натовпу, якому не потрібна база даних клієнт-сервер.
jcolebrand

1
@Eelke, хоча це вже не вірно в режимі WAL від версії 3.7 - одночасно може бути лише одне, але "читачі не блокують авторів, а письменник не блокує читачів"
Джек Дуглас

1
Між іншим, у Вікіпедії зараз, здається, є така помилка
Джек Дуглас

2
Чому? Я думаю, ви повинні визначити свої вимоги ... і, можливо, ви знайдете більш підходящу базу даних ...
AK_

3
@AK_ Основні вимоги - повна ACID та дуже проста база даних для розробки та використання. Ми створили власну версію для роботи як клієнт-сервер, і результат просто вражаючий! Люди недооцінюють потенціал SQLite і завищують потребу в одночасності малих компаній. Людям потрібно відкрити розум. Дотримуйтесь рецепту - не єдиний шлях. Зараз у нас є товар без конкуренції на нашому ринку.
Маньєро

Відповіді:


25

SQLite - це вбудована база даних, і вона не призначена для використання як КД клієнт / сервер. Якщо ви дійсно хочете, ви можете використовувати SQLitening .

Що таке SQLitening

SQLitening - це реалізація дуже популярної бази даних SQLite клієнт / сервер.

SQLitening - бібліотека програміста в стандартній формі Win32 DLL. Він встановлюється як стандартний сервіс Windows. Крім режиму клієнт / сервер, бібліотека дозволяє програмісту також отримувати доступ до баз даних SQLite в локальному режимі. В будь-якому режимі (локальний або клієнт / сервер) база даних надзвичайно швидка і надійна. - Джерело: http://www.planetsquires.com/sqlite_client_server.htm


4
Чи можете ви розробити або надати посилання на те, що таке SQLitening? Це посилання йде на форум, і він не має жодного слова про те, що це насправді.
develCuy

17

Як було сказано раніше, sqlite не є клієнт-серверним додатком, і він не створений для операцій, що ведуть одночасно.

Тим не менш, ви можете "зробити його клієнтом-сервером", якщо ви використовуєте ssh.

ssh user@host sqlite3 databasefile select * from table

працює.


1
Це вважається "клієнт-сервер", оскільки ви зашифрували з'єднання?
Роберт Харві

Ні, це лише через мережу між машиною, яка розміщує db, і машиною, що отримує доступ до db.
ddeimeke

4

Ні, SQLite не представляє кінцевої точки мережі - вона доступна лише через файлову систему. Він робить одночасно підтримує доступ декількох процесів на тій же машині , але при дуже крупнозернистий рівні (DML блокує всю таблицю). Таким чином, у вас може бути десяток оброблюваних Apache httpd процесів із відкритою базою даних SQLite на локальному диску, і все SELECTце буде добре. Але насправді це неправильний інструмент для роботи - я б використовував Postgres в цьому сценарії.


1
блокує цілу таблицю Тільки коли ви пишете на ній, не читаючи багато
процесорів,

3

Paradigma Software представляє Valentina Server 6.0 (зараз у бета-тестуванні), що становить 3 в 1:

  • Валентина БД Сервер
  • Валентина SQLite Server
  • Сервер звітів Валентина

SQLite Server використовує двигун SQLite без змін, включений WAL. SQLite Server працює на трьох ОС: Mac, Win, Linux .

Ви можете використовувати додаток Valentina Studio (безкоштовний) для управління цим сервером БД, а також mySQL, postgreSQL, SQLite, MS SQL. Він також працює як рідний C ++ додаток на 3 ОС.

SQLite Server містить такі функції, як: SSL, ACL, резервне копіювання, API REST, канали сповіщень, JSON, XML.

Зараз доступ до цього сервера можна зробити з C ++, Xojo та LiveCode. Незабаром будуть додані PHP, Java, .NET.

Безкоштовна версія Valentina Server включає

  • 10 підключень до SQLite БД
  • 5 підключень до БД Валентини
  • 5 підключень до Valentina Reports

Детально ви можете прочитати в статті .



1

Ви можете зламати щось разом, використовуючи netcat , але я не можу уявити, що це було б дуже елегантне рішення.


-5

Ви можете скористатися послугою, подібною до папки . Є власні рішення. Однак SQLite3 не створений для моделі клієнт-сервер. Вам краще з іншими рішеннями, які були розроблені на основі моделі клієнт-сервер.


5
Dropbox та інші послуги синхронізації файлів НЕ вирішують цю проблему. Dropbox не містить жодної логіки щодо об'єднання змін у базі даних, які одночасно записують кілька користувачів. Кінцевим результатом будуть втрачені дані, робота та час.
jptros
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.