เป็นไปได้หรือไม่ที่จะใช้ SQLite เป็นฐานข้อมูลไคลเอนต์ - เซิร์ฟเวอร์ [ปิด]


32

มีเทคนิคหรือเครื่องมือใดที่จะทำงานกับ SQLite ในสภาพแวดล้อม DB / traffic / concurrency DB ขนาดกลางได้หรือไม่?


3
คุณให้เหตุผลว่าทำไมสิ่งนี้ถึงมีประโยชน์ มิฉะนั้นฉันคิดว่ามันสมควรปิดไม่ใช่คำถามจริง SQLite ไม่ใช่ฐานข้อมูลไคลเอนต์เซิร์ฟเวอร์และทำการตลาดกับผู้ใช้งานที่ไม่ต้องการฐานข้อมูลไคลเอนต์เซิร์ฟเวอร์
jcolebrand

1
@Eelke แม้ว่าสิ่งนี้จะไม่เป็นจริงอีกต่อไปในโหมด WAL จากรุ่น 3.7 - สามารถมีได้ครั้งละหนึ่งการเขียน แต่ "ผู้อ่านไม่บล็อกนักเขียนและผู้เขียนไม่บล็อกผู้อ่าน"
แจ็คดักลาส

1
โดยบังเอิญขณะนี้ Wikipedia ดูเหมือนจะผิดพลาด
Jack Douglas

2
ทำไม? ฉันคิดว่าคุณควรกำหนดความต้องการของคุณ ... และบางทีคุณอาจจะพบฐานข้อมูลที่เหมาะสมกว่า ...
AK_

3
@AK_ ข้อกำหนดหลักคือกรดเต็มและฐานข้อมูลที่ง่ายมากในการพัฒนาและใช้งาน เราสร้างเวอร์ชันที่กำหนดเองเพื่อทำงานเป็นไคลเอนต์ - เซิร์ฟเวอร์และผลลัพธ์นั้นยอดเยี่ยมมาก! ผู้คนกำลังประเมินขีดความสามารถของ SQLite และลดความต้องการการทำงานพร้อมกันของ บริษัท ขนาดเล็ก ผู้คนต้องเปิดใจ ทำตามสูตรไม่ใช่วิธีเดียวที่จะไป ตอนนี้เรามีผลิตภัณฑ์ที่ไม่มีการแข่งขันในตลาดของเรา
Maniero

คำตอบ:


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
นี่ถือว่าเป็น "ไคลเอนต์ - เซิร์ฟเวอร์" หรือไม่เพราะคุณเข้ารหัสการเชื่อมต่อหรือไม่
Robert Harvey

ไม่เป็นเพราะเครือข่ายระหว่างเครื่องที่โฮสต์ db และเครื่องที่เข้าถึง db
ddeimeke

4

ไม่ SQLite ไม่แสดงจุดปลายเครือข่าย - สามารถเข้าถึงได้ผ่านระบบไฟล์เท่านั้น มันไม่สนับสนุนการเข้าถึงพร้อมกันจากหลายกระบวนการในเครื่องเดียวกัน แต่อยู่ในระดับมากเนื้อหยาบ (DML ล็อคตารางทั้งหมด) ดังนั้นคุณอาจมี Apache httpd หลายสิบโพรเซสทั้งหมดที่มีฐานข้อมูล SQLite บนโลคัลดิสก์ที่เปิดอยู่, สิ่งที่ทำอยู่ทั้งหมดSELECTและมันก็ใช้ได้ดี แต่จริงๆแล้วมันเป็นเครื่องมือที่ผิดสำหรับงานฉันจะใช้Postgresในสถานการณ์นี้


1
ล็อคทั้งตารางเฉพาะเมื่อคุณกำลังเขียนเกี่ยวกับมันไม่ได้อ่าน processers จำนวนมากสามารถอ่านได้จากตารางเดียวกัน;)
ucefkh

3

ซอฟต์แวร์ Paradigma แนะนำ Valentina Server 6.0 (ในการทดสอบเบต้าในขณะนี้) ซึ่งเป็น 3 in 1:

  • เซิร์ฟเวอร์ Valentina DB
  • เซิร์ฟเวอร์ Valentina SQLite
  • เซิร์ฟเวอร์รายงาน Valentina

SQLite Server ใช้เอ็นจิน SQLite โดยไม่มีการเปลี่ยนแปลงเปิดใช้งาน WAL SQLite เซิร์ฟเวอร์ทำงานบน3: Mac, วินลินุกซ์

คุณสามารถใช้แอปพลิเคชั่น Valentina Studio (ฟรี) เพื่อจัดการเซิร์ฟเวอร์ฐานข้อมูลนี้รวมถึง mySQL, postgreSQL, SQLite, MS SQL นอกจากนี้ยังทำงานเป็นแอปพลิเคชันที่สร้างด้วยภาษา C ++ ใน 3 ระบบปฏิบัติการ

SQLite Server มีคุณสมบัติเช่น: SSL, ACL, การสำรองข้อมูล, REST API, แชนเนลการแจ้งเตือน, JSON, XML

ตอนนี้การเข้าถึงเซิร์ฟเวอร์นี้สามารถทำได้จาก C ++, Xojo และ LiveCode เร็ว ๆ นี้จะถูกเพิ่ม PHP, Java, .NET

เซิร์ฟเวอร์ Valentina เวอร์ชันฟรีรวมถึง

  • 10 การเชื่อมต่อกับฐานข้อมูล SQLite
  • 5 คนรู้จักที่ Valentina DBs
  • 5 คนรู้จักที่ Valentina Reports

รายละเอียดที่คุณสามารถอ่านในบทความ


2

SQLabs เสนอผลิตภัณฑ์เชิงพาณิชย์ที่เรียกว่าcubeSQLซึ่งอาจเหมาะสมกับความต้องการของคุณ


1

คุณสามารถแฮ็คบางอย่างร่วมกันโดยใช้netcatแต่ฉันไม่สามารถจินตนาการได้ว่ามันจะเป็นทางออกที่หรูหรามาก


-5

คุณสามารถใช้บริการที่คล้ายกันในการดรอปบ็อก มีวิธีแก้ปัญหาด้วยตนเอง อย่างไรก็ตาม SQLite3 ไม่ได้ถูกสร้างขึ้นสำหรับแบบจำลองไคลเอ็นต์ - เซิร์ฟเวอร์ คุณควรจะดีกว่าด้วยโซลูชันอื่น ๆ ที่ได้รับการพัฒนาโดยโมเดลลูกค้า - เซิร์ฟเวอร์


5
Dropbox และบริการซิงโครไนซ์ไฟล์อื่น ๆ ไม่ใช่วิธีแก้ไขปัญหานี้ ดรอปบ็อกซ์ไม่มีตรรกะใด ๆ ที่เกี่ยวข้องกับการรวมการเปลี่ยนแปลงในฐานข้อมูลที่ผู้ใช้หลายคนกำลังเขียนถึงพร้อมกัน ผลลัพธ์ที่ได้จะสูญเสียข้อมูลงานและเวลา
jptros
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.