hercool
چهارشنبه 09 مهر 1393, 17:56 عصر
سلام دوستان
من به راهنمایتون نیاز دارم
من یک دیتابیس دارم که تا به الان جدول هاش تعداد رکورد خیلی زیادی داره و بعد از اینکه اطلاعات کامل بخواد واردش بشه حجمش تقریبا بیشتر میشه و هر روز هم بیشتر میشه
بزرگترین جدولم از لحاظ حجم و رکورد 185 میلیون رکورد داره و دو تا جدول 40 میلیونی و 4 تا جدول هم زیر پنج میلیون رکورد
بخاطر کمبود زمان و منابع و همچنین اطلاعات ناقص من مجبور شدم اطلاعات را داخل دیتابیس بریزم تا این اطلاعات و منابع از دست نره تا بعدا یک دیتابیس خوب با اندیس گذاری و شرایط نگه داری خوب براش طراحی و ایجاد بشه
تا جایی که تونستم سعی کردم از افزونگی جلوگیری کنم
مشکل فعلی این هست که جداول دیتابیس ایندکس گذاری نشدن و سرعت خواندن بسیار پایین است و همچنین منابع سیستمی زیادی رو در هر بار پرس و جو از دیتابیس از من میگیره تقریبا سیستم شکه میشه :لبخند:
برای یک پرس و جویی که 1400 بار اجرا میشه تقریبا هر اجرا 4:46 ثانیه زمان میبره که از جدول بزرگه پرس و جو انجام بشه که عدد بزرگ 6244 دقیقه وقت میگیره که اصلا خوب نیست(فاجعه هست)
حالا می خوام ایندکس گذاری کنم و احتمال میدم که اگر بخوام ایندکس گذاری کنم به داده اسیب برسه بنابراین می خوام از جدول بزرگه رونویسی کنم روی جدولی با همون ساختار (این قسمت هم بخاطر حجم بالا برام سواله که چطور این کار را باید اصلا انجام بدم که به اطلاعات اسیبی وارد نشه)
اما قبلش یه سوال اساسی برام پیش اومده برای جدولی(بزرگه) که هر روز بهش 300 تا 500 هزار رکورد در روز وارد میشه و اطلاعات بر اساس تاریخ و کد شرکت ها وارد میشه دیتابیس و جدول را به چه شکلی ایجاد و مدیریت کنم تا بهترین بهره را از منابع سیستمی و زمان ببرم
ایا این حجم اطلاعات در یک جدول درست است؟
ایا می توان بر اساس یک فیلد مشخص( تاریخ یا کد شرکت )جداول را به چند جدول تقسیم کرد؟
ایا می توان بجای ان از چند دیتابیس استفاده کرد؟
مدیریت JOB ها و بک هاپ ها هم باید در نظر گرفته شود
حجم فعلی کل این دیتابیس 30 گیگ هست و تمام اطلاعات مهم و به سختی تهیه شده و ارزش مالی و معنوی زیادی داره
ممنون میشم در این زمینه راهنماییم کنید
من به راهنمایتون نیاز دارم
من یک دیتابیس دارم که تا به الان جدول هاش تعداد رکورد خیلی زیادی داره و بعد از اینکه اطلاعات کامل بخواد واردش بشه حجمش تقریبا بیشتر میشه و هر روز هم بیشتر میشه
بزرگترین جدولم از لحاظ حجم و رکورد 185 میلیون رکورد داره و دو تا جدول 40 میلیونی و 4 تا جدول هم زیر پنج میلیون رکورد
بخاطر کمبود زمان و منابع و همچنین اطلاعات ناقص من مجبور شدم اطلاعات را داخل دیتابیس بریزم تا این اطلاعات و منابع از دست نره تا بعدا یک دیتابیس خوب با اندیس گذاری و شرایط نگه داری خوب براش طراحی و ایجاد بشه
تا جایی که تونستم سعی کردم از افزونگی جلوگیری کنم
مشکل فعلی این هست که جداول دیتابیس ایندکس گذاری نشدن و سرعت خواندن بسیار پایین است و همچنین منابع سیستمی زیادی رو در هر بار پرس و جو از دیتابیس از من میگیره تقریبا سیستم شکه میشه :لبخند:
برای یک پرس و جویی که 1400 بار اجرا میشه تقریبا هر اجرا 4:46 ثانیه زمان میبره که از جدول بزرگه پرس و جو انجام بشه که عدد بزرگ 6244 دقیقه وقت میگیره که اصلا خوب نیست(فاجعه هست)
حالا می خوام ایندکس گذاری کنم و احتمال میدم که اگر بخوام ایندکس گذاری کنم به داده اسیب برسه بنابراین می خوام از جدول بزرگه رونویسی کنم روی جدولی با همون ساختار (این قسمت هم بخاطر حجم بالا برام سواله که چطور این کار را باید اصلا انجام بدم که به اطلاعات اسیبی وارد نشه)
اما قبلش یه سوال اساسی برام پیش اومده برای جدولی(بزرگه) که هر روز بهش 300 تا 500 هزار رکورد در روز وارد میشه و اطلاعات بر اساس تاریخ و کد شرکت ها وارد میشه دیتابیس و جدول را به چه شکلی ایجاد و مدیریت کنم تا بهترین بهره را از منابع سیستمی و زمان ببرم
ایا این حجم اطلاعات در یک جدول درست است؟
ایا می توان بر اساس یک فیلد مشخص( تاریخ یا کد شرکت )جداول را به چند جدول تقسیم کرد؟
ایا می توان بجای ان از چند دیتابیس استفاده کرد؟
مدیریت JOB ها و بک هاپ ها هم باید در نظر گرفته شود
حجم فعلی کل این دیتابیس 30 گیگ هست و تمام اطلاعات مهم و به سختی تهیه شده و ارزش مالی و معنوی زیادی داره
ممنون میشم در این زمینه راهنماییم کنید