คำถามติดแท็ก sqlite

3
เหตุใดฐานข้อมูล Web SQL จึงเลิกใช้แล้ว
ฉันกำลังสร้างแอพ Android ไฮบริด ตอนแรกฉันตัดสินใจที่จะใช้ localStorage หลังจากใช้เวลา 2 วันฉันรู้ว่ามันแปลกมากและทำให้มันลดลง จากนั้นฉันก็เก็บดรรชนี DB หลังจากใช้เวลาทั้งวันของวันนี้และได้รับผลลัพธ์ใน Google Chrome จริง ๆ แล้วมันไม่ได้ทำงานภายใน WebView ของแอพ android และฉันไม่เคยใช้ฐานข้อมูล Web SQL เลยเพราะมันเลิกใช้แล้ว อย่างไรก็ตามมีสิ่งที่ฉันสังเกตเห็นว่า PhoneGap ยังคงใช้เบราว์เซอร์ของ Web SQL และ android ที่รองรับ เพราะเหตุใด Web SQL จึงเลิกใช้ตั้งแต่แรก และเป็นความคิดที่ดีที่ฉันจะไปกับ Web SQL ตอนนี้หรือไม่

2
เหตุใดจึงไม่อนุญาตให้เขียนพร้อมกันในฐานข้อมูล SQLite
ฉันกำลังเขียนโปรแกรมฐานข้อมูลโดยใช้ Java กับ SQLite ฉันพบว่าการเชื่อมต่อครั้งเดียวเท่านั้นไปยังฐานข้อมูลมีความสามารถในการเขียนในขณะที่การเชื่อมต่อหลายครั้งพร้อมกันมีความสามารถในการอ่าน ทำไมสถาปัตยกรรมของ SQLite จึงถูกออกแบบมาเช่นนี้ ตราบใดที่ทั้งสองสิ่งที่กำลังเขียนไม่ได้ถูกเขียนไปยังที่เดียวกันในฐานข้อมูลเหตุใดจึงไม่สามารถเขียนสองรายการได้ในคราวเดียว

1
ขนาดจริงสูงสุดสำหรับฐานข้อมูล SQLite ที่สมจริงและเป็นจริงคืออะไร?
ตามบทความนี้เกี่ยวกับการใช้งานที่เหมาะสมสำหรับ SQLiteมันบอกว่าในขณะที่ SQLite จำกัด ไว้ที่140 terabytesไคลเอ็นต์ / เซิร์ฟเวอร์ RDBMS อาจทำงานได้ดีขึ้น: ฐานข้อมูล SQLite มีขนาด จำกัด ที่ 140 เทราไบต์ (2 47ไบต์, 128 ไบต์) และแม้ว่ามันจะสามารถจัดการกับฐานข้อมูลขนาดใหญ่ได้ แต่ SQLite จะเก็บฐานข้อมูลทั้งหมดไว้ในดิสก์ไฟล์เดียวและระบบไฟล์จำนวนมากจะ จำกัด ขนาดสูงสุดของไฟล์ไว้ที่บางอย่างที่น้อยกว่านี้ ดังนั้นหากคุณใคร่ครวญฐานข้อมูลของขนาดนี้คุณควรพิจารณาใช้เอ็นจิ้นฐานข้อมูลลูกค้า / เซิร์ฟเวอร์ที่กระจายเนื้อหาในไฟล์ดิสก์หลาย ๆ ไฟล์และอาจข้ามหลายวอลุ่ม โดยทั่วไปแล้วฉันเห็นด้วยกับสิ่งนี้ แต่ฉันรู้สึกประหลาดใจเมื่อเรียนรู้ว่าขีด จำกัด สูงสุดของ SQLite นั้นสูงมาก! จากประสบการณ์ของฉันฉันได้ใช้ฐานข้อมูล SQL Server จำนวนน้อยขนาด ~ 30-100GB ฉันยังทำงานทางอ้อมกับฐานข้อมูลขนาดใหญ่กว่าโดยใช้ Oracle, Postgres หรือ Cassandra อย่างน้อยสำหรับความรู้ของฉันไม่มีใครเข้าใกล้ …

