View Full Version : به دنبال ديتابيس
golbafan
سه شنبه 02 شهریور 1389, 12:40 عصر
سلام
مدتيه دنبال ديتابيس خوب ميگردم
از sql و bde گرفته تا absolute و firebird
هركدوم خوبيهاي خودشونو دارن ولي من دنبال اوني ميگردم كه نياز به dll يا نصب نرم افزارهاي ديگر نداشته باشه - خيلي سريع باشه و فيلد اتواينكريمنتش در شبكه قابل اعتماد باشه
مهمتر از همه بتونه دستورات sql رو ساپورت كنه
راستش من accuracer4.97 رو پيدا كردم كه خصوصيات فوق رو داشت ولي متاسفانه وقتي شبكه ميشد سرعتش بسيار كم ميشد شايد تا 100 برابر كاهش!
البته ميگن نسخه 5 اين مشكل رو نداره و يا مثلا نسخه CS كلاينت سرور
ولي من نتونستم توي وب پيداش كنم... بگذريم....
حالا از شما دوستان عزيز ميخوام كه منو به سمت و سوي يك ديتابيس خوب راهنمايي كنيد
منظورم از عبارت آبي رنگ:
وقتي كلاينت #1 اينسرت ميكنه ولي پست نكرده كلاينت #2 هم اينسرت ميكنه و پست نميكنه . بعد مثلا اگر آخرين اتواينكريمنت 5 باشه بايد بعد از پست شدن از طرف كلاينت ها يك ارزش 6 و يك ارزش 7 ايجاد بشه كه در بعضي ديتابيس ها (و... - mssql - bde) اين كار مشكل پيدا ميكنه چون هردو كلاينت عدد 6 رو ايجاد ميكنند و ما با يك ارور خيط روبرو ميشيم
مرسي
mofrad
چهارشنبه 03 شهریور 1389, 13:25 عصر
میتونید از DBISAM استفاده کنید که نیاز به نصب هیچ engine نداره و شبکه اش هم خیلی راحت و ساده است.
یک سرچ بکنی همه چیز دستت میاد!
tdkhakpur
چهارشنبه 03 شهریور 1389, 17:55 عصر
بعد مثلا اگر آخرين اتواينكريمنت 5 باشه بايد بعد از پست شدن از طرف كلاينت ها يك ارزش 6 و يك ارزش 7 ايجاد بشه كه در بعضي ديتابيس ها (و... - mssql - bde) اين كار مشكل پيدا ميكنه چون هردو كلاينت عدد 6 رو ايجاد ميكنند و ما با يك ارور خط روبرو ميشيم
خب همیه دیتا بیسها همین خاصیت رو دارن شما باید کنترل خودتان را به هنگام update و یا هر نو تغییر تحول اعمال کنید.
علت بروز چنین مشکلات عدم استفاده گز lock و unlock جداول هست.
irdataBase زیربنای بانکهای اطلاعاتی (http://barnamenevis.org/forum/showthread.php?t=240356)
golbafan
جمعه 05 شهریور 1389, 11:48 صبح
میتونید از DBISAM استفاده کنید که نیاز به نصب هیچ engine نداره و شبکه اش هم خیلی راحت و ساده است.
یک سرچ بکنی همه چیز دستت میاد!
سلام
راستش مشكلي كه DBISAM داره سرعتشه وگرنه خوبه
golbafan
شنبه 06 شهریور 1389, 15:31 عصر
لطفا راهنمايي كنيد
اگر كسي turbodb 6 داره بهم پيغام بده
mofrad
شنبه 06 شهریور 1389, 17:45 عصر
سلام
راستش مشكلي كه DBISAM داره سرعتشه وگرنه خوبه
خب ElevateDB چطوره؟ این یونیکد رو هم پشتیبانی میکنه. در ضمن مشکل سرعت مربوط به نسخه های قدیمیش بود که الان بهینه تر شده.
http://www.elevatesoft.com/products
golbafan
سه شنبه 23 شهریور 1389, 12:10 عصر
در مورد سرعت ميشه گفت access خيلي خوبه ولي مشكلش امنيت بسيار پايينه
BORHAN TEC
یک شنبه 04 مهر 1389, 19:31 عصر
از هر چیزی که استفاده میکنید باید از نسخه Server آن استفاده کنید. در ضمن بعضی از دیتابیس ها برای مقاصد چند کاربره ساخته نشده اند که استفاده از آنها برای این کار اشتباه است. پیشنهاد من مثل همیشه Firebird است چون به هر شکلی که فکرش رو بکنید تستش کردم و جواب خوبی هم گرفتم. البته برای مقاصد چند کاربره حتماً از نسخه Server آن استفاده کنید و نه embeded!!! (نسخه 2.1.3)
golbafan
دوشنبه 05 مهر 1389, 20:21 عصر
از هر چیزی که استفاده میکنید باید از نسخه Server آن استفاده کنید. در ضمن بعضی از دیتابیس ها برای مقاصد چند کاربره ساخته نشده اند که استفاده از آنها برای این کار اشتباه است. پیشنهاد من مثل همیشه Firebird است چون به هر شکلی که فکرش رو بکنید تستش کردم و جواب خوبی هم گرفتم. البته برای مقاصد چند کاربره حتماً از نسخه Server آن استفاده کنید و نه embeded!!! (نسخه 2.1.3)
ميشه بگين سرعتش براي حدودا 1 ميليون ركورد چطويه؟
tdkhakpur
دوشنبه 05 مهر 1389, 21:51 عصر
ميشه بگين سرعتش براي حدودا 1 ميليون ركورد چطويه؟
تعداد ارجا (مثلا برای n داده)برای دریافت داده به صورت زیر محاسبه میشه
int count=0و
for(int i=0; i<n; i++) {
n /=2;
count++;
}
و زمان بصورت زیر محاسبه میشه
زمان = count*واحد زمان برای یک دسترسی
BORHAN TEC
سه شنبه 06 مهر 1389, 13:47 عصر
ميشه بگين سرعتش براي حدودا 1 ميليون ركورد چطويه؟ اگر از ایندکس استفاده کنید سرعت جستجو بسیار بالا است چون جستجو به روش باینری انجام می شود. یعنی در یک میلیون رکورد در بدترین حالت با 20 مقایسه می توان رکورد را پیدا کرد. اگر از ایندکس استفاده نکنید دیتابیس با روش خطی به جستجو می پردازد که در این صورت در بدترین حالت نیاز به یک میلیون مقایسه است.
golbafan
چهارشنبه 07 مهر 1389, 19:27 عصر
اگر از ایندکس استفاده کنید سرعت جستجو بسیار بالا است چون جستجو به روش باینری انجام می شود. یعنی در یک میلیون رکورد در بدترین حالت با 20 مقایسه می توان رکورد را پیدا کرد. اگر از ایندکس استفاده نکنید دیتابیس با روش خطی به جستجو می پردازد که در این صورت در بدترین حالت نیاز به یک میلیون مقایسه است.
منظورم فقط جستجو نبود
لود شدن ركورد ها
recno
filter
locate
و...
BORHAN TEC
سه شنبه 13 مهر 1389, 18:52 عصر
منظورم فقط جستجو نبود
لود شدن ركورد ها
recno
filter
locate
و...
در همه موارد سرعتش خوبه!!!
behzadboloori
سه شنبه 13 مهر 1389, 19:16 عصر
من یه مقاله خونده بودم در مورد تعداد حداکثر Transaction همزمان برای بانکهای اطلاعاتی.
در اون زمان من باید بین MS-SQL و Oracle یکی رو انتخاب میکردم.
تا تعداد 220 Transaction همزمان SQL بهترین گزینه س. از این تعداد به بعد سرعت بانک به شدت کاهش پیدا میکنه
اما اوراکل تا 220 transaction از SQL ضعیفتره ولی بعد از اون به سرعت از رقیبش پیشی میگیره.
اما این عدد 220 تقریبا معادل چند تا کامپیوتره؟ با تجربه من هر transaction یعنی حدود 5 تا کلاینت متصل به بانک اطلاعاتی. البته من هیچ وقت این همه کلاینت نداشتم. پس همیشه انتخابم MS-SQL بوده.
در ضمن در تعداد بالای یوزر اون چیزی که مهمه پاسخ دادن به همه request هاست و Crash نکردن. اینکه بانکهای مختلف کمی در پاسخ با هم تفاوت داشته باشن زیاد مهم نیست. این موضوع ممکنه به دلیل تفاوت در الگوریتمهای جستجو باشه. مهم Stable بودن بانکه.
golbafan
سه شنبه 20 مهر 1389, 18:38 عصر
با تجربه من هر transaction یعنی حدود 5 تا کلاینت متصل به بانک اطلاعاتی.
سلام
میشه در مورد عبارت فوق توضیح بدین
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.