SQLite'ı istemci-sunucu veritabanı olarak kullanmak mümkün müdür? [kapalı]


32

SQLite ile çalışmak için orta boy / trafik / eşzamanlılık DB ortamında herhangi bir teknik veya araç var mı?


3
Bunun olması için faydalı bir şey olmasının bir nedeni olabilir misiniz? Aksi takdirde gerçek bir soru olarak kapanmayı hak etmediğini düşünüyorum. SQLite bir istemci-sunucu veritabanı değildir ve gerçekten bir istemci-sunucu veritabanına ihtiyaç duymayan kalabalığa pazarlanmaktadır .
jcolebrand

1
@Eelke , sürüm 3.7'den itibaren WAL modunda artık doğru olmasa da - bir seferde yalnızca bir yazı olabilir, ancak "okuyucular yazarları engellemez ve bir yazar okurları engellemez"
Jack Douglas

1
tesadüfen, Wikipedia şu anda bu yanlış görünüyor
Jack Douglas

2
Niye ya? İhtiyaçlarınızı tanımlamanız gerektiğini düşünüyorum ... ve belki de daha uygun bir veri tabanı bulacaksınız ...
AK_

3
@ AK_ Ana gereksinimler tam ACID ve geliştirmek ve kullanmak için çok basit bir veritabanıdır. İstemci-sunucu olarak çalışmak için özel bir sürüm geliştirdik ve sonuç çok şaşırtıcı! İnsanlar SQLite kapasitesinden yararlanıyor ve küçük şirketlerle eşzamanlılık ihtiyacını aşıyor. İnsanların zihin açması gerekir. Tarifi takip etmenin tek yolu bu değil. Şimdi pazarımızda rekabeti olmayan bir ürünümüz var.
Maniero

Yanıtlar:


25

SQLite gömülü bir veritabanıdır ve istemci / sunucu DB olarak kullanılması amaçlanmamıştır. Gerçekten istiyorsan SQLitening'i kullanabilirsin .

SQLitening Nedir?

SQLitening, en popüler SQLite veritabanının bir istemci / sunucu uygulamasıdır.

SQLitening, standart Win32 DLL formundaki bir programcının kütüphanesidir. Standart bir Windows Hizmeti olarak yüklenir. İstemci / sunucu moduna ek olarak, kütüphane programcının yerel modda SQLite veritabanlarına da erişmesini sağlar. Her iki modda (yerel veya istemci / sunucu), veritabanı son derece hızlı ve sağlamdır. - Kaynak: http://www.planetsquires.com/sqlite_client_server.htm


4
SQLitening Nedir? İle ilgili ayrıntılı bilgi verebilir veya link verebilir misiniz? Bu bağlantı bir foruma gider ve gerçekte ne olduğu hakkında bir kelime yoktur.
develCuy

17

Sqlite'nin daha önce de belirtildiği gibi, bir istemci-sunucu uygulaması değil ve aynı anda yüksek işlemler için üretilmemiştir.

Yine de, eğer ssh kullanıyorsanız, "bunu istemci-sunucu yapabilirsiniz".

ssh user@host sqlite3 databasefile select * from table

Eserleri.


1
Bağlantıyı şifrelediğiniz için bu "istemci-sunucu" olarak mı kabul edilir?
Robert Harvey,

Hayır, sadece db'yi barındıran makine ile db'ye erişen makine arasındaki bir ağdan dolayıdır.
ddeimeke

4

Hayır, SQLite bir ağ bitiş noktası sunmaz - yalnızca dosya sisteminden erişilebilir. Bu yapar aynı makinede ama çok kaba taneli düzeyinde birden fazla işlem (DML bütün bir tablo kilitler) eşzamanlı erişim desteği. Böylece bir düzine Apache httpd, yerel diskte açık olan bir SQLite veritabanı ile işlenir, hepsi SELECTçalışır ve her şey yolunda gider. Ama gerçekten, bu iş için yanlış bir araç - bu senaryoda Postgres kullanırdım .


1
bütün bir masayı kilitler Sadece üzerine yazarken okumayan pek çok
işlemci

3

Paradigma Yazılımı, Valentina Server 6.0'ı (şimdiki beta testinde), 3'ü 1 arada:

  • Valentina DB Sunucusu
  • Valentina SQLite Sunucusu
  • Valentina Rapor Sunucusu

SQLite Server, WAL etkin, değişiklik yapmadan SQLite motorunu kullanır. SQLite Server 3 işletim sistemi üzerinde çalışıyor : Mac, Win, Linux .

Bu DB Sunucusunu ve mySQL, postgreSQL, SQLite, MS SQL yöneticilerini yönetmek için Valentina Studio (ücretsiz) uygulamasını kullanabilirsiniz. Ayrıca 3 işletim sistemi üzerinde yerli C ++ uygulamasıyla da çalışır.

SQLite Server, SSL, ACL, Yedeklemeler, REST API, Bildirim Kanalları, JSON, XML gibi özellikleri içerir.

Şu anda bu sunucuya erişim C ++, Xojo ve LiveCode'dan yapılabilir. Yakında PHP, Java, .NET eklenecektir.

Valentina Sunucunun ücretsiz sürümü şunları içerir:

  • SQLite DB'lere 10 bağlantı
  • Valentina DBs için 5 bağlantı
  • Valentina Reports'a 5 bağlantı

Makalede okuyabileceğiniz detaylar .



1

Netcat kullanarak bir şeyi birlikte kesebilirsiniz, ancak bunun çok zarif bir çözüm olacağını düşünemiyorum.


-5

Dropbox'a benzer bir servis kullanabilirsiniz . Orada kendi kendine barındırılan çözümler. Ancak, bir istemci-sunucu modeli için SQLite3 oluşturulmadı. İstemci-sunucu modeliyle geliştirilen diğer çözümlerle daha iyi olursunuz.


5
Dropbox ve diğer dosya senkronizasyon hizmetleri bu soruna bir çözüm DEĞİLDİR. Dropbox, birden fazla kullanıcının aynı anda yazdığı bir veritabanındaki değişiklikleri birleştirme konusunda herhangi bir mantık içermez. Sonuç, veri, iş ve zaman kaybı olacaktır.
JPTros
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.