لدي قاعدة بيانات 'MYSQL' تحتوي على 400000 سجل، [معلومات وتفاصيل عن المستخدم].
ما هي افضل طريقة او قاعدة بيانات للتعامل مع هذه البيانات والبحث بها؟
لا تعقد الأمور على نفسك، 400 ألف رقم صغير وليس بيانات ضخمة وعلى الأغلب قاعدة البيانات كاملة يمكن أن تتسع في الذاكرة RAM. لو عرضت database scheme وما تحاول فعله لحصلت على ردود أدق لكن بشكل عام تأكد من وجود indexs ومن كتابة الاستعلامات بشكل ملائم لها، من إعداد سيرفر MySQL ليستخدم كامل امكانيات الجهاز/السيرفر المستضيف وقد تحتاج اما لعمل normalization أو حتى denormalization في بعض الأحيان بناء على ما تحاول القيام به.
هناك عدة طرق,
بطبيعة الحال احسن شيء هو عند القيام بهندسة قاعدة بيانتك بحيث تتفادى التكرار وحفظ المعلومات التي يمكن حسابها ... الخ
لكن بما ان قاعدة البيانات موجودة وتغير طريقة حفظ البيانات ربما يؤدي الى اعادة كتابة الكثير من كود البرنامج يمكنك العمل على تحسين الطريقة التي تبحث بها في القاعدة. مثلا:
انشاء indexes
اعادة ترتيب الاوامر (حتى وان كان ال Database managment system يحتوي على خوازميات تقوم باعادة ترتيب الاومر بحيث تستغرق عملية البحث وقت اقل)
يمكنك الاطلاع على بعض النصائح في موقع الـ DMS الذي تستعمله.
بعض النصائح هنا:
هذه لا تعتبر كبيرة ولا قريبة من الكبيرة. الحل فقط ابحث في طريقة إعداد الخادم لرفع الكاش واستخدم إعدادات innodb huge أو 4gb من مجلد أمثلة الإعدادات.
فالإعدادات التلقائية متحفظة جدا معمولة لجهاز بنص غيغا رام أو أقل.
البيانات الكبيرة لناس مثل سيرن عندهم كذا بيتا بايت في الثانية. انظر ال v الثلاثة او الأربعة إن شئت
استخدم بعض التقنيات مثل
stored procedure
cache
ونصيحتي لك استخدم خدمة Amazon AWS، راح توفر لك بيئة مناسبة لقاعدة البيانات وبتساعدك في موضوع ال Optimization
هذه ليست بيانات كبيرة إن كنت تقصد Big Data
عليك تحسين الإستعلام استخدام indexs وباقي النصائح التي ذكرها الزملاء هنا
السلام عليكم،
لمعالجة البيانات الكبيرة الأفضل استخدام قاعدة NoSQL جرب MongoDB
أيضا لاستعراض بيانات استخدم Ajax
بالتوفيق.
كلا، بل رأيت ذلك... ربما لم أوضح إجابتي
الذي كنت أقصد أن تحول قاعدة البيانات إلى نمط مستندي Document Based ثم إلى أحد قواعد البيانات غير العلائقية NoSQL بغرض الاستفادة من سرعة الاستعلام عن البيانات، طبعا هذا يتوقف على شكل تصميم قاعدة البيانات نفسها.
عموما هناك حلول للتحويل من إلى MongoDB
تفاصيل أكثر:
التعليقات