PDA

View Full Version : قدرت mysql



n0o0b_sina
شنبه 02 اسفند 1393, 22:34 عصر
سلام
میدونم سوال مربوط به این تالار نیست ولی چون دوستان اینجا فعال تر و مطلع تر هستن اینجا تاپیک رو زدم امیدوارم مدیریت محترم تاپیک رو حذف/انتقال ندن.
آیا mysql قادره حدوده 1 میلیون دیتا یا بیشتر رو در هر ثانیه ذخیره کنه و بین اونها جستجو انجام بده؟
ایا گزینه ی بهترین هست؟ دیتابیس های nosql چطور؟

golbafan
شنبه 02 اسفند 1393, 23:43 عصر
oracle, mysql و sqlserver این توانایی رو میتونن به شما بدن

البته بستگی به قدرت سرور و همچنین نوع داده هاتون داره (مقدار حافظه - سرعت پردازش - شرعت حافطه raid - پهنای باند و غیره)

البته برای این جور مواقع از حالت cluster استفاده میشه

(نکته مهم: خیلی وقتا سخت افزار عامل محدود کننده شماست): مثلا اگر حجم یک میلیون رکوردی رو که گفتید محاسبه کنید باید ببینید آیا پردازش این حجم در ثانیه آیا اصلا از سخت افزار بر میاد یا نه

لینک زیر رو ببینیند:
http://www.mysql.com/products/cluster/

n0o0b_sina
یک شنبه 03 اسفند 1393, 00:00 صبح
کاملا حق با شماست.
ولی طبق مطالعات گذشته متوجه شدم که دیتابیس های nosql برای دیتا های بزرگ استفاده میشه!!! الان من نمیدونم این مقدار دیتا در ثانیه دیتای بزرگ حساب میشه یا نه، آیا با فرض اینکه از لحاظ سخت افزاری محدودیتی نداریم mysql قادره بین این همه دیتا جستجو (نه خیلی پیچیده) انجام بده؟
دیتابیس های nosql چه مزیتی بر دیتابیس های sql دارن؟ برای همچین حجمی چه دیتابیسی مناسبه؟ آیا سرعت nosql از sql بیشتره؟ چون در این حجم سرعت خیلی مهمه
ممنون از توجهتون

bagherok
یک شنبه 03 اسفند 1393, 00:36 صبح
سلام
آیا mysql قادره حدوده 1 میلیون دیتا یا بیشتر رو در هر ثانیه ذخیره کنه و بین اونها جستجو انجام بده؟


در هر ثانیه ذخیره کنه
اونم یک میلیون

میشه بگید دقیقا این چه چیزیه که در ثانیه یک میلیون داده تولید میکنه که حالا باید ذخیره بشه.

ساخت یک میلیون داده که کاری نداره
https://github.com/benkeen/generatedata
http://dumps.wikimedia.org/enwiki/latest/
خودتون کوئری بزنید تست کنید..

بعلاوه با استفاده Elastic Search یا Sphix و همچنین کش و ایندکس گذاری درست میشه تا حدود زیادی سرعت رو بهبود داد...

golbafan
یک شنبه 03 اسفند 1393, 00:45 صبح
کاملا حق با شماست.
ولی طبق مطالعات گذشته متوجه شدم که دیتابیس های nosql برای دیتا های بزرگ استفاده میشه!!! الان من نمیدونم این مقدار دیتا در ثانیه دیتای بزرگ حساب میشه یا نه، آیا با فرض اینکه از لحاظ سخت افزاری محدودیتی نداریم mysql قادره بین این همه دیتا جستجو (نه خیلی پیچیده) انجام بده؟
دیتابیس های nosql چه مزیتی بر دیتابیس های sql دارن؟ برای همچین حجمی چه دیتابیسی مناسبه؟ آیا سرعت nosql از sql بیشتره؟ چون در این حجم سرعت خیلی مهمه
ممنون از توجهتون

nosql ها هزینه کمتری برای ذخیره سازی بیشتر دارند (مزیت خاص دیگه ای ندارند)

