データベースに求められるもの
って言っても色々ありますよね。
(1) データをたくさん入れられること
(2) データを入れるための時間が短いこと
(3) 入れたデータが消えないこと、勝手に変化しないこと
(4) 入れたデータが取り出せること
(5) 取り出したいデータがすぐに取り出せること
皆さん、この中で一番重要なのはどれだと思いますか?
実は・・・・
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
どれも重要です。
どの要素もかけては大変なことになります。 ってか、データベースとしての機能が成り立ちません。
(1) はどうでしょうか?
たくさんというのは客観的ではない表現ですので、言い換えれば、運用上不足しない量と解釈します。
つまり、使っている間に容量がいっぱいになってそれいじょうにっちもさっちもいかない・・・
重要なシステムでこんなのが起こったら、致命的ですね。
例えば、銀行ATMで、入金しようとしたら銀行のデータベースがいっぱいになって、ATM端末画面に、『申し訳ありませんが、データベースが一杯になりました。処理ができませんので、後日お越しください。』とか表示されたら、あなたはその銀行を二度と使わないようにしようと思いませんか
(2) はどうでしょうか?
短いことってまたまた主観的な表現ですが、これは実用上問題ないレベルの時間と言うことです。
またまた、銀行ATMの例で
入金しようとしたら、前の人の入金処理がまだ終わっていません。画面には、『現在、入金処理中です。しばらくお待ちください。』と表示され、タイマーが『残り・・・17分32秒』とか表示されていたら、その銀行はもう使わないでおこうと思いますよね
(3) はどうでしょうか?
これは、もう、言わずもがな・・・ですね。
銀行の例で、あなたの口座残高が勝手に増えたりしたら嬉しいですが、勝手に減ったら困りますよね。
(4) はどうでしょうか?
取り出せなければデータベースの意味がありませんよね。
(5) はどうでしょうか?
(4) と似ていますが、『すぐに』と言う副詞が付いています。 これも主観的な表現ですが、(2)と同様ですね。
なので、(1)から(5)の性能はデータベースに必要なことです。
実際は?
データベース製品によってさまざまです。
ただ、同じデータベースを使っていても、アプリケーションによって、データベース性能をいかんなく発揮できているアプリケーションもあれば、なんでこんなに遅いのか?ってマウスをたたきつけたくなるようなアプリケーションもあるでしょう。
アプリケーションによる差は、データベースの機能を有効に利用できてるかどうかにかかわってきます。
データベースの(5) 取り出したいデータがすぐに取り出せる 機能を有効利用できていなければ、データベース自体がどんなに高性能でもへぼアプリケーションにかかったら耐えきれないほど遅い動作になってしまいます。
当社のデータベースはどうなの?
もう、言わなくてもわかってらっしゃるでしょー(笑)
へぼ過ぎない限りは、実用上使える・・・程度ではなくて、処理を指示しても、そのレスポンスが早すぎて、処理を指示するボタンを押し忘れたかな?って思う程度です
もちろん、データベースのサイズやレコード数が小さいわけではありません。
メインのデータベースでは、
レコード数 : 932,205,665
サイズ : 191,228,723,200
このデータベースから、キーの日付が 20201122であるレコードを検索抽出するのにかかる時間は約 3秒以下
抽出レコード数は、351,256 レコード
まぁ、AS/400のOSがDB機能を提供しているだけあって、DBアクセスにHardwareまで駆使しているので当然と言えば当然でしょう。
他では真似できない芸当でしょうね。
【このカテゴリーの最新記事】
- no image
- no image
- no image