- PR -

クライアント用の軽いデータベース

投稿者投稿内容
未記入
常連さん
会議室デビュー日: 2004/05/17
投稿数: 28
投稿日時: 2007-01-18 21:37
お世話になります。

現在とあるシステムのリプレイスを行っております。
そのシステムの現在の仕組みはクラサバ型で、DBにOracleを利用しています。
Oracleはそのまま利用しようと思っていますが、
クライアント側にプロセス間でデータやり取りのために、
MDBを利用しています。

MDBは重いため代替方法を以下の条件で探しております。
・ロジックは極力変えない(SQL文が利用できる)
・MDBより軽い
・クライアントへのインストール作業は極力行わない

メモリ上に展開できるXMLデータベース等があれば、使えるのでは・・・
と思っていますが、なかなか合うものが見つかりません。

何かいいものをご存知方がいらっしゃいましたら、教えていただけないでしょうか?
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2007-01-18 21:48
クライアントの環境はなんですか?

Javaを動かせる環境ならApache DerbyかHSQLDBがお勧めです。
後は組み込み向けのMySQLもよさそうです。
未記入
常連さん
会議室デビュー日: 2004/05/17
投稿数: 28
投稿日時: 2007-01-18 22:04
かつのりさん、返答どうもです。

環境書くのを忘れておりました。
(旧システム)
VB6
(新システム)
VB.NET
です。

Javaは使えそうにないので、
組み込み版MySQLを調べてみます。
MeijiK
常連さん
会議室デビュー日: 2005/12/26
投稿数: 24
お住まい・勤務地: 東京都
投稿日時: 2007-01-19 00:54
MySQLは、使用形態によってはFPLの購入が必要になるので、FirebirdのEmbeddedサーバーをおすすめします。

DBライブラリのように、アプリケーションと同一プロセスで動作して、バージョン1.5.x系だと一つのDLL(SO)で、データベー自体のインストールが不要です。
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2007-01-19 01:11
>MeijiKさん
おっ、それはいいことを聞きました。
Firebirdはチェックしたことがありませんでした。

MySQLはライセンス形態が複雑ですね。
今回は無償でという条件がなかったので、提示してみたのですが。。。
でも、台数によってはすごい金額になるかもしれませんね。

他にもSQLiteというのがありますね。
組み込み分野向けのDBは意外と需要があるので、
もうちょっと後学のために調べてみようかな。
未記入
常連さん
会議室デビュー日: 2004/05/17
投稿数: 28
投稿日時: 2007-01-19 10:05
>かつのりさん
クライアントの台数がかなりあるため、できれば無償にしたいところです。
SQLiteはちょっと調べてみましたが、.NETからもアクセスできそうなので、かなりよさげですね。

>MeijiKさん
FirebirdのEmbeddedサーバーですか。
これもよさそうですが、なかなか日本では情報が少ないようですね。

ファイルではなく、なんかプロセスが常駐してメモリ上で動くようなものはないのでしょうか。それだとマシン負荷が多そうで、使いどころが難しいか・・・
かずくん
ぬし
会議室デビュー日: 2003/01/08
投稿数: 759
お住まい・勤務地: 太陽系第三惑星
投稿日時: 2007-01-19 10:40
引用:

未記入さんの書き込み (2007-01-19 10:05) より:

ファイルではなく、なんかプロセスが常駐してメモリ上で動くようなものはないのでしょうか。それだとマシン負荷が多そうで、使いどころが難しいか・・・


SQLite:
http://www.sqlite.org/cvstrac/wiki?p=InMemoryDatabase
HSQLDB:
http://hsqldb.org/doc/guide/ch05.html

それぞれ、in memory databaseとして、動かす方法が書かれています。

firebirdもできるって、Martin Fowler氏も言ってるんだけど、ソースを見つけることができませんでした。
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2007-01-19 11:18
RAMDISKを同時に組み込むというのはいかがですか?

起動時と終了時に同期を取って、
あとは消えて無くなるというのが理想的って感じでしょうか?

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