در عوض در انجام جستجوها کندتر هستند

n0o0b_sina
یک شنبه 03 اسفند 1393, 01:13 صبح
در هر ثانیه ذخیره کنه
اونم یک میلیون

میشه بگید دقیقا این چه چیزیه که در ثانیه یک میلیون داده تولید میکنه که حالا باید ذخیره بشه.

ساخت یک میلیون داده که کاری نداره
https://github.com/benkeen/generatedata
http://dumps.wikimedia.org/enwiki/latest/
خودتون کوئری بزنید تست کنید..

بعلاوه با استفاده Elastic Search یا Sphix و همچنین کش و ایندکس گذاری درست میشه تا حدود زیادی سرعت رو بهبود داد...


فرض کنید یه سایت آمار، البته این ماله زمانیه که بالای 1000 تا سایته پربازدید هست! ممنون از راهنماییتون تست میکنیم :)

rezaonline.net
یک شنبه 03 اسفند 1393, 01:24 صبح
آیا mysql قادره حدوده 1 میلیون دیتا یا بیشتر رو در هر ثانیه ذخیره کنه و بین اونها جستجو انجام بده؟

از لحاظ سخت افزاری محدودیتی نداریم
واقعا محدودیتی ندارید ؟؟؟؟

چه هاردی استفاده میکنید /؟
چقدر سی پی یو دارید ؟؟

شما یه تست کنید ده میلیون رکورد رو فقط دامپ بگیرید ببینید چقدر تایم میبره !!!

یک میلیون دیتا در ثانیه رو ندید میگم 32 کور سی پی یو هم از پسش بر نمیاد !!!

mysql دیتابیس عادی و متوسطی هست و برای کارهای معمولی مناسب هست هر چقدر بیشتر ازش انتظار داشته باشید باید هزینه بسیار بیشتری بپردازید .
از mongo استفاده کنید یا اگر خیلی اصرار دارید از sqlها استفاده کنید postgresql بهتره .
ولی بازم یک میلیون دیتا در ثانیه ؟!!!
یه پروزه تحقیقاتی میشه در حد خودش

rezaonline.net
یک شنبه 03 اسفند 1393, 01:26 صبح
فرض کنید یه سایت آمار، البته این ماله زمانیه که بالای 1000 تا سایته پربازدید هست! ممنون از راهنماییتون تست میکنیم :)

من سایت آمارگیر دارم الان پر بازدید ترین سایتم ثانیه ای 5 تا ده رکورد ثبت میکنه .
نهایتش شما ده هزار رکورد دارید در ثانیه نه یک میلیون رکورد :)

n0o0b_sina
یک شنبه 03 اسفند 1393, 02:25 صبح
واقعا محدودیتی ندارید ؟؟؟؟

چه هاردی استفاده میکنید /؟
چقدر سی پی یو دارید ؟؟

من فرض کردم که محدودیتی نداریم واگرنه مگه همچین حرفی امکان داره :)



شما یه تست کنید ده میلیون رکورد رو فقط دامپ بگیرید ببینید چقدر تایم میبره !!!

یک میلیون دیتا در ثانیه رو ندید میگم 32 کور سی پی یو هم از پسش بر نمیاد !!!

mysql دیتابیس عادی و متوسطی هست و برای کارهای معمولی مناسب هست هر چقدر بیشتر ازش انتظار داشته باشید باید هزینه بسیار بیشتری بپردازید .
از mongo استفاده کنید یا اگر خیلی اصرار دارید از sqlها استفاده کنید postgresql بهتره .
ولی بازم یک میلیون دیتا در ثانیه ؟!!!
یه پروزه تحقیقاتی میشه در حد خودش

شاید حق با شما باشه، ولی سایتایی مثله گوگل چقدر دیتا در ثانیه تولید میکنن؟ نمیدونم شاید به 1 میلیون برسه.
یعنی
postgresql عملکرد بهتری داره آیا؟



من سایت آمارگیر دارم الان پر بازدید ترین سایتم ثانیه ای 5 تا ده رکورد ثبت میکنه .
نهایتش شما ده هزار رکورد دارید در ثانیه نه یک میلیون رکورد :)

