PDA

View Full Version : ديتا بيس مناسب براي داده هاي داراي ساختار ثابت و تعداد ركورد رياد



parhamt
جمعه 05 دی 1393, 19:08 عصر
با سلام خدمت عزيزان
مباحث مربوط به ديتا بيس هاي nosql در سايت را تا حدود زيادي مطالعه كردم ولي جواب روشني براي سوال خودم نديدم.من داراي ديتا بيس mysql اي مربوط به يكي از اورگان ها هستم كه داراي تعداد چند صد ميليون ركورد دارد و روزانه 1-2 ميليون نيز به ان اضافه ميشود كه در حقيقت از سيستمي ديگر در فايلي درج و سپس از ان بصورت دقيقه اي من توسط php خوانده و import ميكنم . جداول ديتا بيس داراي ساختار فيلدي ثابت بوده و در حال حاضر باايجاد شكست هاي لازم و لحاظ مواردي چون ايندكس گذاري ، پارتيشن بندي و ... انرا اداره ميكنم و جوابگوي گزارشات در زير يك دقيقه هستم ولي در محدودي از گزارشات تركيبي مجبور شده ام براي اينكه در حالت عادي براي جوابگويي به فيلد هاي اطلاعاتي براي مثلا 500 المان كوئري زماني طولاني را ميداد با افزونگي ديتا زمان را بشكنم.لازم به ذكر هست كه مشكل سخت افزاري ندارم و سيستم داراي 32 گيگ رم و 8 cpu چهار هسته اي است و شايد تنها ضعفش داشتن 8 هارد غير ssd هست . متاسفانه mysql از اين منابع به خوبي استفاده نميكند و معمولا بيش از 10 درصد از امكانات را مورد بهرهبرداري قرار نميدهد.حال سوالم اينست كه براي مواردي كه ساختار اطلاعاتي ثابت است ولي حجم ديتا بالا و سوالات تركيبي و گزارشات تجميعي داريم بايستي از ديتا بيس هاي nosql استفاده كرد؟ و در اينصورت كدام ديتا بيس را پيشنهاد ميكنيد؟متشكرم

cups_of_java
جمعه 05 دی 1393, 20:30 عصر
اندازه هایی که شما گفتید توسط دیتابیس های رابطه ای هم قابل مدیریت هستند. PostgresSQL و Oracle می تونند به راحتی هندل کنند با تنظیمات لازم... به SSD هم نیازی ندارید. مموریتون هم خیلی کافیه. قبل از حرکت به noSQL ها می تونی اون ها رو هم امتحان کنی. حتی می تونی فورک جدید MySQL که اسمش MariaDB هست رو امتحان کنی. بهبود های زیادی داره و بدون تغییر کد می تونی جای mySQL نصبش کنی و تست کنی برنامت رو باهاش...

اما اگه دوس داری حرکتی به سمت mySQL ها انجام بدی... انتخاب کدومشون بستگی به جزییات محیط و کاربرد های دیتا ایه اون داره... طبیعتن تمام mysql ها جواب کارت رو میدن و لزومن همیشه واسه این استفاده نمیشن که شمای اطلاعاتی ثابت نیست...

شما می تونی از CouchDB یا MongoDB استفاده کنی... (هر چند که من MongoDB رو توصیه نمیکنم)

جواب یه سری سوالات رو باید از خودت بپرسی...

- حجم نوشتن زیاد تره یا خوندن؟ (نیاز به نوشتن موازی سریع هست یا خوندن؟)
- نیاز به حستجو و پرس و جوو های روی دیتای آنلاین هست؟ ( یا اینکه پرس و جو ها دیرتر انجام میشن)
- آیا پرس و جو ها حتمن باید رابطه ای انجام شن؟ (Join, ...) یا اینکه اینترفیس SQLی در اختیار کاربران قرار بگیره؟
- شما با NoSQL ها فضای بیشتری برای نگهداری اطلاعاتت مصرف خواهی کرد... آیا مشکلی نداره این سربار؟
...

parhamt
جمعه 05 دی 1393, 21:28 عصر
سلام cups_of_java عزيز
از توضيحات و وقتي كه گذاشتيد متشكرم.بايستي مطالبي كه گفتيد را بررسي كنم و در صورت نياز مجددا مزاحمتان شوم.
متشكرم