VistaDB の利点は何ですか
-
09-06-2019 - |
質問
私は長年にわたり、SQLite、Firebird、MS SQL などのツールを使用した VistaDB への参照を見てきました。アル。それを考慮する理由は一度もありませんでした。
VistaDB にお金を払うことと、別のテクノロジを使用することにはどのような利点がありますか?私が考えたこと:
1.コンパクトなフレームワークのサポート。SQLite+MSSQL は CF をサポートします。
2.「より堅牢な」システムへの移行パスが必要です。ファイアバード+MSSQL。
3.トリガーなどのより高度な機能が必要です。ファイアバード+MSSQL
解決
VistaDB クライアント ランタイムは無料です。あなたが言うように、ランタイムは「午前3時に期限切れになる」ことはありません。この方法でライセンスが付与されるのは開発者ツールのみです。開発者ごとに 1 つのライセンスが必要です。簡単です。Visual Studio ツールを含まない非常に安価な Lite バージョンも提供しています。
その他の利点
100% マネージ コード - エンジンには相互運用やその他の管理対象外の呼び出しはありません。これは一部の人にとっては大問題ですが、気にしない人もいます。
レジストリへのアクセスは必要ありません - 他のほとんどの inproc データベースでは、親コントロールまたはアクセス許可を検索するためにレジストリ アクセスが必要です。VistaDB は指示されたことだけを実行し、中程度の信頼でも実行されます。
XCopyの展開 ランタイムとデータベース用 (単一ファイル)。アプリケーション、ランタイム、データベースを xcopy して実行できます。マシンにインストールしたり構成したりするものはなく、特別な権限も必要ありません (中程度の信頼以上で実行できます)。
隔離されたストレージ - データベース全体を分離ストレージに配置し、そこから直接実行できます。これにより、企業環境向けにドメインに優しい方法でデータベースを書き込む安全なクリック ワンス アプリケーションを非常に簡単に構築できます。ユーザー データを共有ドライブに保存したり、権限のマッピングについて心配したりする必要はありません。
CLR トリガー / CLR プロセス - CLR コードを作成し、トリガーまたはストアド プロシージャとして使用できます。最近、VistaDB と SQL Server 2005/2008 の両方で実行できる単一の CLR アセンブリの保守をさらに容易にする変更を導入しました。
T-SQL プロセス - VistaDB T-SQL Proc は SQL Server 2005/2008 と互換性があります。エンジンで動作するプロシージャはすべて SQL Server で実行されます。それは、そこで実行されているものが私たちに移植されるという意味ではありません。私たちは SQL Server の機能のサブセットです。ただし、SQL Server を使用せずに T-SQL Proc を実行する唯一の方法でもあります (SQL CE では実行できません)。
個人的に最大の特徴の 1 つは、後から SQL Server にアップサイズできることだと思います。VistaDB のタイプ、構文、CLR プロシージャ、T-SQL プロシージャなどはすべて SQL Server 上で実行されます。(ただし、SQL Server からすべてを VistaDB に移行することはできません。これはサブセットです)
32/64 ビットの展開 - VistaDB は、変更せずに 32 ビットと 64 ビットの両方を実行する単一アセンブリの展開です。SQL CE は、OS に応じて 2 つの異なるランタイムを必要とし、IIS ではまったく実行できません。 Access には 64 ビット ランタイムがなく、最新の 32 ビット ランタイムは MSI 経由でのみ展開できます。Windows の 32 ビット バージョンにはランタイムがありますが、64 ビット バージョンにはありません。
関係の整合性 - VistaDB は実際に制約と外部キーも強制します。特定のカスケード更新および削除操作を実行できます。私たちは SQLITE のようだとコメントした人は、この点では間違っています。制約は解析されますが、強制はされません。
編集:現在、SQLite では FK がサポートされています。ただし、これらはデフォルトではコンパイルされず、SQL Server と同じ構文を使用しません。
中程度の信頼 - 中程度の信頼度の Web サーバー上で実行できる機能も、多くの人が気にしない機能ですが、これは大きな問題です。多くのサードパーティ製コントロールは、中程度の信頼では実行することさえできません。100% マネージド コードと最小限の権限への取り組みにより、Medium Trust 内で完全なエンジンを実行できます。
- 完全開示 - 私は VistaDB の所有者なので、偏見があるかもしれません。:)
他のヒント
重要なのは、これが純粋なマネージド コードであるということです。それだけの価値はあります。.NET を実行している一般的な Windows マシンだけでなく、Compact Framework が実行されている場所であればどこでも機能し、さらには 単核症. 。彼らのホームページからいくつかの注目すべき点を箇条書きで紹介します。
- 1 MB 未満の小さなフットプリントで真に埋め込まれた ZeroClick
- Microsoft SQL Server 2005 と互換性のあるデータ型と T-SQL 構文
- SQL CE の制限はありません
- シングルユーザー、マルチユーザーのローカル、または共有ネットワークの使用。
- 部分的に信頼された共有ホスティングは問題ありません。
- ロイヤリティフリーの配布 - SQL Server の単一 CPU 展開には、VistaDB のサイト ライセンスよりもコストがかかります。
注目に値するのは、ロブ・ハワードの会社です。 賢い, は、それを新しい CMS ソフトウェアのデフォルト データベースとして使用しています。落書き."
私はあちこちでそれを使って遊んできましたが、まだそれに対して何も構築していません。
私にとって、VistaDB の最も興味深い機能は、中程度の信頼環境で実行できることです。そのため、コピー アンド ペースト (x-copy デプロイメント) によってサーバーにデプロイできる小規模から中規模の .NET Web サイトを作成するのに最適なソリューションになります。
また、ほとんどすべての Windows 共有ホスティング プロバイダー (GoDaddy など) では、Web サイトを完全信頼モードで実行できません。また、たとえば SQLite を使用したい場合、System.Data.SQLite.dll などのサードパーティのバイナリを GAC にインストールすることもありません。
VistaDB についてはこれまで見たことがありませんでしたが、非常にクールに見えます。
アップデート: VistaDB の誰かからコメントを受け取りました - 彼らの更新モデルは新しいバージョンを入手するためだけです。ライセンスの有効期限が切れても、古いバージョンの機能が停止することはありません。これは知っておくと良いでしょう。
VistaDB 自体は問題ないとしても、ソフトウェア ライセンスの期限切れに関する警告については、私見として元の投稿をそのままにしておきますが、それでも検討する価値はあります。
SQLite よりも「機能が充実している」ことは間違いありませんが、コストを正当化するものは何も見つかりません。このサイトでは 1 ライセンスを 279 ドルで購入できると示されているようですが、これは単なる 1 年間のサブスクリプションであることを意味します。サイトの転倒を防ぐために、来年さらに 279 ドル支払わなければならないでしょうか?
その場合は、VistaDB ライセンスの有効期限が切れてパニックになっている顧客から午前 3 時 (マーフィーの法則、常に午前 3 時です) に電話がかかってきたときに、どれだけ不便になるかを「コスト」に織り込むことを忘れないでください :-(
私も期限切れのソフトウェアでこのような経験をしましたが、決して良いものではありませんでした。顧客に電子メールやメッセージを送信し、画面全体を赤く点滅させて「来週までに新しいライセンスを取得する必要があります」と表示しても、顧客はまだそれを実行せず、午前 3 時にそうしても痛みを感じるでしょう。期限切れ。