Slide 1

Slide 1 text

RAID6 を楔形文字で組んで 現代人を怖がらせましょう (実装編) @mimifuwacc Kyoto.なんか#7 2025-08-23 1

Slide 2

Slide 2 text

みみ @mimifuwacc 2

Slide 3

Slide 3 text

はてなインターン 2025 に参加しています 前半パート お世話になりました 3

Slide 4

Slide 4 text

データ 安全に保管できていますか? 4

Slide 5

Slide 5 text

大切なデータを長期保存する方法について(日本ソフト開発株式会社) : https://www.nihonsoft.co.jp/nsklog/detail_118.html HDD 3-5年 SSD 5年 CD 10-30年 5

Slide 6

Slide 6 text

粘土板 約5000年 ※ 石という約3万年の 寿命がある媒体もある 6

Slide 7

Slide 7 text

書き込みの難易度を考えて 妥協して粘土板を使う 7

Slide 8

Slide 8 text

今のところ解読されている 最古の文字は楔形文字 8

Slide 9

Slide 9 text

余談 最初のシュメール人の文字体系は 日用品や農産物の個数の表現に使われる 粘土製の小さな玉「トークン」 の体系から派生した https://ja.wikipedia.org/wiki/%E6%96%87%E5%AD%97%E3%81%AE%E6%AD%B4%E5%8F%B2#%E 9%9D%92%E9%8A%85%E5%99%A8%E6%99%82%E4%BB%A3%E3%81%AE%E6%96%87%E5%A D%97 9

Slide 10

Slide 10 text

楔形文字の一般的な媒体は 粘土板 10

Slide 11

Slide 11 text

データを長期保存したければ 粘土板に楔形文字を書けば良さそう 11

Slide 12

Slide 12 text

…が 記録した媒体を 紛失したらどうしよう ... 12

Slide 13

Slide 13 text

…が 記録した装置(媒体)そのものを 破壊・紛失したらどうしよう 13

Slide 14

Slide 14 text

我々は RAIDという仕組みを知っている! 14

Slide 15

Slide 15 text

RAIDとは 複数台のハードディスクを組み合わせることで 仮想的な1台のハードディスクとして運用し 冗長性を向上させる技術 https://ja.wikipedia.org/wiki/RAID 15

Slide 16

Slide 16 text

装置(媒体)を破壊しても データが復旧できる! 16

Slide 17

Slide 17 text

RAID6を使う 冗長データ(パリティ)を2種類作成し 2つのディスクに記録することで、 2重障害に対応でき、 同時に2ドライブが故障しても復元できる。 https://ja.wikipedia.org/wiki/RAID 17

Slide 18

Slide 18 text

早速実装 18

Slide 19

Slide 19 text

まずRAID6 (P+Q ガロア法) 19

Slide 20

Slide 20 text

1つめのパリティ( XOR) 20

Slide 21

Slide 21 text

2つめのパリティ(ガロア体上での演算) 21

Slide 22

Slide 22 text

データが破損した時に 復旧する実装もした 22

Slide 23

Slide 23 text

一旦テストしてみる 23

Slide 24

Slide 24 text

一旦テストしてみる 復旧できてる! 24

Slide 25

Slide 25 text

楔形文字 (古代ペルシア楔形文字) 25

Slide 26

Slide 26 text

古代ペルシア楔形文字とアルファベットの対応 26

Slide 27

Slide 27 text

16進数との対応 「0」はまだ存在しない → 意味を持たない字( 𐏐)で代用 「e」も存在しない → 発音が同じ「 i」に相当する( 𐎡)で代用 27

Slide 28

Slide 28 text

16進数との対応 「0」はまだ存在しない → 意味を持たない字( 𐏐)で代用 「e」も存在しない → 発音が同じ「 i」に相当する( 𐎡)で代用 28

Slide 29

Slide 29 text

29

Slide 30

Slide 30 text

Unicodeに感謝 30

Slide 31

Slide 31 text

実際に動かしてみる 31

Slide 32

Slide 32 text

あとはこれを粘土板に書けば OK 32

Slide 33

Slide 33 text

Thank you… リポジトリはここ: https://github.com/mimifuwa/cuneiform-raid 33