Mercurial > hg > Papers > 2023 > matac-sigos
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>