היכן מאגר הנתונים המשובץ של H2 מאוחסן הנתונים?

1. הקדמה

במאמר זה נלמד כיצד להגדיר את יישום Spring Boot לשימוש במסד הנתונים H2 המשובץ ואז נראה היכן מאגר הנתונים המשובץ של H2 מאחסן את הנתונים.

מסד נתונים H2 הוא מאגר קל משקל ופתוח ללא תמיכה מסחרית בשלב זה. אנו יכולים להשתמש בו במצבים שונים:

  • מצב שרת - לחיבורים מרוחקים באמצעות JDBC או ODBC באמצעות TCP / IP
  • מצב משובץ - לחיבורים מקומיים המשתמשים ב- JDBC
  • מצב מעורב - זה אומר שאנחנו יכולים להשתמש ב- H2 לחיבורים מקומיים וגם לחיבורים מרוחקים

ניתן להגדיר H2 כי הוא יופעל כמאגר נתונים בזיכרון, אך הוא יכול להיות מתמשך, למשל, הנתונים שלו יאוחסנו בדיסק. לצורך הדרכה זו, נעבוד עם מסד הנתונים H2 במצב מוטבע עם התמדה מופעלת כך שיהיה לנו נתונים בדיסק.

2. בסיס נתונים משובץ H2

אם אנו רוצים להשתמש במסד הנתונים H2, נצטרך להוסיף את ה- h2 ו spring-boot-starter-data-jpa תלות Maven שלנו pom.xml קוֹבֶץ:

 com.h2database h2 1.4.200 runtime org.springframework.boot spring-boot-starter-data-jpa 2.3.4.RELEASE 

3. מצב התמדה משובץ של H2

כבר הזכרנו כי H2 יכול להשתמש במערכת קבצים לאחסון נתוני מסדי נתונים. היתרון הגדול ביותר בגישה זו בהשוואה לזו בזיכרון הוא שנתוני מסד הנתונים לא הולכים לאיבוד לאחר הפעלת היישום מחדש.

אנו יכולים להגדיר את מצב האחסון דרך ה- spring.datasource.url נכס שלנו application.properties קוֹבֶץ. בדרך זו אנו יכולים להגדיר את מסד הנתונים H2 לשימוש בגישה בזיכרון על ידי הוספת ה- מ פרמטר בכתובת האתר של מקור הנתונים, ואחריו שם מסד הנתונים:

spring.datasource.url = jdbc: h2: mem: demodb

אם אנו משתמשים במצב ההתמדה מבוסס הקבצים, נגדיר אחת מהאפשרויות הזמינות עבור מיקומי דיסק במקום ה- מ פָּרָמֶטֶר. בחלק הבא נדון מהן אפשרויות אלה.

בואו נראה אילו קבצים יוצר מסד הנתונים H2:

  • demodb.mv.db - בניגוד לאחרים, קובץ זה נוצר תמיד והוא מכיל נתונים, יומן עסקאות ואינדקסים
  • demodb.lock.db - זהו קובץ נעילת מסד נתונים ו- H2 יוצר אותו מחדש כאשר בסיס הנתונים נמצא בשימוש
  • demodb.trace.db - קובץ זה מכיל מידע עקבות
  • demodb.123.temp.db - משמש לטיפול בכתמים או בערכות תוצאות ענקיות
  • demodb.newFile - H2 משתמש בקובץ זה לצורך דחיסת מסד נתונים והוא מכיל קובץ מאגר נתונים חדש
  • demodb.oldFile - H2 משתמש בקובץ זה גם לדחיסת מסד נתונים והוא מכיל קובץ מאגר מסד נתונים ישן

4. מיקום אחסון מסדי נתונים משובץ של H2

H2 מאוד גמיש בנוגע לאחסון קבצי מסדי נתונים. ברגע זה אנו יכולים להגדיר את ספריית האחסון שלה כך:

  • ספריה בדיסק
  • מדריך המשתמשים הנוכחי
  • ספריית הפרויקט הנוכחית או ספריית העבודה

4.1. מדריך בדיסק

אנו יכולים להגדיר מיקום ספציפי ספציפי בו יאוחסנו קבצי מסד הנתונים שלנו:

spring.datasource.url = jdbc: h2: file: C: / data / demodb

שימו לב שבמחרוזת החיבור הזו, הנתח האחרון מתייחס לשם מסד הנתונים. כמו כן, גם אם אנו מתגעגעים למילת המפתח של הקובץ בכתובת אתר זו של חיבור מקור נתונים, H2 ינהל אותה וייצור קבצים במיקום שסופק.

4.2. מדריך משתמשים נוכחי

במקרה שנרצה לאחסן קבצי מסד נתונים בספריית המשתמש הנוכחית, נשתמש בכתובת ה- URL של מקור הנתונים המכילה טילדה (~) לאחר קוֹבֶץ מילת מפתח:

spring.datasource.url = jdbc: h2: file: ~ / demodb

לדוגמה, במערכות Windows, ספריה זו תהיה C: / משתמשים /.

כדי לאחסן קבצי מסד נתונים בספריית המשנה של ספריית המשתמש הנוכחית:

spring.datasource.url = jdbc: h2: file: ~ / subdirectory / demodb

שים לב ש אם ספריה המשנה אינה קיימת, היא תיווצר באופן אוטומטי.

4.3. מדריך עבודה נוכחי

ספריית העבודה הנוכחית היא אחת שבה האפליקציה מופעלת, והיא נקראת כנקודה (.) בכתובת האתר של מקור הנתונים. אם נרצה שם קבצי מסד נתונים, נגדיר אותו באופן הבא:

spring.datasource.url = jdbc: h2: file: ./ demodb

לאחסון קבצי מסד נתונים בספריית המשנה של ספריית העבודה הנוכחית:

spring.datasource.url = jdbc: h2: file: ./ ספריית משנה / demodb

שימו לב שאם ספריה המשנה לא קיימת, היא תיווצר באופן אוטומטי.

5. מסקנה

במדריך קצר זה דנו בכמה היבטים של מסד הנתונים H2 והראינו היכן המאגר המשובץ של H2 מאחסן את הנתונים. למדנו גם כיצד להגדיר את המיקום של קבצי מסד הנתונים.

דוגמת הקוד המלא זמינה באתר GitHub.


$config[zx-auto] not found$config[zx-overlay] not found