- PR -

テーブルのパーティショニング機能

1
投稿者投稿内容
カーニー
ぬし
会議室デビュー日: 2003/09/04
投稿数: 358
お住まい・勤務地: 東京
投稿日時: 2005-07-22 16:54
1つのテーブルで数10GBとかそれ以上のデータを格納して運用する可能性のあるシステムのお話しです。

保存されるレコードには全てタイムスタンプがついており、一定期間を過ぎるとデータベース外部(テープなど)にエクスポート後、データベースからは削除されます。

さて、このような大規模データベースでExport&Purge運用を行うにあたっては、Oracleのパーティションテーブルのような機能が求められます。

もちろんアプリケーションで作りこめば、構造の同じテーブルを多数作成し順に使用することで要件を満たすことができますが、やはり開発効率を考えるとアプリケーションに透過的な形で機能が提供されていることが望ましいです。

ということでお尋ねしたいのは、このような機能を持つRDBMSをご存知ないでしょうか?

ただしOracleはもちろん、DB2、MSSQL、Sybaseは除きます。大手ベンダーからの中立を保たないと、販売チャネルが制限されるためです。商用、オープンソースは問いません。

ちなみに切羽詰っているわけではなく、まだリサーチ段階です。

MySQLとかに自分で実装するという手もありますが、ストレージエンジンはともかくオプティマイザに手を入れるのが面倒そう・・・。

色々なご意見をお待ちしております。
今川 美保(夏椰)
ぬし
会議室デビュー日: 2004/06/10
投稿数: 363
お住まい・勤務地: 神奈川県茅ヶ崎市
投稿日時: 2005-07-22 17:28
引用:

カーニーさんの書き込み (2005-07-22 16:54) より:
ただしOracleはもちろん、DB2、MSSQL、Sybaseは除きます。大手ベンダーからの中立を保たないと、販売チャネルが制限されるためです。商用、オープンソースは問いません。


うっ・・・HiRDBといってみたくなった(汗)
#すみません、元HiRDB管理者だったもので・・・

面白いと思っていろいろ見てみたらこんなこともあるみたいです。
複数のDBMSを仮想で1つに見せてくれるみたいですよ。
http://www.nttdata.co.jp/rd/topic/oss/

で、I/O分散を気にされているのであれば、1テーブル1領域だけど
領域がRAID5に配置されている〜なんていうのはどうでしょうか?
そうしたらDBMS自体にパーティションテーブルの概念がなくても
そこそこいけるのではないかと。
(ディスク性能に依存しちゃうのかもしれませんが・・・)
カーニー
ぬし
会議室デビュー日: 2003/09/04
投稿数: 358
お住まい・勤務地: 東京
投稿日時: 2005-07-22 19:20
引用:

夏椰(かや)さんの書き込み (2005-07-22 17:28) より:
うっ・・・HiRDBといってみたくなった(汗)
#すみません、元HiRDB管理者だったもので・・・



Advanced Partitioning Optionのマトリクス分割のことですね? (実はHiRDBも守備範囲)
・・・うーん、日立だと他の日系ベンダーの商流がなくなるしなぁ・・・オプションの追加料金も必要だし、だったらOracleのほうがいいかも。

引用:

面白いと思っていろいろ見てみたらこんなこともあるみたいです。
複数のDBMSを仮想で1つに見せてくれるみたいですよ。
http://www.nttdata.co.jp/rd/topic/oss/



おっ、と思って早速見てみましたが、残念ながら要件に合いそうにありません。ハッシュパーティションだということなので。

引用:

で、I/O分散を気にされているのであれば、1テーブル1領域だけど
領域がRAID5に配置されている〜なんていうのはどうでしょうか?
そうしたらDBMS自体にパーティションテーブルの概念がなくても
そこそこいけるのではないかと。
(ディスク性能に依存しちゃうのかもしれませんが・・・)



実は検索性能よりも、管理性のほうを問題視しているんですよ。
例えば月別にパーティション化しておけば、1か月分をアーカイブしたらパーティションを削除。DELETE文よりも断然高速で、フラグメンテーションも発生しない。インデックスも合わせてパーティション化できればなお良し。

専門はOracleですが、やっぱり一歩先を行ってるなぁ、と感じることもありますね。
1

スキルアップ/キャリアアップ(JOB@IT)