סידור ואחסון העלאות
-
נכון להיום המשתמשים מעלים קבצים לשרת, השרת מקצה לכל קובץ מזהה ייחודי, שומר במסד נתונים את המידע על הקובץ (שיוך, משתמש, תאריך), וכותב את הקובץ לדיסק בנתיב כזה
/uploads/<filekey>/<filename.png>
זה לא רעיון מוצלח לכאורה, כי uploads זו תיקיה אחת שמכילה כיום קרוב לאלפיים תיקיות, והמספר הולך וגדל.
האם עדיף לפצל את ההעלאות לתיקיות משנה כמו/uploads/<year><month>/<filekey>/<filename.png>
?
או דרך אחרת? או שאפשר להשאיר את המצב כמות שהוא? -
בעצם השאלה שלי היא במקרה של תיקיה ראשית אחת שתחתיה יש אלפי תיקיות, האם למערכת הקבצים יש הבדל אם התיקיות משנה נמצאות ברמה השניה שתחת התיקיה הראשית, או אם הן מסודרות בהיררכיה של כמה תתי רמות ומחולקות לכמה תיקיות משנה.
-
@יוסף-בן-שמעון אני חושב שהאופציה הראשונה וודאי לא נכונה, לא אמור להיות תקייה לכל קובץ ששמה הוא מזהה הקובץ ובתוכה הקובץ, כיוון שאין בזה שום ערך ארגוני וכדומה (בשונה מחלוקה לפי חודשים וכדו')
אתה יכול לשמור ישירות את המזהה של הקובץ:/uploads/<filekey>.png>
או אם תרצה מזהה + שם לצורך סדר בתקיה וכדו':
/uploads/<filekey>_<filename>.png
ובמסד הנתונים אתה שומר את שם הקובץ ומספק אותו להורדה על פי המזהה, עם שם הקובץ ששמור במסד.
השאלה לדעתי היא רק האם לשמור את הקבצים עם חלוקה לפי תקיות על פי תאריך ו/או תחום, או לשמור הכל במעורבב ולסמוך לגמרי על החלוקה שבמסד -
@יוסף-בן-שמעון כתב בסידור ואחסון העלאות:
בעצם השאלה שלי היא במקרה של תיקיה ראשית אחת שתחתיה יש אלפי תיקיות, האם למערכת הקבצים יש הבדל אם התיקיות משנה נמצאות ברמה השניה שתחת התיקיה הראשית, או אם הן מסודרות בהיררכיה של כמה תתי רמות ומחולקות לכמה תיקיות משנה.
למחשב עדיף תיקיות משנה.
https://stackoverflow.com/a/17834059/1271037 -