עיצוב תוכנה

dantziger

New member
עיצוב תוכנה

שלום, אני כרגע בונה תוכנה שמשתמשת sql server 2000 בתור מסד נתוניפ. התוכנה עצמה היא לא יותר מאשר כמה מניפולציות על הנתונים ששבמסד. זאת אומרת, היא לא הרבה יותר מfrontend. התוכנה עצמה כתובה בVB. השאלה שלי היא האם לא כדאי כבר עכשיו לכתוב את כל האלגוריתמים ב TSQL ופשוט ליצור API דרך stored procedures ככה שנגיד הסבה עתידית לממשק אינטרנט יהי מהיר ופשוט. האלגורתמים לא ממש מסובכים, אבל הייתי רוצה לדעת מה אתם הייתם עושים במידה והם כן היו... TSQL לא נראת לי כמו משהו שבנוי לאלגו מסובכים. איפה אתם הייתם שומרים את כל הפונקציונליות של התוכנה שלכם? תודה.
 

agnitix

New member
ממליץ מחוץ ל TSQL

אני מעדיף לכתוב את ה"שכל" מחוץ ל database מהסיבות הבאות: 1) קל יותר לדבג עם כלי פיתוח. 2) אם ארצה לחליף database ולהשתמש ב MySQL כדי לחסוך כמה אלפי דולרים לא אהיה תלוי ב TSQL.
 

עידו פ

New member
לרוב זה תלוי בנפח הנתונים ובקצב

הפעלת האלגוריתם. מאחר והוצאת והחזרת כמות נתונים גדולה מ- ואל ה-DB, הינה פעולה איטית יחסית, לא מומלץ לבצע פעולות מחוץ ל-DB כאשר מדובר בכמות נתונים גדולה. מצד שני, אם מדובר בעיבוד חד פעמי, לא יקרה כלום אם פעם אחת נוציא כמה מאות מגות מה-DB (כמובן שאם מדובר בעיבוד נניח כל 5 דקות, חבל על ההוצאה ועדיף לשים את הלוגיקה ב-DB). לגבי אלגוריתמים מסובכים - במקרה של SQLServer אפשר לעשות מספר דברים, אבל מעולם לא יצא לי לנסות אותם: 1. ב-SqlServer 2000 יש אפשרות להפעיל רכיבי COM (רכיבי VB לדוגמה) מתוך ה-DB 2. ב-SqlServer 2005 יש אפשרות להפעיל רכיבי דוטנט מתוך ה-DB ייתכן שע"י שימוש בשפות תכנות יותר מתקדמות ושילוב הקוד שנוצר ב-DB, אפשר להתעלות על החסרונות שנוצרים כתוצאה משימוש ב-TSQL
 

ייוניי

New member
גם אני נגד TSQL

כמו שנאמר זה מקבע אותך ל SQL Server וחבל... אם אתה מודאג מהסבה ל WEB אתה תמיד יכול לכתוב את הלוגיקה ב Class Modules של VB שאח"כ אפשר לחשוף דרך COM ולהשתמש בהם ב ASP או ב NET. לצורך ממשק WEB. אני גם יכול להמליץ לך בחום פשוט לכתוב את התוכנה ב NET. כבר מעכשיו ואז ההסבה העתידית תהיה עוד יותר קלה.
 

arnonrgo

New member
באופן עקרוני

באופן עקרוני Stored procedures הם לא מקום מוצלח לbusiness logic השאלה היא מה מהות האפליקציה, מה העומס (מספר connections כמות טרנזקציות וכד) מה כיוון הגדילה שלה וכו אם הכוונה ליצר אפליקציה קטנה וזולה חבל אולי להשקיע בפיתוח ארכיטקטורה בעל יכולות גדילה ורובסטיות אבל שתדרוש משאבים רבים יותר היום. כדאי אולי לשקול את הכיוון של SQL 2005 שהציע עידו צורת המימוש של stored proc בNET. דומה לשימוש בADO.NET מחוץ לSQL ולכן הקוד יהיה פורטבילי יותר לשרת אפליקציה אם יעלה צורך עתידי בזה ארנון
 
למעלה