9

インターネットを介したfirebirdデータベースの実際の経験はありますか?

私は、firebirdデータベースサーバーで非常にうまく機能する典型的なWindowsアカウンティング/ ERPソフトウェア(delphiで実行)を持っています。オフィス、ラップトップ、家などから)。すべてを標準のWebアプリケーション(たとえば、HTML + CSS + JS + PHP + MYSQL)に再作成するのは大変な作業なので、winクライアントを維持することを検討しています(他のOSは気にしません)。しかし、クライアントLANに存在するサーバーの代わりに、私が契約する専用サーバーのペアにサーバーを移動します(1つのプライマリサーバーと1つのセカンダリサーバーが起動の失敗に反対します)。

検索私はこのよくある質問http://www.firebirdfaq.org/faq53/に出くわしました。これは、インターネットでの作業には理想的ではないfbプロトコルを説明していますが、それでも今日のすべてのユーザーは少なくとも1MBビット/秒を持っていますADSLインターネット接続(よくある質問が示すように遅いとは思いません)。

誰かがこれをしましたか?どんな経験でしたか?fbサーバーはインターネットに公開するためにどの程度安全ですか?それらはどれくらいうまくスケーリングしますか?

たとえば、SOAPを使用して「ミドルウェア」を構築するのがより一般的であることはわかっていますが、それでもここで評価しているソリューションははるかに高速で簡単です(まだ、レプリケーション、バックアップ、hearbreathサービスでいくつかの作業がありますが、それは多くのことですWebのためにすべてをやり直すよりも少ない)。

ありがとう!編集:FBバージョン:2.5。

4

5 に答える 5

8

私は、Firebird Core 開発者に、Firebird プロトコルを改善して高遅延ネットワーク (別名、インターネット) での速度を向上させるよう「プッシュ」しようとしていました。最近、Dmitry Yemanov は、このテーマに関するブログ ( dyemanov.blogspot.com )でいくつかの記事を公開しました。最適化の余地があるようです。これが FB 2.5.3 と FB 3.0 で実現されることを本当に望んでいますが、これらのバージョンで、または近いうちにこれが発生するという保証はありません。ここでそのような改善に投票できます: http://tracker.firebirdsql.org/browse/CORE-2530

安全性?VPN の設定を試みることができます。そこにあるほとんどのVPNソフトウェア(Zebedeeなど)は転送中のデータを圧縮できるため、場合によってはデータ転送の高速化に役立つため、速度にも役立つ場合があります.

私の顧客の中には、インターネット経由で Firebird の従来の C/S を使用している人もいます。ローカル ネットワークに比べてはるかに遅く、もちろんどれだけ遅くなるかは、基本的にリンク速度と遅延に依存します。メタデータキャッシュなどを使用して、クライアント側でも最適化を行うことができますが、現在のプロトコルで奇跡を期待しないでください。一日中仕事をするなら、今のところターミナル サービスを使う方が良いと思います。

于 2012-04-10T00:12:22.570 に答える
4

スケーリングの質問に関する回答 Firebird は、大規模な鉄のサーバー上で実稼働環境で実行されます: 512G の RAM 100.000 の同時ユーザー

Firebird を実行して、より大規模なシステムを強化しています (12 の政府機関と 3 つの銀行向け)。2500 (最大) のプールされた接続を通じて多重化された約 100000 のエンド ユーザーがい ます https://plus.google.com/111558763769231855886/posts/Q1ACy1yyTgP

Firebird 2.5 のプロトコルは改善されており、3.0 の余地がまだ残っていますが、既に行われたことを確認できます。

http://asfernandes.blogspot.com/2009/07/network-latency-influence-on-firebird.html

3.0 での今後の機能強化 http://www.firebirdnews.org/?p=6953

接続を保護するには、高圧縮オプションを使用した ssl/ssh トンネル (opnvpn の場合もあります) が最善の策だと思います http://mapopa.blogspot.com/2010/11/securing-firebird-using-ssh-tunnel.html