درسته برادر، ولی احتمالاتم باید در نظر بگیریم من صرفا مثال سایت آمار رو زدم؛ مثلا گوگل آنالیز هم مثاله خوبی شاید باشه

MMSHFE
یک شنبه 03 اسفند 1393, 08:10 صبح
دوست عزیز سایتی مثل گوگل داره روی پردازش ابری و با هزاران سرور در سرتاسر دنیا و با خنک کننده های عظیم الجثه کار میکنه و از دیتابیس BigDB خود گوگل هم استفاده میشه. دارین با اون مقایسه میکنید؟ حداقل 15 سال وقت دارین به اون حد از دیتا برسین. این لینک رو ببینید:
http://digiato.com/article/2014/10/01/%D8%AA%D8%B5%D8%A7%D9%88%DB%8C%D8%B1%DB%8C-%D8%AD%DB%8C%D8%B1%D8%AA-%E2%80%8C%D8%A7%D9%86%DA%AF%DB%8C%D8%B2-%D8%A7%D8%B2-%D8%AF%DB%8C%D8%AA%D8%A7%D8%B3%D9%86%D8%AA%D8%B1%D 9%87%D8%A7%DB%8C-%D8%B9%D8%B8/
همینطور این یکی:
http://www.rozanehonline.com/%D8%A7%DB%8C%D9%86%D8%AA%D8%B1%D9%86%D8%AA/%D8%AF%DB%8C%D8%AA%D8%A7-%D8%B3%D9%86%D8%AA%D8%B1-%D9%85%D8%AD%D8%B1%D9%85%D8%A7%D9%86%D9%87-%DA%AF%D9%88%DA%AF%D9%84%D8%8C-%D8%AC%D8%A7%DB%8C%DB%8C%DA%A9%D9%87-%D8%A7%DB%8C%D9%86%D8%AA%D8%B1%D9%86%D8%AA-%D8%B2%D9%86%D8%AF%DA%AF%DB%8C-%D9%85%DB%8C%DA%A9%D9%86%D8%AF.html

ضمناً کاربرد اصلی NoSQL جدا از بحث ذخیره سازی حجم زیاد، جایی هست که ساختار داده های شما به نحویه که نمیشه/بهینه نیست در قالب جدول ذخیره کنید. برای مثال هر رکورد فیلدهای متفاوتی داره یا طولشون برابر نیست و... و بخاطر همین مسئله، ذخیره سازی سریع و خوندن نسبتاً کندتری در مقایسه با SQL دارن.

یک نصیحت دوستانه: سری که درد نمیکنه رو دستمال نپیچین! منظورم اینه که تا وقتی که واقعاً به اون حجم از دیتا نرسیدین، لازم نیست نگران بحث سرعت MySQL باشین و بیشتر تمرکزتون رو روی پردازنده بگذارین. همین MySQL هم با یک هارد SSD و پردازنده Xeon با 32 هسته، میتونه 2 میلیارد رکورد رو در کمتر از 10 ثانیه Dump بگیره (تست شده). اگه پروژه رو هم به خوبی با معماری سه لایه (منظورم MVC نیست) پیاده سازی کنید، به راحتی بعداً میتونین لایه Data رو تغییر بدین. با همون MVC و PDO هم میتونید خیلی راحت بین DBMSهای معروف سوئیچ کنید. بقیه برنامه هم به اینکه اطلاعات چطور ذخیره میشه کاری نداره. اینطوری نگرانیهاتون بابت سرعت MySQL به وقتی موکول میشه که واقعاً احساس کنید دیگه جواب نمیده و الان میتونید تمرکزتون رو روی پیاده سازی خود برنامه و لایه های Business Login و UI (شامل MVC) بگذارین.

