Mercurial > hg > Papers > 2023 > matac-sigos
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).
--- 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{まとめ}