سوال در مورد مفاهیم اکتیو رکورد

[rtl]

سلام دوستان این اکتیو رکورد همون no sql منظور هست یا نه یه چیز دیگست؟

[/rtl]

[rtl][font="Tahoma"]سلام،

راستش تا اونجا که سواد من قد میده noSQL ‏(not only sql به معنای نه تنها اس‌کیوال) یه نوع RDBMS مثل mySQL, MSSQL, Oracel و … است و هیچ ارتباطی به الگوی ActiveRecord که به نوعی دسترسی شیء گرا به دیتابیس است، ندارد.

http://en.wikipedia.org/wiki/NoSQL

http://en.wikipedia…_record_pattern

تشکر

[/font][/rtl]

[font="Tahoma"][rtl]

بلی درست فرمودید. حالا این اکتیو رکورد هم یه نوع دسترسی به دیتابیس به صورت شی گراست اینطور که تو ویکی نوشته.

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

اونی که توی دموی بلاگ نوشته از این نوع ساختار استفاده کرد

[/rtl]

[/font]

[right][rtl][font="Tahoma"]

سلام،

پرفورمنس این نوع دسترسی بالاتر نیست، پایین تر هم هست، اما این به دلیل طیف وسیع امکاناتی هست که در اختیار میگذاره.

برای نیازهای معمول، این افزایش حجم پردازش مشکلی ایجاد نمیکنه و مزایای این روش غالب هست. اما اگر جایی محدودیت خاصی دارید یا پرفورمنس اولویت داره، مثل پیاده سازی جستجوی سایت، میتونید از query builder استفاده کنید که سرعت خیلی بیشتری داره و البته به نسبت امکانات و آسانی استفاده کمتر

[/font][/rtl][/right]

[rtl][font="Tahoma"]با قابلیت criteria که در اختیار میگذاره، تقریباً پیچیده تریم حالت ها رو میشه پیاده کرد آیا دلیل یا مثال بارزی دارید که دلیل بر پایین بودن کارایی اون هست؟[/font][/rtl]

[right][rtl][font="Tahoma"]

بله، برای استفاده خیلی خوب و با قابلیت هست

در رابطه با کارایی چند تا مطلب خونده بودم که الان به یکیش لینک میدم، میگه:

قضیه وقتی خودش رو نشون میده که شما چند صد یا چند هزار رکورد رو از دیتابیس بخوای بخونی، مثل اتفاقی که تو جستجوی سایت یا گزارش گیری های خاص میفته. در اون حالت اکتیو رکورد میتونه موجب افت کارایی شه. من سر همین قضیه تو یه پروژه مجبور شدم با Query Builder جستجو رو پیاده کنم. در مقایسه با هم، در مواقعی که تعداد رکوردهای جواب زیاد بود، سرعت Query Builder تا ۵ برابر اکتیو رکورد هم میشه، که با توجه به ساختار داخلی اکتیو رکورد منطقی هم هست.

البته یک سری روش های cache کردن هم وجود داره که خیلی کارایی اکتیو رکورد رو بهبود میده، اما من تابحال استفاده نکردم

در کل اما جز برخی مواقع و جاهایی که کارایی اولویت اول هست، دلیلی برای استفاده نکردن ازش وجود نداره

[/font][/rtl][/right]

[Rtl]

ممنون از راهنماییهاتون.حالا کودوم یکیش بازدهی بالا رو داره و بشه راحت ازش استفاده کرد؟

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

[/Rtl]

[right][rtl][font="Tahoma"]

همه اینا رو گفتیم که به این برسیم که شما همیشه از اکتیورکورد استفاده کن مگه اینکه خلافش ثابت شه، که به این راحتی ها نمیشه :)

[/font][/rtl][/right]