スティルハウスの書庫の書庫

はてなダイアリーで書いてた「スティルハウスの書庫」を移転してきました。

OODBはこんなことができた

イリジウムのシステムをOODBで構築した話。昔、JavaWorldにOODB特集を書いたときにもちょっと取り上げました。

Iridium - Object Oriented Databases vs Relational Databases

The system includes over 66 low -earth-orbit (LEO) satellites, in order to work at low power with small (antennae and devices). This means, though, that satellites orbit the earth in less than 90 minutes, so during a typical telephone conversation, messages must be dynamically rerouted from one satellite to another. The developers describe the Iridium switching problem as equivalent to re-configuring an ATM switch every 4 minutes. Objectivity/DB is used in the base stations, for satellite routing and rerouting, and message routing and rerouting, as well as network management.

(地球を90分で一周する低軌道衛星が66個。通話中の回線を4分ごとにリルートする必要がある。基地局、衛星間ルーティングとリルート、メッセージング、ネットワーク管理などをObjectivityで実装した)


They have three facilities, each with ~50 Sparc20 servers and workstations. These facilities, in Phoenix, Washington DC, and Rome, are linked internally and among each other and 20 gateways as one distributed system. The distributed ODBMS single logical view was critical for this. They expect to generate 10 Gigabytes of data/day and will need to keep ~5 days of data online, requiring scalability. Other database problems include network management (node management, fault management), satellite control (commanding, telemetry, orbit management), and mission planning (resource scheduling).

(フェニックス、ワシントンDC、ローマの3か所のデータセンターにそれぞれ50台以下のSPARC20サーバーを設置。これらに分散したデータを単体のODBMSとして扱える。ネットワーク管理(ノード管理や障害管理、衛星制御)、衛星制御(衛星への指令、テレメトリ、軌道管理)、ミッションプランニング(スタッフスケジュール管理)にも利用)

They experienced first hand the difficulties of attempting to use an RDB with a complex data model. The bottom line was that they found it impossible to keep an RDB schema mapped to an OO design. The schema was always 2 weeks behind. Eventually they abandoned the approach and went to file based persistence in order to make the first release. A decision to use Objectivity/DB in the second release was later made, in order to regain the DBMS facilities of recovery, concurrency, scalability, and distribution.

(当初はRDBを導入したが、複雑なデータモデルを扱う際に問題が生じた。OO設計をRDBマッピングすることは不可能だった。RDBスキーマはいつも2週間遅れ。しょうがなくファイル保存していたが、障害復旧、並行性、スケーラビリティ、分散化のためにObjectivityを導入した)