于 2012-04-13T13:29:39.877 に答える
3

FB プロトコルの問題は、帯域幅に関するものではなく、遅延に関するものです。私の経験では、LAN やローカル接続と比較して、インターネット/VPN 経由では一部の操作が非常に遅くなる可能性があります。インターネット接続を介してアプリケーションを実際に実行していないため、これ以上問題を調べていません。

ただし、アプリケーションには 3 層モデルをお勧めします。データベース サーバー/同じネットワーク上で実行される独自のアプリケーション サーバーを作成します。クライアントがアプリケーション サーバーと通信できるようにすると、最大のパフォーマンスが得られます。

Delphi 用の N 層アプリケーション/ミドルウェア フレームワークがいくつかあります。

これらを使用すると、データ圧縮、暗号化、バイナリ メッセージ (SOAP より高速) などを取得できます。

于 2012-04-10T05:12:12.033 に答える
0

Firebird エンジン自体に TCP/IP パケットの暗号化/復号化を直接実装できます。個人的に、私は Firebird 2.5 のソース コードをダウンロードし、彼の低レベル通信層 (INET ソケット層) に安全なトンネライゼーション コードを直接挿入しました。現在、暗号化/復号化は、サーバー側とクライアント側 (fbclient.dll) の両方で、各 TCP/IP パケットに対して Firebird エンジンによって直接行われます。次に、通信を暗号化するために選択した秘密鍵を提供するコードを 1 行追加して fbclient.dll に追加する以外は、クライアント アプリケーションを再構築する必要はありません。サーバー インストールの firebird.conf ファイルで同じ秘密鍵を宣言する必要があります。また、fbclient にプロキシ ネゴシエーション ソリューションを実装しました。dll を使用して、TCP/IP パケットが任意のプロキシ サーバー (Microsoft ISA Server など) を通過できるようにします。私たちにとって、このアーキテクチャは実際の運用システムで 1 年以上機能します。

于 2014-03-04T07:28:51.957 に答える
-2

kbmMW CodeGear Edition は無料ですが、ソースはありません。商用アプリに使用できます。https://portal.components4developers.comで登録した後にダウンロードします。

証明書エラーが表示された場合 (そうすべきではありませんが、実際にエラーが発生していると聞いたことがあります) は、それらを受け入れて無視してください。cert.error にもかかわらず、サイトは有効です。

kbmMW CodeGear Edition には kbmMW Professional Edition のサブセットが含まれていますが、次の Delphi データベース API をサポートしています。

  • ボーランド データベース エンジン
  • DBエクスプレス
  • kbmMemTable
  • SQLite3

クライアントとの通信において、バイナリ、HTML 上のバイナリ、XML、および SOAP プロトコルをサポートします。必要なものがすべて含まれています。

  • 統一されたリモート カスタム メソッドの呼び出し
  • 統一されたリモート データセットのクエリ、実行、およびデータ変更の解決
  • 統一されたデータベース メタデータの処理と作成 (テーブル、フィールド、インデックス、ジェネレーター/シーケンサー)
  • オプションの別のサーバーへのリクエストの自動プロキシと、結果を元のリクエスタに戻すプロキシ
  • 完全なネイティブ XML DOM および SAX サポート
  • CSV またはバイナリ データとしての完全なデータセット ブリーフケースのサポート
  • 新しいアプリケーション サーバー サービスを作成するための高度で使いやすいウィザード

ただし、注意点が 1 つあります。kbmMW CodeGear Edition の最新バージョンは、常に最新の Delphi バージョンのみをサポートします。古い Delphi リリースに対応する古い kbmMW CodeGear エディションを引き続きダウンロードできます。

kbMMW Professional Edition と kbmMW Enterprise Edition にはそのような制限がなく、現在、D7、D2006、D2007、D2010、DXE、DXE2 を Embarcadero C++ の同等版と共にサポートしています。

敬具 Kim Madsen www.components4developers.com

于 2012-04-25T17:56:02.677 に答える