ฉันกำลังพัฒนาแอปพลิเคชันขนาดเล็กที่มี C # ใน. NET และฉันต้องการมีฐานข้อมูลขนาดเล็กน้ำหนักเบาซึ่งไม่ได้ใช้ทรัพยากรมากนัก
คุณช่วยกรุณารายการบางส่วนของที่ดีที่สุดโปรแกรมฐานข้อมูลที่รู้จักกันน้ำหนักเบา
ฉันกำลังพัฒนาแอปพลิเคชันขนาดเล็กที่มี C # ใน. NET และฉันต้องการมีฐานข้อมูลขนาดเล็กน้ำหนักเบาซึ่งไม่ได้ใช้ทรัพยากรมากนัก
คุณช่วยกรุณารายการบางส่วนของที่ดีที่สุดโปรแกรมฐานข้อมูลที่รู้จักกันน้ำหนักเบา
คำตอบ:
14/06/2016อ๋อ ... ยังมีผู้โหวต: - /
17/03/2014ฉันยังคงได้รับการสนับสนุนเรื่องนี้โปรดคำนึงถึงวันที่ที่คำตอบเดิมได้รับ แม้ว่ารายการหลักสามรายการที่ปรากฏยังคงทำงานได้อย่างสมบูรณ์รายการจะมีแนวโน้มที่จะกลายเป็นเก่า มีเทคโนโลยีฐานข้อมูลเพิ่มเติมที่ไม่มีอยู่ในรายการ
คุณมีตัวเลือกที่เป็นที่รู้จักและฟรีทันทีสองสามแบบ:
การดาวน์โหลด SQL Server Compact มาพร้อมกับผู้ให้บริการ ADO.NET ที่คุณจะต้องอ้างอิงในรหัส การดาวน์โหลด SQLite อาจไม่มีอยู่นี่คือลิงค์:
http://sqlite.phxsoftware.com/
ทั้งสามใช้ SQL แม้ว่าจะมีข้อ จำกัด / นิสัยใจคอเล็กน้อย Management Studio ทำงานกับ Compact และ LocalDB ในขณะที่ SQLite คุณจะต้องใช้เครื่องมือ UI อื่นเช่นผู้ดูแลระบบ SQLite:
http://sqliteadmin.orbmu2k.de/
มีทางเลือก NoSQL เช่น:
ส่วนตัวฉันจะหลีกเลี่ยงการใช้ MS Access ในหน้าตัวเลือกฟรีอื่น ๆ คุณไม่สามารถผิดพลาดได้ด้วย LocalDB, Compact หรือ SQLite พวกเขาทั้งหมดเป็นฐานข้อมูลขนาดเล็กที่น่ารักที่ทำงานค่อนข้างเร็วใน RAM น้อย - การตั้งค่าส่วนตัวตามหลักศาสนาเกี่ยวกับความชอบของผลิตภัณฑ์ Microsoft ฉันคิดว่า :-)
ฉันใช้โปรแกรม Sterling สำหรับ Windows Phone เนื่องจากมันถูกสร้างขึ้นเพื่อใช้ Isolated Storage ฉันเพิ่งเห็นบทความเกี่ยวกับ RavenDb แต่ฉันสามารถบอกคุณได้ว่ามันเป็นกรอบการจัดเก็บเอกสารตาม JSON
เพื่อไม่ให้เกิดความสับสนกับสถานการณ์ (ไปกับ SQLite, SQL Server Express LocalDB หรือ SQL Server Compact Edition) แต่มีฐานข้อมูลแบบฝังตัว / โลคัลอื่น ๆ อยู่ที่นั่นบางตัวเป็นแบบเชิงสัมพันธ์อื่น ๆ เป็นแบบเชิงวัตถุ:
ไม่ใช่ทั้งหมดนี้ฟรี การสนับสนุน SQL / LINQ / in-proc นั้นแตกต่างกันไป รายการนี้มีไว้สำหรับความอยากรู้
ตอนนี้ยังมีKarvoniteด้วยเช่นกัน แต่ลิงค์ของรหัสคลังภาพเสีย เมื่อมันมีชีวิตอีกครั้งฉันจะมองหาสิ่งนี้สำหรับการพัฒนา WP7
ผมอยากแนะนำให้SQLite เราใช้มันสำหรับแอพที่เราพัฒนาเกือบทุกที่ที่ฉันทำงานอยู่
มันเล็กและกะทัดรัด มันต้องการ DLL ที่จะอยู่ในไดเรกทอรีแอพ แต่คุณไม่จำเป็นต้องติดตั้งซอฟต์แวร์อื่นเช่น Access หรือ SQL Server นอกจากนี้ตามที่ danielkza ระบุไว้ด้านล่าง "SQLite เป็นสาธารณสมบัติดังนั้นคุณไม่ต้องกังวลเรื่องการออกใบอนุญาตเลย" ที่สามารถสร้างความแตกต่างใหญ่จริงๆ
คุณสามารถใช้System.Data.SQLiteหรือcsharp-sqliteเพื่อเข้าถึงมันในแอป C # โดยใช้วิธีการเดียวกับ SQL หรือ OleDB
คุณจะต้องมีแอปพลิเคชันเพื่อแก้ไข / จัดการฐานข้อมูล ที่ดีที่สุดในความคิดของฉันคือSQLite สตูดิโอ นี่คือสองสามเพิ่มเติม: ผู้
ดูแลระบบ
SQLite SQLite 2009 Pro (ด้านล่างของหน้า)
อัปเดต - 7/25/11 - แอป SQLite เพิ่มเติม (ถามคำถามที่นี่)
นี่คือเพิ่มเติมเกี่ยวกับ SQLite:
SQLite บน Wikipedia
Companies ที่ใช้ SQLite
ฟังก์ชั่นที่กำหนดเอง: นอกจากนี้หากคุณกำลังมองหาฟังก์ชั่นหลักของ SQLiteและไม่เห็นสิ่งที่คุณต้องการคุณสามารถสร้างฟังก์ชั่นที่กำหนดเองของคุณเอง นี่คือตัวอย่างสองตัวอย่าง:
จากตัวอย่างSO
Anoter
Firebird ที่ฝังตัวอาจเป็นตัวเลือกที่ดี
รุ่นฝังตัวเป็นรูปแบบที่น่าทึ่งของเซิร์ฟเวอร์ มันเป็นเซิร์ฟเวอร์ Firebird ที่มีคุณสมบัติครบถ้วนซึ่งบรรจุในไฟล์เพียงไม่กี่ไฟล์ มันง่ายในการปรับใช้เนื่องจากไม่จำเป็นต้องติดตั้งเซิร์ฟเวอร์
มีไดรเวอร์ดอทเน็ตที่ดีมาก
SQL Server Compact ถ้าคุณต้องการใช้โซลูชันอย่างเป็นทางการของ Microsoft นี่เป็นข้อดีของความสามารถในการใช้การจำลองแบบกับเซิร์ฟเวอร์ SQL ถ้าคุณต้องการสิ่งนั้น
SQLite ถ้าคุณต้องการสิ่งเล็ก ๆ น้อย ๆ ที่ง่ายและฟรี นี่คือสิ่งที่ android ใช้สำหรับเป็นฐานข้อมูลภายในดังนั้นจึงได้รับการสนับสนุนเป็นอย่างดีและมีการเชื่อม. NET ที่ดีมาก
ข้อดีอย่างหนึ่งของ SQLite ก็คือมันเป็นข้ามแพลตฟอร์ม ดังนั้นหากคุณต้องการโอนย้ายแอปพลิเคชันของคุณไปที่ Mono.NET คุณจะไม่ต้องทำการแก้ไขใด ๆ กับการใช้ฐานข้อมูล
ฉันไม่ชอบ MS Access สำหรับการแก้ปัญหานี้ แต่ผู้คนจำนวนมากได้รวมไว้ในคำตอบของพวกเขา มันถูก จำกัด เนื่องจากรูปแบบที่เป็นกรรมสิทธิ์และการพึ่งพาแพลตฟอร์ม มันมีข้อดีคือแม้ว่า คุณสามารถจัดการข้อมูลได้อย่างง่ายดายหากคุณมีสำเนาของ MS Access คุณสามารถสร้างแบบสอบถามแบบกราฟิกและสร้างมาโครได้ คุณสามารถรวมเข้ากับ MS Office ส่วนที่เหลือได้อย่างง่ายดาย
จาก SQLite เหล่านี้ทั้งหมดจะเป็นคำแนะนำของฉันเนื่องจากมันมีขนาดกะทัดรัดจัดทำเป็นเอกสารที่ดีและได้รับการสนับสนุนจากกองทัพผู้พัฒนาเพื่อนที่กำลังเติบโตโดยไม่คำนึงถึงแพลตฟอร์ม
แก้ไข
ฉันรู้ว่ามีตัวเลือกอื่นที่ทุกคนที่นี่ลืมพูดถึง
ตราบใดที่คุณไม่ต้องการตารางเชิงสัมพันธ์คุณสามารถใช้ไฟล์ CSV อ่านเป็นชุดข้อมูลผ่าน ADO.NET (มากกว่าคำแนะนำ lulz มากกว่าสิ่งอื่น แต่จะเหมาะสมในบางกรณีและไม่ต้องการไลบรารีเพิ่มเติมสำหรับการปรับใช้ MS
หากคุณกำลังสร้างโครงการที่มี .NET 4.0.2 หรือสูงกว่าและต้องการการสนับสนุนฐานข้อมูลที่ฝังพิจารณาSQL Server Express LocalDB
เป็นส่วนเพิ่มเติมที่ค่อนข้างใหม่สำหรับตระกูล Express ที่มีพื้นที่ติดตั้งขนาดเล็กและลดค่าใช้จ่ายในการจัดการ (เมื่อเทียบกับ Express รุ่นอื่น ๆ ) แต่ยังคงรักษาความสามารถในการโปรแกรมของ SQL Server นั่นคือแตกต่างจากรุ่น Compact, LocalDB ไม่จำเป็นต้องติดตั้งผู้ให้บริการ ADO.NET แยกต่างหากเพื่อสื่อสารกับ SQL
ดูต่อไปนี้สำหรับรายละเอียดเพิ่มเติม:
SQL Express v LocalDB v SQL Compact Edition (บล็อก MSDN)
SQL LocalDB vs SQL Server CE (สแต็คล้น)
สิ่งที่เกี่ยวกับhttp://en.wikipedia.org/wiki/NoSQL_(RDBMS) ?
โดยเฉพาะอย่างยิ่ง MongoDB สำหรับ. Net
คุณสามารถใช้Sql Server Express Edition
เป็นของฟรีและมีประสิทธิภาพเท่าเทียมกันจนและถ้าคุณต้องการฟังก์ชั่นเช่นmirroring
ฯลฯ มีลักษณะที่นี้
ฉันใช้ db4o กับความสำเร็จ
ชุมชนไฟล์ขนาดใหญ่ใช้งานง่าย
รายละเอียดใบอนุญาต
ใบอนุญาตสาธารณะทั่วไปฟรี db4o ได้รับอนุญาตภายใต้ GPL โดยค่าเริ่มต้น
สิทธิ์การใช้งาน GPL นั้นเหมาะอย่างยิ่งหากคุณวางแผนที่จะใช้ db4o ในบ้านหรือคุณวางแผนที่จะพัฒนาและแจกจ่ายงานดัดแปลงของคุณเองเป็นซอฟต์แวร์ฟรีภายใต้ GPL เช่นกัน
ใบอนุญาตการค้าจำเป็นต้องมีใบอนุญาตการค้าหากคุณต้องการฝัง db4o ในผลิตภัณฑ์ที่ไม่ใช่ GPL เชิงพาณิชย์ สิทธิ์การใช้งานเชิงพาณิชย์สามารถเข้าถึงบริการและการสนับสนุนระดับพรีเมียมได้
ทางเลือกที่ไม่ได้รับการกล่าวถึงหากคุณไม่ต้องการให้เป็นฐานข้อมูลฟรีคือ VistaDB มันคือรหัสที่ได้รับการจัดการทั้งหมดมีคุณสมบัติมากมายสำหรับฐานข้อมูลแบบฝังและมีประสิทธิภาพที่ดีพอสมควร บริดจ์ที่ค่อนข้างดีระหว่าง SQL CE และ SQL Server Express เนื่องจากขั้นตอนการจัดเก็บ VistaDB ส่วนใหญ่ของคุณจะทำงานโดยไม่มีการดัดแปลงใน SQL Server Express ฉันพอใจกับการบริการลูกค้า ณ จุดนี้เช่นกัน ฉันใช้มันในที่ทำงาน ไม่มีบริการที่จะเริ่ม ฐานข้อมูลเปล่าอยู่ที่ประมาณ 1MB และ DLL ก็ค่อนข้างเบา มีผู้ให้บริการ ADO.NET และสิ่งต่าง ๆ ฉันชอบมันมาก
SQL Server Compact Edition นั้นดีที่สุดเพราะฟรีและมีขนาดเบาและรวมเข้าด้วยกัน
SQL Server Express หรือ MS Access