2
เว็บไซต์ที่ใช้งานภายใน: มีกรณีที่น่าสนใจสำหรับ SQLite หรือไม่?
เฟรมเวิร์กเว็บจำนวนมากเช่นFlaskหรือDjangoใช้SQLiteเป็นฐานข้อมูลเริ่มต้น SQLiteนั้นน่าสนใจเพราะมันรวมอยู่ในไพ ธ อนและค่าใช้จ่ายในการจัดการค่อนข้างต่ำ อย่างไรก็ตามไซต์การผลิตสาธารณะที่มีปริมาณการใช้งานสูงส่วนใหญ่ใช้ฐานข้อมูลที่หนักกว่า: mySQL, Oracle หรือ postgresql คำถาม : สมมติ: ปริมาณการใช้ของไซต์อยู่ในระดับปานกลางและการเข้าถึงแบบอ่าน / เขียนในฐานข้อมูลจะเกิดขึ้นพร้อมกัน เราจะใช้SQLAlchemyกับล็อคการเขียน SQLite (แม้ว่าความคิดเห็นนี้ทำให้ฉันกังวลเล็กน้อย) ฐานข้อมูลอาจมีบันทึก 60,000 รายการ โครงสร้างข้อมูลไม่ต้องการคุณสมบัติขั้นสูงที่พบในฐานข้อมูลที่หนักกว่า มีกรณีที่น่าสนใจต่อการเกิดพร้อมกันของSQLiteสำหรับเว็บไซต์ที่ทำหน้าที่เป็นเครื่องมือภายในองค์กรที่มีปริมาณการใช้งานปานกลางหรือไม่? ถ้าเป็นเช่นนั้นเงื่อนไขใดที่ทำให้SQLiteมีปัญหาการทำงานพร้อมกัน? ฉันกำลังมองหาสาเหตุที่เฉพาะเจาะจงที่เป็นที่รู้จักแทนการกลัวนิ้วชี้โดยทั่วไป / ไม่พร้อมเพรียง

2
SQLite ที่มีสองกระบวนการของไพ ธ อนเข้าถึง: หนึ่งการอ่านหนึ่งการเขียน
ฉันกำลังพัฒนาระบบขนาดเล็กที่มีสององค์ประกอบ: โพลหนึ่งข้อมูลจากแหล่งข้อมูลอินเทอร์เน็ตและแปลเป็นข้อมูล sql เพื่อคงอยู่ในระบบ คนที่สองอ่านว่าข้อมูล sql จากอินสแตนซ์ในท้องถิ่นและให้บริการผ่านทาง json และ api ที่สงบ เดิมทีฉันวางแผนจะคงข้อมูลไว้กับ postgresql แต่เนื่องจากแอปพลิเคชันจะมีข้อมูลปริมาณน้อยมากในการจัดเก็บและรับส่งข้อมูลเพื่อให้บริการฉันคิดว่ามันเกินความจริง SQLite ขึ้นอยู่กับงานหรือไม่? ฉันชอบความคิดของรอยเท้าขนาดเล็กและไม่จำเป็นต้องบำรุงรักษาเซิร์ฟเวอร์ SQL อื่นสำหรับงานนี้ แต่ฉันกังวลเกี่ยวกับการทำงานพร้อมกัน ดูเหมือนว่าเมื่อเปิดใช้งานการบันทึกล่วงหน้าเขียนการอ่านและการเขียนฐานข้อมูล SQLite สามารถเกิดขึ้นได้โดยไม่ต้องล็อคกระบวนการใด ๆ ออกจากฐานข้อมูล อินสแตนซ์ SQLite เดียวสามารถรักษากระบวนการที่เกิดขึ้นพร้อมกันสองกระบวนการให้เข้าถึงได้หากมีเพียงหนึ่งการอ่านและการเขียนอื่นเท่านั้น ฉันเริ่มเขียนโค้ด แต่สงสัยว่านี่เป็นการใช้ผิดของ SQLite หรือไม่

