1

現在、クライアント マシンで SQL CE データベースを使用しており、MS SQL のマージ レプリケーション/RDA 機能を使用してデータを中央サーバーに同期しています。関連するデータの量は少なく、中央サーバーは約 95% の時間アイドル状態になることがよくあります。データが入ってくるときだけ実際にアクティブになり、通常は毎日または毎週同期されます。

これに対する SQL Standard のライセンス コストは、SQL サーバーのワークロード / 対象のデータ量 (最大で数百 MB のオーダー) に比べて高額です。私が知りたいのは、.NET アプリケーションのバックエンド データ ストレージとして使用できるオープン ソースの代替手段 (mySQL など) があるかどうかです。私のバックグラウンドは Windows Server Admin であり、Linux には比較的慣れていませんが、極端に難しくない限り、Linux に挑戦して新しいスキルを習得できれば幸いです。他の選択肢があれば、それも素晴らしいでしょう。

4

1 に答える 1

1

これは非常に自由回答形式の質問なので、何から調査を開始できるかについて、いくつかのガイドラインを示します。

  • クライアント側の組み込みデータベース。組み込みサーバーはクライアントにとってやり過ぎかもしれないので、MySQL は私の理解からでも組み込むことができます。しかし、代わりのスタックがあります。そのようなポイントの 1 つは、Berkely データベース システムです。他の代替手段もあります。何か軽量なものを探しているクライアント側に完全なSQLサーバーは必要ないことに注意してください。バークレーについてはこちらで読むことができます:http: //en.wikipedia.org/wiki/Berkeley_DBおよび代替案についてはこちら:単一ファイル、Java 用の永続的でソートされたキー値ストア (Berkeley DB の代替)。彼らは、あなたの路地にいるかもしれないSQLiteについて言及しています。要するに、ここで使用できるオープン ソース ツールのスタック全体があります。

  • バックエンド データベース。MySQL は非常にうまく機能し、PostgreSQL でさえうまく機能します。PostegreSQL は、前回調べたときより多くのエンタープライズ機能をサポートしているように見えますが、変更されている可能性があります。この 2 つは、オープン ソースに関する限り、SQL サーバー市場における主なプレーヤーです。あなたのシナリオではどちらでもうまくいきます。PostgreSQL と MySQL はどちらも Windows でも実行されるため、Linux をインストールする必要はありませんが、Linux に時間を投資することをお勧めします。Linux は努力する価値があり、得られる安心感は良いものです。

MySQL/PostgreSQL に切り替える場合、現在使用している RDA/レプリケーション テクノロジがこれらのデータベースでサポートされず、おそらく最初からこれを実装する方法を検討する必要があるという 1 つの大きな障害があります。そのため、バックエンドやフロントエンドの DB を置き換えることはできますが、データのレプリケーションはもう少し問題がありますが、不可能ではありません。

これらのテクノロジーを試してみて、いくつかのテストを行ってから、そのレプリケーションをどのように置き換えるかを決定する必要があります。

于 2013-01-15T12:26:05.310 に答える