changeset 6:cd057d7a1772

...
author matac42 <matac@cr.ie.u-ryukyu.ac.jp>
date Sat, 15 Apr 2023 18:52:04 +0900
parents 40cda6dcc16e
children 07b274fbdfda
files Paper/paper.aux Paper/paper.log Paper/paper.pdf Paper/paper.synctex.gz Paper/paper.tex
diffstat 5 files changed, 32 insertions(+), 12 deletions(-) [+]
line wrap: on
line diff
--- a/Paper/paper.aux	Sat Apr 15 08:15:37 2023 +0900
+++ b/Paper/paper.aux	Sat Apr 15 18:52:04 2023 +0900
@@ -38,8 +38,8 @@
 \bibcite{xv6component}{10}
 \bibcite{xv6}{11}
 \bibcite{christie}{12}
-\@writefile{toc}{\contentsline {section}{\numberline {7}\hskip 1zw{ルートノードのトランザクション}}{4}{}\protected@file@percent }
-\@writefile{toc}{\contentsline {section}{\numberline {8}\hskip 1zw{スキーマ}}{4}{}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {7}\hskip 1zw{トランザクション}}{4}{}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {8}\hskip 1zw{スキーマレスな実装}}{4}{}\protected@file@percent }
 \@writefile{toc}{\contentsline {section}{\numberline {9}\hskip 1zw{インデックス}}{4}{}\protected@file@percent }
 \@writefile{toc}{\contentsline {section}{\numberline {10}\hskip 1zw{今後の課題}}{4}{}\protected@file@percent }
 \@writefile{toc}{\contentsline {section}{\numberline {11}\hskip 1zw{まとめ}}{4}{}\protected@file@percent }
--- a/Paper/paper.log	Sat Apr 15 08:15:37 2023 +0900
+++ b/Paper/paper.log	Sat Apr 15 18:52:04 2023 +0900
@@ -1,4 +1,4 @@
-This is e-pTeX, Version 3.141592653-p4.0.0-220214-2.6 (utf8.euc) (TeX Live 2022) (preloaded format=platex 2022.6.9)  15 APR 2023 08:12
+This is e-pTeX, Version 3.141592653-p4.0.0-220214-2.6 (utf8.euc) (TeX Live 2022) (preloaded format=platex 2022.6.9)  15 APR 2023 18:51
 entering extended mode
  restricted \write18 enabled.
  %&-line parsing enabled.
@@ -3225,9 +3225,7 @@
 \OT1/cmr/m/n/8.8711 https://pdos.csail.mit.edu/6.828/2018/xv6/book-
  []
 
-) [4
-
-] (./paper.aux)
+) [4] (./paper.aux)
 
 LaTeX Font Warning: Some font shapes were not available, defaults substituted.
 
@@ -3241,4 +3239,4 @@
  929 hyphenation exceptions out of 8191
  55i,10n,63p,294b,1365s stack positions out of 10000i,1000n,20000p,200000b,200000s
 
-Output written on paper.dvi (4 pages, 30644 bytes).
+Output written on paper.dvi (4 pages, 33512 bytes).
Binary file Paper/paper.pdf has changed
Binary file Paper/paper.synctex.gz has changed
--- a/Paper/paper.tex	Sat Apr 15 08:15:37 2023 +0900
+++ b/Paper/paper.tex	Sat Apr 15 18:52:04 2023 +0900
@@ -282,13 +282,35 @@
 かつデータのバックアップを作成することで信頼性の向上が期待できる.
 
 
-\section{ルートノードのトランザクション}
+\section{トランザクション}
+
+ルートノードはデータをリード,ライトする時に増やす.
+それにより,ルートノードは一つのスレッドを表現する.
+スレッドがデータのアップデートを行う際は,他のスレッドとの競合を防ぐ必要がある.
+スレッドはルートノードからアップデート対象のノードまで辿るようにロックを獲得していく.
+その際,子ノードのロックを獲得した後は親ノードのロックを手放して良いことにする.
+データのアップデートが完了し,ロックを解除後,ルートノードの切り替えを行う.
+このような操作によって,トランザクションを実現する.
+しかし,このままだとアップデートによってデータの一貫性を損なう場合がある.
+常に最新のデータを持ったルートノードを選択する仕組みが必要になる.
 
-データをアップデートする際,
-% ルートノードのトランザクション
-% リードとライト分けて考える
+なお,リードする際はその時点で最新のルートノードを元にリード用のルートノードを作成する.
+リードは木を変更することがないので,
+作成したリード用ルートノードの数だけ同時にリード可能となる.
+
+\section{スキーマレスな実装}
 
-\section{スキーマ}
+従来のSQLのようなスキーマの定義が存在すると,
+個別にバックアップなどを取らない限り
+スキーマの変更以前にロールバックすることができない.
+しかしながら,実際運用する上でスキーマを変更することは多々ある.
+また,DB上のデータ構造とプログラム上で扱うデータ構造に差が生まれる
+インピーダンスミスマッチが発生し,DBのデータをプログラムが扱う際に
+その差を埋めるような変換を必要とする場合が生まれる.
+これらは,データの信頼性を低下させると考える.
+よって今回は,スキーマレスなDBとしてのファイルシステムを実装することを考える.
+
+
 \section{インデックス}
 \section{今後の課題}
 \section{まとめ}