Unique
یک شنبه 03 اسفند 1393, 12:31 عصر
از همین الان توصیه میکنم به جای MySQL از MariaDB استفاده کنید. با توجه به سیاست های Oracle در قبال MySQL و اقبال بسیار زیاد MariaDB در نزد شرکت های مهم از جمله Google (http://readwrite.com/2013/09/14/google-waves-goodbye-to-mysql-in-favor-of-mariadb) تا چند سال دیگه MariaDB کاملا جایگزین MySQL میشه.

n0o0b_sina
یک شنبه 03 اسفند 1393, 16:02 عصر
دوست عزیز سایتی مثل گوگل داره روی پردازش ابری و با هزاران سرور در سرتاسر دنیا و با خنک کننده های عظیم الجثه کار میکنه و از دیتابیس BigDB خود گوگل هم استفاده میشه. دارین با اون مقایسه میکنید؟ حداقل 15 سال وقت دارین به اون حد از دیتا برسین. این لینک رو ببینید:
http://digiato.com/article/2014/10/01/%D8%AA%D8%B5%D8%A7%D9%88%DB%8C%D8%B1%DB%8C-%D8%AD%DB%8C%D8%B1%D8%AA-%E2%80%8C%D8%A7%D9%86%DA%AF%DB%8C%D8%B2-%D8%A7%D8%B2-%D8%AF%DB%8C%D8%AA%D8%A7%D8%B3%D9%86%D8%AA%D8%B1%D 9%87%D8%A7%DB%8C-%D8%B9%D8%B8/
همینطور این یکی:
http://www.rozanehonline.com/%D8%A7%DB%8C%D9%86%D8%AA%D8%B1%D9%86%D8%AA/%D8%AF%DB%8C%D8%AA%D8%A7-%D8%B3%D9%86%D8%AA%D8%B1-%D9%85%D8%AD%D8%B1%D9%85%D8%A7%D9%86%D9%87-%DA%AF%D9%88%DA%AF%D9%84%D8%8C-%D8%AC%D8%A7%DB%8C%DB%8C%DA%A9%D9%87-%D8%A7%DB%8C%D9%86%D8%AA%D8%B1%D9%86%D8%AA-%D8%B2%D9%86%D8%AF%DA%AF%DB%8C-%D9%85%DB%8C%DA%A9%D9%86%D8%AF.html

ضمناً کاربرد اصلی NoSQL جدا از بحث ذخیره سازی حجم زیاد، جایی هست که ساختار داده های شما به نحویه که نمیشه/بهینه نیست در قالب جدول ذخیره کنید. برای مثال هر رکورد فیلدهای متفاوتی داره یا طولشون برابر نیست و... و بخاطر همین مسئله، ذخیره سازی سریع و خوندن نسبتاً کندتری در مقایسه با SQL دارن.

یک نصیحت دوستانه: سری که درد نمیکنه رو دستمال نپیچین! منظورم اینه که تا وقتی که واقعاً به اون حجم از دیتا نرسیدین، لازم نیست نگران بحث سرعت MySQL باشین و بیشتر تمرکزتون رو روی پردازنده بگذارین. همین MySQL هم با یک هارد SSD و پردازنده Xeon با 32 هسته، میتونه 2 میلیارد رکورد رو در کمتر از 10 ثانیه Dump بگیره (تست شده). اگه پروژه هم رو به خوبی با معماری سه لایه (منظورم MVC نیست) پیاده سازی کنید، به راحتی بعداً میتونین لایه Data رو تغییر بدین. با همون MVC و PDO هم میتونید خیلی راحت بین DBMSهای معروف سوئیچ کنید. بقیه برنامه هم به اینکه اطلاعات چطور ذخیره میشه کاری نداره. اینطوری نگرانیهاتون بابت سرعت MySQL به وقتی موکول میشه که واقعاً احساس کنید دیگه جواب نمیده و الان میتونید تمرکزتون رو روی پیاده سازی خود برنامه و لایه های Business Login و UI (شامل MVC) بگذارین.
نه من نگرانی ای ندارم فقط میخواستم اطلاعات خودم رو بالا ببرم و از اطلاعات سایره دوستان هم استفاده کنم چون واقعا این بحثه دیتابیس ها برام گنگ بود :) ممنون از همه