رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
مدیریت SQLite در حجم زیاد اطلاعات
#1
سلام خسته نباشید 
من میخوام یک برنامه بنویسم که مطمئنم حجم زیادی از اطلاعات رو باید داخل دیتابیس ذخیره کنم به راه حل های گوناگونی رسیدم Ideaممکنه کمکم کنید یکی که بهینه تر هست رو درپیش بگیرم که از سرعت بالایی برخوردار باشه و مشکلی با ذخیره حجم زیاد اطلاعات هم نداشته باشیم  

مثلا اگر یک میلیارد کاربر داشته باشیم که به صورت رنج های کودک ، نوجوان ، جوان بشه اونا رو تقسیم بندی کرد

1- همه داده ها (جدول ها ، رکورد ها) تحت عنوان یک دیتابیس (استفاده از یک دیتابیس)
   1-1- بهتر هست برای هر رنج یک جدول در نظر بگیریم و کاربران اون رو ثبت کنیم 
   1-2- بهتر هست به صورت کلی  هر ده میلیون کاربر رو توی یک جدول مجزا در نظر بگیریم
   1-3- اگر رنج خواصی تعداد کاربرانش از ده میلیون فراتر رفت میشه همون رو هم به دو جدول تقسیم کرد
   1-4- یا همه شون رو توی یک جدول ذخیره کنیم

هر کاربری مشخصاتی داره که جداول مشخصات هم مثل جدول کاربر هست ولی ممکنه برای هر رکورد در جدول کاربر اینجا حدالقل سه رکورد داشته 

2- برای هر رنج کاربران یک دیتابیس درنظر بگیریم و برای مشخصات هر رنج یک دیتابیس دیگه درنظر بگیریم و جدول ها رو توی هر دیتابیس تقسیم بندی کنیم (استفاده از چند دیتابیس)


یه سوال دیگه وقتی ما به یک دیتابیس وصل بشیم ایا همه اون رو میاره توی حافظه ( اکر حجم دیتابیس به دو گیگ برسه این حجم لود میشه توی رم) ؟

ایا بجای استفاده از sqlit گذینه دیگه ای که بهتر باشه هست 

این صفحه هم محدویت های sqlite رو ذکر کرده

باتشکر از همه Heart
پاسخ
تشکر شده توسط:
#2
درمورد برنامه خودتون کامل توضیح ندادین که چطوریه سناریوی کار ولی اگه همه این رکوردها به همه افراد مربوط نیست، بهتره روی سرور باشه و نرم افزار موقع وصل شدن، از سرور درخواست کنه و توی دیتابیس محلی ذخیره کنه و درصورت نیاز در مواقعی که خودتون صلاح میدونید، اطلاعات رو با سرور Sync کنید. اطلاعات همه یکجا توی رم نمیاد ولی بهرحال روی دیسک هست. فقط اطلاعاتی میاد توی رم که شما توسط کوئری Select صدا بزنید.
پاسخ
تشکر شده توسط: omid_bnt




کاربران در حال بازدید این موضوع: 1 مهمان