پایگاه داده SQLite یک پایگاه دادهی سبک و قابل حمل میباشد. این پایگاه داده برخلاف دیگر پایگاه دادهها، نیازمند نصب نرمافزار مدیریت پایگاه داده در سیستم میزبان نمیباشد. در واقع SQLite به خود برنامه پیوست میگردد و همراه با آن قابل حمل میباشد. قابل ذکر است، پایگاه دادهی SQLite حجمی در حدود فقط چندصد کیلوبایت دارد. با توجه به اینکه این پایگاه داده مستقل از خود برنامه نمیباشد، درنتیجه سرعت بیشتری نیز از دیگر پایگاههای داده که مستقل از برنامه میباشند، دارد.
شایان ذکر است، زبان برنامهنویسی برای مدیریت و ارتباط با SQLite شبیه همان زبان SQL میباشد، گرچه SQLite از تمام ویژگیهای SQL حمایت نمیکند.
با توجه به ویژگیهای سرعت بالا، حجم کم و قابل حمل بودن، به نظر میرسد که استفاده از SQLite در بسیاری از کاربردها مقرون بهصرفه میباشد، مخصوصا که این پایگاه داده متن باز (Open Source) بوده و استفاده از آن رایگان میباشد. درضمن، امنیت پایگاه داده SQLite نیز در حد قابل قبول میباشد.
شاید پیش خود بگوئید با این همه مزیتی که SQLite دارد، پس چرا برای همهی برنامهها از آن استفاده نمیشود؟ پاسخ این سوال روشن است! چون SQLite علاوه بر تمام نقاط قوتش، نقاط ضعفی نیز دارد.
یکی از نقاط ضعف مهم SQLite این میباشد که امکان نوشتن همزمان در پایگاه داده را نمیدهد، گرچه میتوان همزمان چند قسمت از آن را خواند. دیگر مشکل SQLite این است که با توجه به ساز و کاری که دارد، مناسب برای پردازش اطلاعات خیلی زیاد و با حجم خیلی بالا نمیباشد. پس میتوان نتیجه گرفت که استفاده از پایگاه دادهی SQLite برای استفاده در نرمافزارهای کوچک بسیار عالی میباشد، اما در استفاده از آن در نرمافزارهای بزرگ، بهخصوص اگر دسترسی چندگانه به پایگاه داده مدنظر باشد، باید کمی تامل کرد.
البته من خودم به شخصه تجربهی خوبی در استفاده از SQLite در برنامههای ویندوزی مبتنی بر #C نداشتهام و در استفاده از آن بارها به پیغام خطای قفل بودن پایگاه داده برخوردهام. بهطوریکه در میانهی کار، عطای استفاده از آن را به لقای آن بخشیدم. در هر حال، تجربهی استفاده از این پایگاه داده، برایم جالب و ارزشمند بود. شما هم اگر فکر طراحی یک برنامهی کوچک و کم حجم را در ذهن میپرورانید، بهتر است که SQLite را نیز آزمایش کنید. چون با استفاده از این پایگاه داده، دیگر نیازی نیست که کاربرانِ برنامهتان، نرمافزارهای سنگین مدیریت پایگاه داده را نصب کنند.
پایگاه داده SQLite قابل استفاده در ویژوال استودیو و برنامهنویسی با #C نیز میباشد. این کار با پیوست کردن یک فایل dll با حجم خیلی کم به برنامهتان میسر میشود. در این زمینه، مسعود لطفی جزوهای با نام “SQLite برای برنامههای ویندوزی به زبان #C” دارد. اگر مشتاق به استفاده از این پایگاه داده در برنامههای ویندوزیتان میباشید، یا هوس آزمایش کردن آن به سرتان زده است، مطالعهی این جزوه را حتما به شما توصیه میکنم. این جزوه حتی برای افرادی که اطلاعاتی درمورد زبان SQL ندارند نیز مفید میباشد، چون در ابتدا توضیحات مناسبی درمورد زبان SQL و نحوه نگارش آن میدهد. در یک کلام میتوان گفت که جزوهی آقای لطفی، جزوهای مختصر و مفید میباشد که میتواند به شما در پیشبرد کارهایتان کمک کند.
این جزوه را میتوانید از لینک زیر دانلود کنید:
دانلود جزوهی “SQLite برای برنامههای ویندوزی به زبان #C” نوشتهی مسعود لطفی
رمز فایل: mirzaproject.ir
آقا وبسایتت خیلی باحاله! ازون وبسایت های پر بازدید میشه، حالا ببین کی گفتم! 😀
حالا بعداً که پر بازدید شد اجازه بده که ما هم تخیلاتمون توش بذاریما… 🙂
با آرزوی موفقیت
علی رضا ام ان
قربان تو علیرضا جان …
ممنون از این همه لطفی که به من داری …
این وبسایت متعلق به شماست، شما هر وقت که اراده کردید میتونید مطالبتون ارزشمندتون رو تو وبلاگ کوچک من منتشر کنید.
از شما بابت مطلب مفیدتون متشکرم
مسیر انتخاب منو بین چند دیتا بیس خیلی خوب مشخص کرد
با تشکر
ممنون از لطفت،
خوشحالم که این مطلب به کارِت اومد. 🙂
سلام،
با شما موافقم. منم تجربه خوبی نه با SQLite و نه با Litedb نداشتم. البته مشکلات قفل شدن دیتابیس بیشتر در مباحث برنامه نویسی موازی پیش می آد. تعداد زیادی از این مشکلات رو میشه با استفاده از لاک کردن و موتکس در هنگام نوشتن در این دسته از پایگاه های داده ای حل کرد ولی به شخصه نظرم اینه که این وظیفه پایگاه داده است این مسائل رو مدیریت کنه. دیتابیسهایی مثل RavenDB این مشکلات رو به خوبی حل کردن ولی خب پیچیدگی هایی هم اضافه کردن. علاوه بر RavenDB توصیه میکنم پایگاه داده Siaqodb رو هم نگاهی بندازید. نا آشنا به نظر میرسه ولی ساده و تمییز طراحی شده. البته هر دو مورد بیان شده تجاری هستند ولی هموطنان عزیز نسخه تجاری اش رو در اختیار ما قرار دادن. (آقا حقشونه وقتی من میخوام خرید کنم اسم کشورم نیست باید این بلا سرشون بیاد 🙂 )
ممنون از پایگاه دادههایی که معرفی کردی ایوب جان،
البته من مدت زیادی میشه که دیگه سراغ Net. نرفتم 😀
هوممم … البته من ترجیح میدم که با ابزار متنباز کار کنم.