changeset 42:0a64058c27fc

...
author matac42 <matac@cr.ie.u-ryukyu.ac.jp>
date Sun, 14 May 2023 01:19:34 +0900
parents efea60e8455a
children be0dd5bd0e7b
files gearsos_db.mm
diffstat 1 files changed, 61 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/gearsos_db.mm	Sat May 13 16:14:45 2023 +0900
+++ b/gearsos_db.mm	Sun May 14 01:19:34 2023 +0900
@@ -371,5 +371,66 @@
 </node>
 </node>
 </node>
+<node TEXT="既存システムの欠点" POSITION="left" ID="ID_125278364" CREATED="1683965004077" MODIFIED="1683965011739">
+<node TEXT="OSとFSとDBがバラバラ" ID="ID_108364907" CREATED="1683965012478" MODIFIED="1683965021525">
+<node TEXT="全体を組み合わせた時の正しさが怪しい" ID="ID_1061025504" CREATED="1683965024386" MODIFIED="1683965035775"/>
+<node TEXT="DBは実はファイルの上に作られていたり" ID="ID_1153890825" CREATED="1683965038098" MODIFIED="1683965050745">
+<node TEXT="ファイルに対する書き込みのatomicityが保証されてなかったりする" ID="ID_833990141" CREATED="1683965053089" MODIFIED="1683965066753"/>
+</node>
+<node TEXT="それぞれ別々なトランザクションがある" ID="ID_431437595" CREATED="1683965078310" MODIFIED="1683965087507"/>
+</node>
+<node TEXT="実装がブロックベース" ID="ID_1622511458" CREATED="1683965098335" MODIFIED="1683965103540">
+<node TEXT="Diskの実装に引きづられている" ID="ID_1120519843" CREATED="1683965105823" MODIFIED="1683965115731"/>
+<node TEXT="" ID="ID_1220596137" CREATED="1683965122928" MODIFIED="1683965122928"/>
+</node>
+<node TEXT="第一正規形" ID="ID_759170373" CREATED="1683965127529" MODIFIED="1683965145748">
+<node TEXT="表がネストしてないこと" ID="ID_489015288" CREATED="1683965149516" MODIFIED="1683965158309"/>
+<node TEXT="実際にプログラムに出てくるのはstack, list, queue" ID="ID_138760246" CREATED="1683965162182" MODIFIED="1683965174253">
+<node TEXT="これらは第一正規形ではない" ID="ID_318152645" CREATED="1683965179155" MODIFIED="1683965188457"/>
+<node TEXT="なのでFSになってる" ID="ID_1356963455" CREATED="1683965190204" MODIFIED="1683965198528"/>
+</node>
+</node>
+<node TEXT="スキーマ" ID="ID_295627078" CREATED="1683965201967" MODIFIED="1683965206742">
+<node TEXT="テーブルに入るレコードの決まった形" ID="ID_732245402" CREATED="1683965213037" MODIFIED="1683965220798"/>
+<node TEXT="実は頻繁に変更される" ID="ID_1680020095" CREATED="1683965224659" MODIFIED="1683965232389"/>
+<node TEXT="なので動的な属性名を設定されたりする" ID="ID_1622021470" CREATED="1683965234869" MODIFIED="1683965245792"/>
+<node TEXT="DB理論が役に立たない" ID="ID_1283332435" CREATED="1683965247968" MODIFIED="1683965255241"/>
+<node TEXT="過去のDBとの互換性がない" ID="ID_264734604" CREATED="1683965258296" MODIFIED="1683965265395"/>
+<node TEXT="扱うデータはjsonなどで,もはや第一正規形でない" ID="ID_695483461" CREATED="1683965269479" MODIFIED="1683965285751"/>
+<node TEXT="ファイルシステムには型が存在しない" ID="ID_1765927942" CREATED="1683965717584" MODIFIED="1683965724134"/>
+<node TEXT="ファイルシステムが提供してるトランザクションが明快でない" ID="ID_1302554324" CREATED="1683965728249" MODIFIED="1683965749612"/>
+</node>
+<node TEXT="持続性" ID="ID_1063095533" CREATED="1683965293462" MODIFIED="1683965296416">
+<node TEXT="メモリとディスクみたいな分け方が時代遅れに" ID="ID_761224912" CREATED="1683965297878" MODIFIED="1683965313229"/>
+<node TEXT="ほとんどのデータはメモリ上にある" ID="ID_1028461926" CREATED="1683965317067" MODIFIED="1683965323869"/>
+<node TEXT="分散ノード上に多重のコピーが存在する" ID="ID_227261790" CREATED="1683965326597" MODIFIED="1683965335866"/>
+<node TEXT="分散台帳などの多様なconsistensyがある" ID="ID_915809721" CREATED="1683965339947" MODIFIED="1683965367408"/>
+<node TEXT="多様なストレージ階層に対応できていない" ID="ID_637683742" CREATED="1683965451638" MODIFIED="1683965470179">
+<node TEXT="大量のメモリ" ID="ID_161175394" CREATED="1683965470712" MODIFIED="1683965474776"/>
+<node TEXT="NVMe" ID="ID_1410075428" CREATED="1683965476587" MODIFIED="1683965480630"/>
+<node TEXT="SSD" ID="ID_1549617726" CREATED="1683965481031" MODIFIED="1683965483291"/>
+<node TEXT="RAID" ID="ID_1295874239" CREATED="1683965483733" MODIFIED="1683965489924"/>
+<node TEXT="テープ" ID="ID_1685396359" CREATED="1683965490263" MODIFIED="1683965501351"/>
+</node>
+</node>
+<node TEXT="検証" ID="ID_1180291695" CREATED="1683965373620" MODIFIED="1683965376270">
+<node TEXT="正しさを保証する仕組みがない" ID="ID_1323138983" CREATED="1683965376891" MODIFIED="1683965384306"/>
+<node TEXT="モジュール間のバージョンの不整合でバグが出る" ID="ID_842573531" CREATED="1683965387786" MODIFIED="1683965404086"/>
+</node>
+</node>
+<node TEXT="提案する解決方法" POSITION="left" ID="ID_870891059" CREATED="1683965538504" MODIFIED="1683965543063">
+<node TEXT="システム全体を証明で検証する" ID="ID_1618051840" CREATED="1683965543946" MODIFIED="1683965554891"/>
+<node TEXT="ストレージをRBTreeで統一する" ID="ID_480507246" CREATED="1683965561129" MODIFIED="1683965570598"/>
+<node TEXT="トランザクションを非破壊木の置き換えで統一する" ID="ID_1058915836" CREATED="1683965574028" MODIFIED="1683965587911"/>
+<node TEXT="スキーマをレコードごとに決めたデータで記述する" ID="ID_711279997" CREATED="1683965597671" MODIFIED="1683965609011"/>
+<node TEXT="ストレージ階層間のジャーナリングで持続性を実現する" ID="ID_347162146" CREATED="1683965615902" MODIFIED="1683965633682"/>
+</node>
+<node TEXT="提案手法の評価" POSITION="left" ID="ID_1592324545" CREATED="1683965774896" MODIFIED="1683965782917">
+<node TEXT="非破壊ツリーのコピーはメモリ量的にダメではないか" ID="ID_1334471399" CREATED="1683965799811" MODIFIED="1683965815571"/>
+<node TEXT="RBTreeのルート入れ替えだけでトランザクションを実現するのは十分か" ID="ID_380968671" CREATED="1683965832758" MODIFIED="1683965848516"/>
+<node TEXT="証明できるか" ID="ID_964788285" CREATED="1683965852932" MODIFIED="1683965858902"/>
+<node TEXT="後方互換性を気にしないのが大学" ID="ID_648512388" CREATED="1683965895317" MODIFIED="1683965927536"/>
+<node TEXT="メモリプロテクションなどの既存のシステムを使わなくて良いか" ID="ID_1965038612" CREATED="1683965949176" MODIFIED="1683965965482"/>
+</node>
 </node>
 </map>