PDA

View Full Version : سوال: جستجو از روي رم سريع تره يا ديتابيس روي هارد



Anisi1371
یک شنبه 10 اردیبهشت 1391, 10:40 صبح
اگر اطلاعاتم رو روي رم نگه دارم تا روي هارد سرعت جستجو توش بيشتر ميشه؟ براي اين كار (نگه داري روي رم) چه راهي رو پيشنهاد مي كنيد؟ ريختن هر استرينگ توي يه آرايه و جستجو بين آرايه ها؟ روش جستجو چي باشه چون سرعت برام خيلي مهمه!

حامد مصافی
یک شنبه 10 اردیبهشت 1391, 13:26 عصر
اگر هر دو از الگوریتم یکسانی استفاده کنند سرعت رم بیشتره (که بدیهیه)

Anisi1371
دوشنبه 11 اردیبهشت 1391, 00:01 صبح
اگر هر دو از الگوریتم یکسانی استفاده کنند سرعت رم بیشتره (که بدیهیه)
حالا براي ذخيره روي رم و جستجو بين اونها استفاده از آرايه رو پيشنهاد مي كنيد يا راه ديگه اي هم هست؟

Hamid.RDN
دوشنبه 11 اردیبهشت 1391, 00:50 صبح
خوب آرایه متداولترین و ساده ترین راه ممکنه.
ضمنا استفاده از جستجوی باینری سرعت رو تا 800% افزایش میده.

Anisi1371
دوشنبه 11 اردیبهشت 1391, 17:00 عصر
امكانش هست كه ديتابيس رو روي رم قرار داد؟

mehdi.mousavi
دوشنبه 11 اردیبهشت 1391, 18:11 عصر
سلام.


حالا براي ذخيره روي رم و جستجو بين اونها استفاده از آرايه رو پيشنهاد مي كنيد يا راه ديگه اي هم هست؟

اصلا سوال خوبی نپرسیدید. ما انواع و اقسام Data Structure ها رو برای نگهداری انواع و اقسام داده ها در شرایط متفاوت داریم:


Binary Tree
Linked List
Hash Table
Map
Sorted List
Priority List
Heap
Set
Queue
Stack
Deque (دک خونده میشه، متاسفانه برخی اونو دی کیو میخونن!)
Graph
Array
Bitmap
و N تا دیگه

برای انتخاب یک Data Structure مناسب، باید مساله رو دقیق و شفاف توضیح بدید. در غیر اینصورت نمیشه پاسخ دقیقی به چنین سوالی داد.


امكانش هست كه ديتابيس رو روي رم قرار داد؟
احسنت! این سوال، بر خلاف سوال قبلی، سوال بسیار خوبیه. شما جای اینکه خودتون رو محدود به ساخت Database ای شکننده کنید، بهتره از یکی از In-Memory Database های موجود استفاده کنید. SQLite (http://barnamenevis.org/www.sqlite.org/) مودی داره که در اون مود، بانک در حافظه ایجاد میشه و امکان کار با اون داده ها توسط SQL برای شما فراهم میشه. بنظرم بد نیست قبل از دست به کار شدن، چنین Database هایی رو بررسی کنید...

موفق باشید.

Anisi1371
دوشنبه 11 اردیبهشت 1391, 18:16 عصر
سلام.



اصلا سوال خوبی نپرسیدید. ما انواع و اقسام Data Structure ها رو برای نگهداری انواع و اقسام داده ها در شرایط متفاوت داریم:



Binary Tree
Linked List
Hash Table
Map
Sorted List
Priority List
Heap
Set
Queue
Stack
Deque (دک خونده میشه، متاسفانه برخی اونو دی کیو میخونن!)
Graph
Array
Bitmap
و N تا دیگه


برای انتخاب یک Data Structure مناسب، باید مساله رو دقیق و شفاف توضیح بدید. در غیر اینصورت نمیشه پاسخ دقیقی به چنین سوالی داد.


احسنت! این سوال، بر خلاف سوال قبلی، سوال بسیار خوبیه. شما جای اینکه خودتون رو محدود به ساخت Database ای شکننده کنید، بهتره از یکی از In-Memory Database های موجود استفاده کنید. SQLite (http://barnamenevis.org/www.sqlite.org/) مودی داره که در اون مود، بانک در حافظه ایجاد میشه و امکان کار با اون داده ها توسط SQL برای شما فراهم میشه. بنظرم بد نیست قبل از دست به کار شدن، چنین Database هایی رو بررسی کنید...

موفق باشید.

خوب الان به نظر شما استفاده از موارد بالا بهتره يا مورد آخري (In-Memory Database)

mehdi.mousavi
دوشنبه 11 اردیبهشت 1391, 18:23 عصر
خوب الان به نظر شما استفاده از موارد بالا بهتره يا مورد آخري (In-Memory Database)

عرض کردم، به پارامترهای زیادی بستگی داره: :)


اگر برای دانشگاه هستش و از سر باز کردن، یکی از همون موارد بالا کفایت می کنه.
در غیر اینصورت، بسته به حجم داده ها، مدت زمان انجام کار، استفاده / عدم استفاده از داده های تولید شده توسط 3rd party ها، دسترسی / عدم دسترسی چند Client بطور همزمان به داده ها و ... باید خودتون تصمیم بگیرید که بانک رو خودتون بسازید یا از In-Memory DB ها استفاده کنید.

موفق باشید.

Anisi1371
دوشنبه 11 اردیبهشت 1391, 22:14 عصر
فقط يه برنامه هست كه در ديتابيس اطلاعات رو ذخيره و جستجو ميكنه.
اطلاعات در حد يك اسم هست ولي تعداد اسمها مي تونه به ميليون هم برسه.
براي دانشگاه نيس. سرعت خيلي مهمه.

mehdi.mousavi
سه شنبه 12 اردیبهشت 1391, 10:51 صبح
فقط يه برنامه هست كه در ديتابيس اطلاعات رو ذخيره و جستجو ميكنه. اطلاعات در حد يك اسم هست ولي تعداد اسمها مي تونه به ميليون هم برسه. براي دانشگاه نيس. سرعت خيلي مهمه.

این اسامی میتونن تکراری باشن یا خیر، حتما Unique هستن؟

Anisi1371
سه شنبه 12 اردیبهشت 1391, 16:53 عصر
این اسامی میتونن تکراری باشن یا خیر، حتما Unique هستن؟
خير نبايد تكراري باشن
هر مرحله هم مي خوام همين رو چك كنم. كه اگر توي جدول نبود اضافش كنم.
در ضمن بايد يه ماتريس هم بسازم كه آي دي هاي اين اسامي اگر با هم رابطه داشتن درايه متناظر جفتشون 1 بشه.