معرفی انواع پایگاه داده در آی او اس (SQLite, CoreData, Realm)

realm_sqllite_coredata

اگر قصد طراحی و پیاده سازی اپلیکیشنی با ویژگی ها منحصر به فرد و عملکردی فاقد خطا داشته باشید، می بایست وسواس بیشتری در  انتخاب منابع، متدهای برنامه نویسی و استفاده از کتابخانه ها به خرج دهید زیرا استفاده صحیح و بهینه این موارد ذکر شده می تواند به تجربه کاربری (UX) فوق العاده ای منجر شود. ذخیره سازی و نمایش داده ها نیز بخش مهمی از طراحی اپلیکیشن ها را به خود اختصاص می دهد که با توجه به سیاست های کار اپلیکیشن به روش های مختلفی قابل انجام است، بهترین و موثر ترین روش ذخیره سازی اطلاعات استفاده از پایگاه داده (Data Base) می باشد.

از محبوب ترین پایگاه داده ها در سیستم عامل آی او اس می توان به SQLite ، Core Data  و  پایگاه داده جدیدی به نام Realm اشاره کرد. و در این مقاله قصد داریم این سه پایگاه داده را بررسی کرده و نقاط قوت و ضعف هر کدام از آنها را بیان کنیم .

 

SQLite

سکیوال لایت (SQLite – اس کیو ال لایت) پر استفاده ترین پایگاه داده در اپلیکیشن های موبایلی (اپلی و اندرویدی) می باشد که این محصول از لایسنس متن باز (open source) بهره می برد. این محصول قدرت گرفته از پایگاه داده SQL می باشد که برای استفاده از آن نیاز به تنظیمات خاص و استفاده از سرور نبوده و  همچنین در سیستم عامل های مک (Mac OS-X)، آی او اس، اندروید، لینوکس و ویندوز قابل اجرا و استفاده می باشد.

مزایای استفاده از این نوع پایگاه داده

  • به صورت مجزا از سرور قابل اجرا می باشد.
  • نیاز به هیچ گونه تنطیمات جهت راه اندازی نمی باشد.
  • به صورت همزمان می توان به داده ها بر روی این پایگاه داده از چند قسمت دسترسی داشت.
  • داده ها در جداولی که دارای یک یا چند ستون دارند به صورت ردیفی ذخیره می شوند.

 

Core Data

کور دیتا دومین پایگاه داده محبوب در بین برنامه نویسان اپلیکیشن های موبایل آی او اس می باشد. با توجه به میزان حجم داده ها کاربر می بایست آنها (داده ها) را مدیریت (دسته بندی) کرده و در پایگاه داده ذخیره کند. باید توجه داشت که استفاده از کور دیتا به عنوان جایگزین سکیوال لایت دارای مزایا و معایبی نیز می باشد.

در ضمن باید توجه داشته که ساختار ذخیره سازی پایگاه داده کور دیتا تکیه بر آبجکت ها دارد (در مقابل آن سکیوال لایت صورت ردیفی در جداولی داده ها را ذخیره می کند.)

با توجه به اینکه ساختار کور دیتا با سکیوال لایت متفاوت است می توان درباره آن موارد زیر را مد نظر قرار داد :

  • کوردیتا میزان رم بیشتری از سکیوال لایت استفاده می کند.
  • کوردیتا از میزان حافظه اصلی بیشتری نسبت به سکیو ال لایت استفاده می کند.
  • سرعت بازیابی اطلاعات از پایگاه داده کور دیتا از سکیو ال لایت بیشتر می باشد.

Realm

عضو جدید پایگاه داده ها برای تلفن های هوشمند اندرویدی و اپلی Realm  می باشد که با هدف سرعت بازیابی اطلاعات بالا و تاثیر بیشتر، طراحی و پیاده سازی شده است. این محصول کراس پلتفرم ( Cross-platform) بوده و برای اپ های اندرویدی در زبان جاوا و برای اپ های آی او اسی در زبان های سوئیفت و آبجکتیو سی قابل استفاده خواهد بود.

از مزایای استفاده از این پایگاه داده می توان به موارد زیر اشاره کرد :

  • کتابخانه ای کاملا رایگان
  • سرعت اجرا بالا و استفاده بسیار آسان
  • استفاده نامحدود از تمامی قابلیت های آن
  • دارای موتور قدرتمند منحصر به فرد برای اجرا دستورات با سرعت و بازدهی بالا
  • قابلیت استفاده در دو پلتفرم اندروید و آی او اس با ساختاری یکسان

استفاده از این پایگاه داده بسیار ساده بوده و با چند خط کد قابل پیاده سازی می باشد، همچنین فایل پایگاه داده Realm به آسانی قابل انتقال از یک پلتفرم و استفاده آن در پلتفرم دیگر می باشد.

 

برای اطلاعات بیشتر  جهت استفاده از Realm در پروژه های پیشین می توانید به لینک زیر مراجعه کنید

https://blog.rollout.io/2016/02/ios-databases-sqllite-core-data-realm/

برای آشنایی بیشتر با نمونه کد ها و نحوه استفاده از پایگاه داده Realm

https://realm.io/