- データ蓄積と引き出しの高速化
- 100万個の検索よりも1000×1000の方が、検索しやすい。100×100×100の方がさらに早い
- メンテナンス性 無機質な観測地番号でDBを管理するより観測地や施設名のほうが楽
- 時系列+項目変化
- 観測施設ごとに時間間隔が違う
- 欠測が多発する。特に山間地や危険地
- 項目が追加、削除されることが少なくない
- db_root 観測地と施設名の合成
- AName=Dokoka, KName=GID1203, Lat=E134.345, Lon=N30.02, Hei=1203.0, Coment=コメント
- AIR_TEMP 気温
- AIR_HU 湿度
- AIR_PRES 気圧
- AIR_DIR 風向
- AIR_VER 風速
- RAIN_N 雨量カウンタ値
- RAIN_mm 雨量
- WA_LEV 水位
- AName+"."+KName+ "."+項目名+"."+time
- ファイルオフセット 年月日時分秒 時間間隔 記録形式(ASCII、BIN) 固定長バイトサイズ
- 途中で抜けがあったり変更があると
- ファイルオフセット 年月日時分秒 時間間隔 バイトサイズ を追加
- CSVテキスト形式で32バイト固定長 文字が無い場所はスペース、32バイト目はLF
- 見える形式がいい
-
| 項目 |
date |
time |
style |
byte |
4G offset |
reseve |
デリミタ |
| 内容 |
20031210 |
240002 |
B |
02 |
2000000000 |
space |
0x0a |
| size |
8 |
6 |
1 |
2 |
10 |
4 |
1 |
- 一行 32バイトにそろえる
- AName+"."+KName+ "."+項目名+"."+data
- データは時刻ファイルに書かれている形式
- 最低の大きさは1バイト、普通は2バイト(short int)
- 地震情報などは特殊フォームがいいかもしれない
★地震は観測装置のある場所ではなく震源情報になるので、別の似た形式がいいだろう
しかし、同じようにあつかえるようにしたい。
db_root
gunma_akagi_zizou_weather_robot E139.1234 N36.2345 H1634.03 comment
gunma_maebashi_weather_robot E139.1234 N36.1235 H74.03 comment
gunma_oigami_fukiware_suii E139.2234 N36.2345 H134.3 comment
amedasu_miyake_tubota E137.2234 N34.2345 H4.3 comment
シーケンシャルファイル
gunma_akagi_zizou_weather_robot.AIR_TEMP 気温情報
gunma_akagi_zizou_weather_robot.RAIN_mm 雨量情報
- 追加
- 挿入
- 削除
- 変換と抽出
- 可視文字列とパッキング形式の変換
- 期間指定でフラットファイルに切り出す 無データの処理?
..end