نمایش نتایج 1 تا 13 از 13

نام تاپیک: تقسیم بار بروی سرور های مختلف

  1. #1
    کاربر دائمی آواتار nafasak
    تاریخ عضویت
    بهمن 1386
    محل زندگی
    وب
    پست
    151

    Question تقسیم بار بروی سرور های مختلف

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

    لطفا هرگونه راهنمایی، سرنخ ، نام روش، توضیح، روشهای بهتر و بهینه ، لینک و ... هر چیزی که به نظر لازمه که بدونم رو به من بگید.
    یا حتی اینکه آیا در مثلا پروسیجر Insert باید به روش خاصی کد بزنم یا نه رو هم راهنمایی بفرمایید.

    ممنون..

  2. #2
    کاربر دائمی
    تاریخ عضویت
    خرداد 1387
    محل زندگی
    تهران
    پست
    197

    نقل قول: تقسیم بار بروی سرور های مختلف

    سلام

    Cluster را مطالعه کنید

  3. #3
    کاربر دائمی آواتار in_chand_nafar
    تاریخ عضویت
    اردیبهشت 1389
    محل زندگی
    www.NikAmooz.com
    پست
    466

    نقل قول: تقسیم بار بروی سرور های مختلف

    دوست عزيز SQL Server عملا از LoadBalanced كلاستر (NLB) پشتيباني نمي كنه چون لود بالانس كلاستر فقط در برنامه هايي جواب ميده كه State Less باشند مثل IIS و ساير سرويس هاي ويندوز اما شركت هايي اومدن و اينكار را در بانك اطلاعاتي خودشون انجام دادن مثل اوراكل My SQL در اوراكل اين تكنولوژي RAC نام داره يه سر به اينجا بزن (و در ضمن جهت سلامتي مايكروسافت يه لعنت به اوركل بفرست)
    خوب اما براي SQL Server راه حل چيست يه شركتي به نام SANBOLIC اين كار را انجام داده و
    اما مايكروسافت چي كار كرده توي نسخه 2008R2 به بالا و 2012 (ماه مارس مياد) اومده از تكنولوژي اوپن سورس Hadoop استفاده كرده
    اينجا سر برن ثواب داره
    اينجا بري طوري نميشه
    خوب اگه اون دو لينك بالا رو خوندي يه سري مطلب در مورد اين پروژه و الگوريتمش گير آوردي
    يه سري هم به سايت مايكروسافت بزن
    http://blogs.msdn.com/b/uk_faculty_c...ows-azure.aspx
    http://www.microsoft.com/download/en....aspx?id=27584
    --------------------------------
    ببين دوست اون داستان هاي كه بالا گفتم رو يه خورده فراموش كن سناريوي خودت رو بيشتر توضيح بده تا بهتر راهنمايي بشي در ضمن SQL Server را دست كم نگير
    همين جوريش هم كلي جوابت رو ميده در ضمن به نظر من اگر مي خواهي توي ساير لايه هاي برنامه ات مثل لايه سرويس ها مثل بيزنس لاير و ديتا لاير اين كار را انجام بده
    بهتر كه سناريوي خودت رو بنويسي تا بيشتر راهنمايي بشي در ضمن اگر خواستي Hadoop رو محض آزمايش و.. راه بياندازي پيام خصوصي بده تا يه پروژه تعريف كنيم يه خورده سرم براي تحقيق و... درد مي كنه
    موفق باشي از نحوه نوشتن جملاتم ناراحت نشو چون امروز كمي حوصله ندارم
    خداحافط علي يارت



  4. #4
    کاربر دائمی آواتار nafasak
    تاریخ عضویت
    بهمن 1386
    محل زندگی
    وب
    پست
    151

    نقل قول: تقسیم بار بروی سرور های مختلف

    خیلی ممنون از توضیحات خوب شما،

    همونطور که گفتی بهتر کمی بیشتر توضیح بدم، صورت مسئاله اینه ،
    یه سایت خیلی بزرگ شبیه فیس بوک با کلی امکانات که در لحظه کلی درخواست به سمت سرور میاد.
    من در نظر گرفتم که از چند دیتابیس استفاده کنم. یکی برای ثبت نام و اطلاعات حیاتی کاربر، یکی برای اطلاعات ثانوی کاربر مثل کامنت هاش و فایلاش و ...
    (البته اینو بگم میخوام خیلی قوی کار کنم برای همین ممکنه سوالات عجیب و غریبی که به فکرم میرسه رو هم اضافه کنم ، شما ببخشید...)
    1- آیا اینکه از چند دیتابیس بسته به طبقه بندی کلی از نظر درخواست استفاده بشه خوبه؟؟
    خب، حالا در دیتابیس دوم گروه زیادی از کاربران با هم میخوان LIKE بزنن اما برای نوع های مختلفی از قبیل عکس، کامنت، پروفایل و ... که هر کدوم برای خودشو یک جدول جداگانه دارند.
    2- آیا بهتره جدول Like برای هرکدام از نوع هایی که گفتم جداگانه بسازم یا اینکه یک جدول Like داشته باشم و با یک فیلد مثلا Type رکوردهارو جدا کنم.
    3- حالا در حالت دوم در این لحظه که این همه درخواست برای یک SP میاد Hadoop یا چیزی مثل اون درخواست هارو کنترل میکنه؟
    4- توی کد من چیکار باید انجام بدم؟ یا توی spها و جداول؟

    ...فعلا همین...
    ممنون

  5. #5
    کاربر دائمی آواتار in_chand_nafar
    تاریخ عضویت
    اردیبهشت 1389
    محل زندگی
    www.NikAmooz.com
    پست
    466

    نقل قول: تقسیم بار بروی سرور های مختلف

    خوب غكر كنم شايد سناريوي شما بيشتر آزمايش و... باشه تا واقعي چون ما توي ايران واقعا Solution نداريم كه Hadoop و... را بتوان توي اون استفاده كرد يكي از راه هاي فسقلي و آسان و معمولي كه من خودم هم به ازاي تهيه گزارش هاي يكپارچه چند بانك اطلاعاتي استفاده كردم
    Distribute Query‌است اطلاعات روي چند سرور ذخيره شذه با اين روش همه اطلاعات را از روي اين چند تا كشيدم بيرون و...
    اما بيشتر پردازش اصلي در اين حالت روي سروري است كه اطلاعات را Merge‌مي كند
    اما بد نيست بري دنبال اين موضوع كه در زير مي بيني (البته باز روشي نيست كه واقعا بار پردازشي را مثل Hadoop و يا RAC مربوط به اوراكل مديريت كنه و...)
    Federated Database Servers


    http://msdn.microsoft.com/en-us/libr...sql.80%29.aspx

    اگر خواستي در مورد Hadoop كار كني در مورد R&D و... مي تونيم با هم همكاري كنيم موفق باشيد




  6. #6
    کاربر دائمی آواتار nafasak
    تاریخ عضویت
    بهمن 1386
    محل زندگی
    وب
    پست
    151

    نقل قول: تقسیم بار بروی سرور های مختلف

    بازم ممنون،
    راستش مسئاله آزمایش نیست.
    مسئاله اینه که من میخوام تکنولوژی روز رو بدونم.
    و اینه من به عنوان یک تولید کننده نرم افزار برای استفاده از این تکنولوژی باید چه تدابیری در کدنویسی (نرم افزار / دیتابیس) داشته باشم. یعنی چه کارهای مرسوم و جدید رو باید انجام بدم و چه کارهای مرسومی رو نباید انجام بدم، مسئاله اصلا ایران نیست. مسئاله تکنولوژی روز برای یک کار بزرگه....
    در مورد 4 تا سوال در پست قبل من 1 و 2 رو تا حدی فهمیدم که جدا سازی کار درستیه. باز هم اگه نظری دارید خوشحال میشم بفرمایید.
    3 و 4 رو هنوز نمیدونم...
    {
    3- حالا در حالت دوم در این لحظه که این همه درخواست برای یک SP میاد Hadoop یا چیزی مثل اون درخواست هارو کنترل میکنه؟
    4- توی کد من چیکار باید انجام بدم؟ یا توی spها و جداول؟
    }

  7. #7
    کاربر دائمی آواتار in_chand_nafar
    تاریخ عضویت
    اردیبهشت 1389
    محل زندگی
    www.NikAmooz.com
    پست
    466

    نقل قول: تقسیم بار بروی سرور های مختلف

    اگر از Hadoop استفاده كنيد توي كد لازم نيست كاري انجام بديد روش كار Hadoop اين است كه بانك اطلاعاتي شما را بين سرور هاي مختلف پخش مي كند وقتي Insert انجام مي ديد خود به خود ديتا شما بين چندين سرور درج ميشه و وقتي Select مي كنيد اين ديتا از روي هر كدام از سرورها خونده ميشه (تعدادي از سرور 1 تعدادي از سرور 2 و.../دقيقا مثل RAID) و در اختيار شما قرار مي گيره
    Hadoop تقر يبا مشابه Google File System است شما در حالت عادي ايندكس ها و... را درست تنظيم كنيد در ضمن با مسائل مربوط به SQL Tuning هم سعي كنيد آشنا شويد
    http://en.wikipedia.org/wiki/Apache_Hadoop (Google File System)
    خيلي خوشحال مي شوم مي بينم توي انجمن بچه ها دنبال يه همچين مسائلي در حد Enterprise هستند
    موفق و مويد باشيد

  8. #8
    کاربر جدید
    تاریخ عضویت
    تیر 1388
    محل زندگی
    مشهد-تهران
    سن
    40
    پست
    12

    نقل قول: تقسیم بار بروی سرور های مختلف

    با سلام خدمت همه دوستان.

    در پست ها از Hadoop صحبت شده بود ولی چیزی که من در این مورد میدونم این هست که Hadoop یک FrameWork هست که جهت آنالیز دیتا ها سنگین انجام میشه که در روش های سبک تر آن همان BI میباشد ،Hadoop از روش MapReduce جهت آنالیز استفاده میکنه که همان روش گوگل یا هو و ... میباشد اما مسئله که باید به آن دقت کرد اینه که ما قرار نیست Data را آنالیز کنیم قرار هست که Data را بر روی چندین سرور توزیع کنیم.جهت این توزیع همان طور که یکی از دوستان نقل کرده اند میشه که از Add Hoc Distribute Query‌ها مثل Linked Servers استفاده نمود و طبق یک الگوریتمی Data را بر روی سرور های مختلف با توجه به Request های ارسالی توزیع کرد و در زمان واکشی از Object هایی مثل Linked Servers یا OpenRowSet استفاده نمود.

  9. #9
    کاربر دائمی آواتار nafasak
    تاریخ عضویت
    بهمن 1386
    محل زندگی
    وب
    پست
    151

    نقل قول: تقسیم بار بروی سرور های مختلف

    شما منبع خاصی رو در رابطه با مطالبی که فرمودید سراغ دارید ؟

  10. #10
    کاربر دائمی آواتار in_chand_nafar
    تاریخ عضویت
    اردیبهشت 1389
    محل زندگی
    www.NikAmooz.com
    پست
    466

    نقل قول: تقسیم بار بروی سرور های مختلف

    برای تقسیم بار روش های مختلفی جهت تقسیم و انتقال دیتا روی سرورهای مختلف وجود داره
    1- Federation database :توی Books Online مطلب کاملی درباره اون جود داره
    یکی از این روش ها این است که شما بیس داده ها رو طوری در نظر بگیرین که عملا روی چند سرور تقسیم شده باشند
    برای مثال در جدول کاربران فرض می کنیم 60 میلیون رکورد قرار است ذخیره شود (هر چند این عملا برای SQL چیزی نیست) می گوییم از رکورد 1 تا 30 میلیون روی سرور A و از رکورد 30 میلیون به بعد در سرور B بعد با استفاده از Distribute Query و... اطلاعات را یه جا جمع می کنیم که بزرگترین مشکل این روش این است که شما عملا وقتی دارید دیتاها را در یک جا جمع می کنید بار پردازش اون رو روی یه سرور میگذارین
    2 - Peer to peer Replication : وقتی از این روش استفاده می کنید انگا یه شبکه فول مش دارین دیتا روی تمامی سرورها کپی در موقع واکشی داده ها برای پردازش می تونید با لود بالانسر و... کاربران را بین سرورهای مختلف پاس بدین اما مشکل این روش این است که عین دیتا شما در تمامی سرورها کپی میشه و بعدها و....

    3- SQL Server 2012 :عزیزم یه سناریوی به نام HADR داره که تیو اون شما می توانید از انواع روش های HA (ترکیبی و...) استفاده کنید در این حالت کافی است در این حالت فرض کنید که شما چندتا سرور دارین که روی یک Storage در حال کار هستند یکی از این سرور دسترسی کامل به بانک شما داره و مابقی سرورها Disaster اون هستن (تا زمان 2008 این طور بود ) اما در 2012 شما دسترسی Readonly به سایر نودها دارین ولی عملا شما باید یه Storage مشترک داشته باشین و .... البته لازم می دونم که فعلا دارم روی این قضیه با VM کار می کنم نظرات قطعی و... را در آینده Release خواهم کرد
    4- Hadoop : کلیه مواردی که در بالا گفتم از دوستانم شنیدم و واقعا آزمایش نکردم اما می دونم اون ها اینکاره بودن و.... در این مورد هم یه سری تحقیق می کنم و نتیجه رو می گم از دوست عزیزم v.hosseini2008
    می خوام که اگر منبع خوب و... که با این موضوع کار کرده باشه اطلاع رسانی کنند موفق باشید

  11. #11
    کاربر دائمی آواتار in_chand_nafar
    تاریخ عضویت
    اردیبهشت 1389
    محل زندگی
    www.NikAmooz.com
    پست
    466

    نقل قول: تقسیم بار بروی سرور های مختلف

    آقا ثواب کردی این بحث رو زنده کردی دو سه تا مطلب گیر آوردم و اگر خدا خواست یه سری سیستم خوب داره به دست میرسه برای تست این حالت در ضمن یه سری به اینجا بزن

    http://facility9.com/2010/12/getting-started-with-hive/
    https://ccp.cloudera.com/display/SUPPORT/Downloads
    http://hadoop.apache.org/common/docs...uickstart.html
    http://pages.cs.brandeis.edu/~cs147a/lab/hadoop-windows/
    http://www.slideshare.net/Mathias-He...ig-syntax-card
    http://hadoop.apache.org/

  12. #12
    کاربر جدید
    تاریخ عضویت
    تیر 1388
    محل زندگی
    مشهد-تهران
    سن
    40
    پست
    12

    نقل قول: تقسیم بار بروی سرور های مختلف

    نقل قول نوشته شده توسط in_chand_nafar مشاهده تاپیک
    برای تقسیم بار روش های مختلفی جهت تقسیم و انتقال دیتا روی سرورهای مختلف وجود داره
    1- Federation database :توی Books Online مطلب کاملی درباره اون جود داره
    یکی از این روش ها این است که شما بیس داده ها رو طوری در نظر بگیرین که عملا روی چند سرور تقسیم شده باشند
    برای مثال در جدول کاربران فرض می کنیم 60 میلیون رکورد قرار است ذخیره شود (هر چند این عملا برای SQL چیزی نیست) می گوییم از رکورد 1 تا 30 میلیون روی سرور A و از رکورد 30 میلیون به بعد در سرور B بعد با استفاده از Distribute Query و... اطلاعات را یه جا جمع می کنیم که بزرگترین مشکل این روش این است که شما عملا وقتی دارید دیتاها را در یک جا جمع می کنید بار پردازش اون رو روی یه سرور میگذارین
    2 - Peer to peer Replication : وقتی از این روش استفاده می کنید انگا یه شبکه فول مش دارین دیتا روی تمامی سرورها کپی در موقع واکشی داده ها برای پردازش می تونید با لود بالانسر و... کاربران را بین سرورهای مختلف پاس بدین اما مشکل این روش این است که عین دیتا شما در تمامی سرورها کپی میشه و بعدها و....

    3- SQL Server 2012 :عزیزم یه سناریوی به نام HADR داره که تیو اون شما می توانید از انواع روش های HA (ترکیبی و...) استفاده کنید در این حالت کافی است در این حالت فرض کنید که شما چندتا سرور دارین که روی یک Storage در حال کار هستند یکی از این سرور دسترسی کامل به بانک شما داره و مابقی سرورها Disaster اون هستن (تا زمان 2008 این طور بود ) اما در 2012 شما دسترسی Readonly به سایر نودها دارین ولی عملا شما باید یه Storage مشترک داشته باشین و .... البته لازم می دونم که فعلا دارم روی این قضیه با VM کار می کنم نظرات قطعی و... را در آینده Release خواهم کرد
    4- Hadoop : کلیه مواردی که در بالا گفتم از دوستانم شنیدم و واقعا آزمایش نکردم اما می دونم اون ها اینکاره بودن و.... در این مورد هم یه سری تحقیق می کنم و نتیجه رو می گم از دوست عزیزم v.hosseini2008
    می خوام که اگر منبع خوب و... که با این موضوع کار کرده باشه اطلاع رسانی کنند موفق باشید

    دوست عزیز لطفا در مورد بند 3 اگر رفرنسی دارین معرفی کنید و یا اینکه یک مقداری واضح تر توضیح بدین ممنون.و اما در مورد Hadoop من اون چیزی را که خودم خوندم مطرح کردم ولی بصورت عملی با هاش کار نکردم.
    و مطلب دیگه اینگه Federation database فکر میکنم در خصوص دیتا بیس های IBM قابل اجرا است اینطور نیست؟

  13. #13
    کاربر دائمی آواتار in_chand_nafar
    تاریخ عضویت
    اردیبهشت 1389
    محل زندگی
    www.NikAmooz.com
    پست
    466

    نقل قول: تقسیم بار بروی سرور های مختلف

    این کلمه را در Books online سرچ کنید
    Federated Database Servers
    در ضمن این مبحث روی اکثر بانک های اطلاعاتی وجود دارد

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •