בירור בירור מספר דברים בשיטת zstd
-
יש פה בעיית תקשורת, אני כל הזמן בהבנה שמה שדחוס זה סטטי ולא משתנה,
והאינדקס נוצר בכלל אצל המפיץ או הכי גרוע אצל המשתמש לפני בכלל שהחומר מוכנס לדחיסה.
אולי תרחיבו לי מה המידע הרבה שדחוס ומאונדקס?
לא מדובר בספרי קודש של הבית היהודי?
אם ככה אז האינדקוס יכול בכלל להתבצע בבית המפיץ פעם אחת ולתמיד.
גם אם המשתמש מוסיף אי אלו טקסטים משלו, אז: יוצרים שורות בלתי דחוסות, מאנדקסים, דוחסים, שלום על ישראל.
אני מפספס משהו? -
יש פה בעיית תקשורת, אני כל הזמן בהבנה שמה שדחוס זה סטטי ולא משתנה,
והאינדקס נוצר בכלל אצל המפיץ או הכי גרוע אצל המשתמש לפני בכלל שהחומר מוכנס לדחיסה.
אולי תרחיבו לי מה המידע הרבה שדחוס ומאונדקס?
לא מדובר בספרי קודש של הבית היהודי?
אם ככה אז האינדקוס יכול בכלל להתבצע בבית המפיץ פעם אחת ולתמיד.
גם אם המשתמש מוסיף אי אלו טקסטים משלו, אז: יוצרים שורות בלתי דחוסות, מאנדקסים, דוחסים, שלום על ישראל.
אני מפספס משהו?@dovid כתב בבירור בירור מספר דברים בשיטת zstd:
אם ככה אז האינדקוס יכול בכלל להתבצע בבית המפיץ פעם אחת ולתמיד.
נכון - כך באמת יהיה בעז"ה מהגרסה הבאה.
ועדיין, אני מכיר את המשתמשים
המון ימשיכו את האינדקס כפי שהיה עד היום.
אל תשאל למה: גם אני לא יודע... (בשעתו הייתה אפשרות לחיפוש ללא אינדקס, ועד שהסרנו אותה עוד היו שהשתמשו בה, ושאלו למה אין שם עוד אופציות, כפי שהוספנו בחיפוש עם האינדקס).
עריכה: מצד שני, כפי שכתב לי אחד התורמים, שליפת הטקסט עצמו מהדיסק קטנה וזולה יותר - אולי זה מאפס את הפיענוח. -
הפיענוח לא לוקח כמעט כלום בלי קשר לחיסכון שיש או אין בקריאה... לא צריך לקזז את ההקטנה של הקלט.
תבקש מהAI לכתוב לך טסט קטן, לבדוק כמה זמן מדובר. -
@pcinfogmach
א. זה לא חינמי, זה עולה $4,000 אם הבנתי נכון
ב. אין לזה יתרון עבורך, הדחיסה תהיה פחות טובה -
@pcinfogmach אם אתם רוצים דחיסה יותר טובה, כדאי לבדוק אפשרות לשמור בלוקים של כמה שורות טקסט, (מאתיים שורות לבלוק למשל) פר שורה ב-DB, ובנוסף אינדקס שמצביע על ה-offset של כל שורה, כדי שתוכלו עדיין לגשת לטקסט ברמת שורה, זה ישפר את רמת הדחיסה. אני לא יודע בכמה. בלי מילון מותאם אישית זה יהיה הבדל משמעותי, עם מילון זה פחות חשוב אבל עדיין יעזור.
המחיר של פיענוח 200 שורות פר שליפה לעומת שורה אחת אמור להיות זניח -
@dovid @yossiz
מחילה לא הסברתי את עצמי מספיק
בתחילה הוצע לדחוס רק את עמודת הטקסט עם zstd
כעת השאלה היא האם יש דרך יעילה אולי לדחוס את שאר המטה דאטה
הנתונים שתכבתי בתחליה התבררו שהיו על DB ישן בDB הנוכחי שנתונים הנלווים לטקטס מהווים בערך מחצית מהמשקל של הDB
הנתונים הם עירבוביא חלקם טקסט וחלקם מספריים
גם ישנם הרבה עמודות שמאונדקסות לצורך lookup מהיר ויש הרבה שימוש בפעולות join על המטה דאטהלכן השאלה שלנו היא:
האם כדאי ליישם דחיסה גם על שאר הנתונים
ובאיזו שיטה
בראש שלי זה שאלה של פשטות בקוד וגם שאלה של יעילות
כלומר אם זה יאט את שליפת הנתונים בצורה משמעותית אזי אין הצר שווה בנזק המלך
וכמו"כ אם זה יכניס קושי כלשהו בניהול הנתונים המסד (שמתעדכן ומשתנה כל הזמן) זה גם לא שווה את הרווח של דחיסה.
היישום של דחיסת עמודת הטקסט אני בטוח בעצמי בפרט לאור התשובה שלכם שזה יישום קל ופשוט ואין שום סיבה לא ללכת על זה
על שאר הנתונים אינני יודע
אשמח לקבל קצה חוט איך להחליט כזה דבר
ובאם השאלה עדיין לא ברורה דיו או שיש צורך לפרט יותר על מבנה המסד אנא כתבו על כך -
- מתי ואיך המטה דטה נשלף, האם בדיוק באותו קצב וזמן של הדטה עצמו?
- מה המידע שיש במטה דטה, אולי זה בר דחיסה אפליקטיבית, למשל במקום שימוש בטקסט חופשי שימוש במבנה או מלא רעיונות דומים.
אנסה לענות בקצרה, ואם זה עדיין לא יהיה מספיק ברור, אולי כדאי שפשוט נדבר בפרטי, אם זה אפשרי. (אין לי אפשרות לשלם לך, אז אולי זה לא לגמרי הוגן לבקש דבר כזה. מאידך, אוצריא היא תוכנה שכמעט כל אברך שני משתמש בה כיום, אז אולי יש לי כאן קצת "מיגו דהעזה" לבקש ממך זאת...)
לגבי המטא־דאטה:
הרבה מהמטא־דאטה מורכב מקישורים.
סוגי הקישורים העיקריים הם:- קישורים ממפרשים לטקסט.
- קישורי מראי מקומות לספר שממנו הם נלקחו (למשל: בראשית א, א).
שני סוגי הקישורים הללו נמצאים בטבלאות נפרדות ומקושרים באמצעות ID.
מלבד זאת, לכל אחד מהם יש מטא־דאטה נלווה רב, שמטרתו לייעל תהליכים שונים. לדוגמה, לצורך הצגת המפרשים יש מידע נוסף על כותרות, מבנה, ועוד פרטים רבים.בנוסף, קיימת מטא־דאטה גם בטבלת הטקסט עצמה, כגון מידע המסייע לעדכונים ולפעולות נוספות.
בקיצור, מדובר בפרויקט שלם ומורכב, ולכן אשמח אם תוכל לכוון אותי מעט יותר ולפרט אילו נתונים בדיוק חשוב לך לדעת.
מצורף פה קובץ מתוך הפרוייקט שלי שהוא פרוייקט מקביל שכולל את רוב הSQL שהתוכנה משתמשת בו אולי זה יהיה שימושי
queries.sql.ts
מצורף גם הסכמה של הDB
seforimdb-v2-schema.jsonלגבי המושגים עליהם דיברת ב-2 איך אומרים באנגלית? "Way over my head"... לצערי אינני מכיר כלל את המושגים שעליהם דיברת. אם זה חשוב שאלמד עליהם אנא ציין זאת ואקיים בעצמי "צא ולמד"