1
ทำไมคอลัมน์ตารางหลักข้อมูล sqlite เริ่มต้นด้วย 'Z'
ฉันดูตาราง sqlite ที่ Core Data สร้างและสังเกตว่าคอลัมน์ตารางทั้งหมดเริ่มต้นด้วย 'Z' ฉันรู้ว่านี่เป็นรายละเอียดการนำไปใช้ แต่ฉันอยากรู้ว่าทำไมถึงเป็นเช่นนั้นและถ้ามีการตัดสินใจออกแบบที่เกี่ยวข้องกับเรื่องนี้ มีใครรู้หรือเดาว่าทำไม นี่เป็นตัวอย่างสคีมาของฐานข้อมูล Core Data sqlite: sqlite>. schema สร้างตาราง ZPOST (คีย์หลัก Z_PK INTEGER, Z_ENT INTEGER, Z_OPT INTEGER, ZPOSTID INTEGER, ZUSER INTEGER, ZCREATEDAT TIMESTAMP, ZTEXT VARCHAR); สร้าง ZUSER ตาราง (คีย์หลัก Z_PK INTEGER, Z_ENT INTEGER, Z_OPT INTEGER, ZUSERID INTEGER, ZAVATARIMAGEURLSTRING VARCHAR, ZUSERNAME VARCHAR); สร้างตาราง …
10 ios  sqlite 

1
SQLite จะมีประโยชน์น้อยลงหรือไม่หากไม่ยอมรับการแทรกค่าที่ไม่ใช่ตัวเลขลงในคอลัมน์ตัวเลข
ใน SQLite คำสั่งต่อไปนี้จะประสบความสำเร็จและสตริงจะถูกแทรก / ปรับปรุงลงในSALARYคอลัมน์ซึ่งเป็นประเภทINTEGER: update employee set salary='TOO MUCH' where emp_id=1; โปรดทราบว่าศูนย์จะไม่ถูกแทรก / อัปเดต แต่เป็นสตริง"TOO MUCH" ที่แท้จริงดังนั้นนี่จึงไม่เกี่ยวกับการแปลงประเภทอัตโนมัติ สถานะคำถามที่พบบ่อย: นี่คือคุณสมบัติไม่ใช่ข้อผิดพลาด SQLite ใช้การพิมพ์แบบไดนามิก มันไม่บังคับใช้ข้อ จำกัด ชนิดข้อมูล สามารถแทรกข้อมูลประเภทใดก็ได้ (โดยปกติ) ลงในคอลัมน์ใดก็ได้ คุณสามารถใส่สตริงความยาวโดยพลการลงในคอลัมน์จำนวนเต็มจำนวนจุดลอยตัวในคอลัมน์บูลีนหรือวันที่ในคอลัมน์อักขระ ประเภทข้อมูลที่คุณกำหนดให้กับคอลัมน์ในคำสั่ง CREATE TABLE ไม่ได้ จำกัด ข้อมูลที่สามารถใส่ลงในคอลัมน์นั้นได้ ทุกคอลัมน์สามารถเก็บสตริงความยาวได้ตามใจชอบ (มีข้อยกเว้นหนึ่งประการ: คอลัมน์ประเภท INTEGER Primary KEY อาจเก็บไว้เป็นจำนวนเต็มแบบ 64 บิตเท่านั้นข้อผิดพลาดจะเกิดขึ้นหากคุณพยายามใส่สิ่งอื่นที่ไม่ใช่จำนวนเต็มลงในคอลัมน์ INTEGER Primary KEY) ดังนั้นพฤติกรรมนี้มีเจตนาชัดเจน แต่ฉันสงสัยว่าทำไม SQLite …
10 design  sqlite 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.