PDA

View Full Version : آیا میشه mysql رو به nosql تبدیل کرد؟



theboy
پنج شنبه 17 بهمن 1392, 23:12 عصر
سلام.
می خواستم بدونم اگر یه موقع پایگاه داده خیلی بزرگ وسنگین شد، میشه برای کاهش فشار سیستم رو به nosql تغییر داد؟ (بدون از دست رفتن اطلاعات).
کلا شدنیه؟ آسونه یا خیلی سخت و پیچیدست؟

cups_of_java
پنج شنبه 17 بهمن 1392, 23:27 عصر
کار که نشد نداره... اما بستگی به مدل داده ای شما داره... چقدر از RI ها استفاده کرده باشید؟ (Referencial Integrity) چقدر از ظوابط خاص SQLی استفاده کرده باشید و روش وابستگی داشته باشید تو کدتون...
کلن میتونه آسون باشه... می تونه هم خیلی سخت باشه!
ضمنن NOSQL یک چیز واحد نیست... بستگی داره به کدوم خصوصیات از NoSQLها میخواید برید؟

theboy
جمعه 18 بهمن 1392, 00:17 صبح
راستش من هیچ چی از nosql نمی دونم فقط می دونم که خیلی سریع تر هست و برای پایگاه های داده ی سنگین خوبه، الان دارم سیستمم رو که تعداد کوئری هاش ممکنه زیاد بشه، با mysql می نویسم، می خوام مطمئن بشم بعدا میشه با پرداخت هزینه ای به یک گروه برنامه نویس سیستم رو به nosql تغییر داد، حالا سخت یا آسون بودنش مهم نیست مهم اینکه که بشه و البته اطلاعات سایت هم حفظ بشه.

cups_of_java
جمعه 18 بهمن 1392, 11:56 صبح
سریع تر
تا سریع رو تو چه شرایطی و چه جوری تعریف کنی.


پایگاه های داده ی سنگین
یعنی چقدر؟ چند ده میلیون رکورد؟ چند صد ملیون رکورد؟ جند بیلیون رکورد؟


الان دارم سیستمم رو که تعداد کوئری هاش ممکنه زیاد بشه
ذاته سیستمت چیه؟ بیشتر می خونه از DB? بیشتر می نویسه؟ دایم در حال گزارش گرفتنه در طول روز؟ مدل دیتات چیه؟ زیاده Query هاش یعنی چی؟ Queryهات شکلش چین؟ بیشتر join دارن؟


بعدا میشه با پرداخت هزینه ای به یک گروه برنامه نویس سیستم رو به nosql تغییر داد
اگه سیستمت یه نرم افزار کوچیک و جمع و جوره و تازه تمیز هم نوشته بشه. آره میشه.
اما اینکار کلن توصیه نمیشه مخصوصن تو سیستم های بزرگ... ممکنه مجبور به بازنویسی کل سیستم بشی و هزینه اش که دوباره و بزرگتر از دفعه اول خواهد بود هیچی... ممکنه باعث مرگ سیستم بشه.

معماری سیستم های NoSQL در اساس یه فرقایی با سیستم های SQLی داره که ممکنه تاثیر توی سراسر سیستمت و کدش بزاره! واسه همین میگم میتونه نشدنی هم باشه.

cups_of_java
جمعه 18 بهمن 1392, 12:06 عصر
در نهایت، با توجه به چیزایی که نوشتی، نظر من اینه که
اگر نمیخوای الان هزینه کنی و مشاوره بگیری روی سیستم و انتخاب انجام بدی و ترجیحت SQL هست. بهتره دو تا چیز رو رعایت کنی:
1) یک اینکه از SQL درست استفاده کنی. خیلی سیستم های پر ترافیک و پر حجم اطلاعاتی هست که روی SQL نوشته شده و داره با سرعت بسیار بالا کار مکنه. مهم دانش استفاده درست از SQLی هاست که باعث میشه تو سیستم های بزرگ کم نیارن.
2) توی سیستمت حتمن از الگو هایی که دسترسی (ِDAO, Data Mapper, Active Record, Repository) به بانک اطلاعاتی رو برات ایزوله می کنن تو سراسر کد برنامه استفاده کن. با این کار بعدن راحت تر می تونی مخزن اطلاعاتیت رو عوض کنی و از SQL به یه چیز دیگه مهاجرت کنی.

معصومه ابهامی
سه شنبه 29 بهمن 1392, 16:17 عصر
به نظر من با توجه به نیاز و حجم داده ها باید سیاست درستی رو بگیری و این کار به نوع دیتابیس ربطی نداره که رابطه ای باشه یا NoSQL

مبین رنجبر
چهارشنبه 30 بهمن 1392, 11:16 صبح
به نظر من با توجه به نیاز و حجم داده ها باید سیاست درستی رو بگیری و این کار به نوع دیتابیس ربطی نداره که رابطه ای باشه یا NoSQL


کدوم کار به نوع دیتابیس ربطی نداره ؟