8

私は4D SASのデータベース製品に長い間興味を持っていましたが、長い間ほとんど触れていませんでした。

アプリケーション開発に使用するツール、特にデータベース コンポーネントを必要とするツールを検討する際に、MySQL や PostgreSQL などのオープン ソース ツールと 4D や Pervasive SQL などの独自のソリューションを検討する際に、何を探す必要がありますか?

SO コミュニティは、4D、Pervasive、FilemakerPro などのさまざまな DB ツールでどのような良い (そして悪い!) 経験をしましたか?

悪い経験はありますか?

4

10 に答える 10

3

コンテキストなしで、関連する長所と短所のリストを作成するのは困難です。

私のアドバイスは次のとおりです。独自のデータベースを使用するかどうかを決定するときは、この決定が単に特殊なツールに対する技術的な関心だけでなく、強力な事実に基づいていることを確認してください。プロプライエタリ データベースを使用する利点と、非プロプライエタリ ソリューションの利点のバランスを取ってください。

答えはシステムごとに異なります。

前提条件は、分析の結果が堅牢になるように、システムが明確に識別され、明確な範囲と予測可能な進化を備えていることです。次に、独自のソリューションがシステムに真の利益をもたらし、サポートに満足し、全体的なコストを支払う余裕がある場合は、独自のソリューションの良い候補になるはずです.

于 2009-09-28T22:24:06.003 に答える
2

4D は、MacOS/Windows のみのクロスプラットフォームの専用データベース システムで、スタンドアロン型とクライアント サーバー型の両方を備えています。Windows のみの Alphafive.com ソフトウェアと比較するとよいでしょう。私はこれを 17 年間使用してきましたが、私と私の部門に非常に役立っています。私の頭の上から...

長所:

  1. インターフェースとコードはデータ エンジンと密接に結びついており、リッチでクロスプラットフォームのユーザー インターフェースを非常に迅速かつ簡単に開発できます。
  2. 独自のリレーショナル データ エンジンは、ネイティブ クライアント インターフェイスと共に、両方のプラットフォームでネイティブに実行されます (ただし、マルチユーザーのライセンスが必要です)。自動関係は役に立ちます (ただし、邪魔になる場合もあります)。
  3. SOAP、ODBC、および SQL ドライバー (制限付き) を介して外部システムにアクセスできます。
  4. SOAP または http リクエストと Web ページを介して外部システムから 4D にアクセスできます。
  5. Pascal に基づくネイティブの手続き型プログラミング言語で、習得が容易です。
  6. 小規模から中規模の部門向けの優れたツール。
  7. 最新バージョンは、SQL コマンドのサブセットと元のデータ アクセスを受け入れるため、下位互換性の記録は非常に良好です。
  8. 4D ではセキュリティは簡単です。
  9. さまざまな手段で展開するソリューションを構築でき、MS Access がインストールされているかどうかに制限されません。

短所:

  1. インターフェイスとコードはデータ エンジンと密接に結びついているため、開発の目標にしない限り、抽象化と「ブラック ボックス」コーディングの使用が制限される可能性があります。
  2. 1 つのモノリシック構造ファイルにコンパイルして、単一の修正のために再起動を強制します。
  3. 言語はまだ手続き型にすぎないため、オブジェクト指向プログラマーが受け入れるのが難しくなっています。4D ではすべてのメソッドが個別の「ファイル」を必要とするため、1 つのルーチンに複数の関数や手順を含めることはできません。慣れるまでに時間がかかります。
  4. 会社は良好な状態にあり、成長し、発展しているように見えますが、彼らは自分たちの状態を自分自身に保っているので、あなたは決して知りません.
  5. 会社は実際に自分自身を宣伝したことはありません。サイトの展開と製品のアップグレードを通じて言葉を広め、製品を成長させるために開発者ベースを信頼しています. この Web サイトは明らかに、その製品を既に使用している開発者にしか役に立ちません。新しいユーザーを引き付けることができません。
  6. 製品のアップグレードは、ツールが開発者の顧客ではなく、開発者にとってどのように優れているかという点に常に焦点を当てているようです。
  7. SQL には、ビュー、複合インデックス、およびその他の一般的な SQL 機能がありません。
  8. ユーザーがデータの特定の列のレポートを要求した場合、その特定のデータを提供するためだけに、さらに別のプログラムを作成する必要があることがよくあります。常にデータをクエリしてテキスト ファイルを生成できるとは限りません。
  9. Web ブラウザー ベースのアプリケーションのように簡単に、新しい OS バージョンを処理できません。古いバージョンは Mac OS 10.6 では動作しません。最新バージョンには最新の Mac OS 10.6 が必要です。Windows 7 では、まだ認定されているバージョンはありません。

ASP.NET を 1 年近く学び、Ruby on Rails を数週間学んでいます。SQL データ ストアは簡単ですが、ユーザー インターフェイスは難しいですが、OS のアップグレード後もアプリケーションが引き続き機能する場合は、それだけの価値があります。最新バージョンで問題が発生した場合は、いつでも古いブラウザーを使用できます。

プロジェクトを実装するために利用できる資金に応じて、これらのいずれかを検討することをお勧めします.Railsは2つのうちで安価です. 次に、Web ブラウザーを備えたすべてのシステムがデータにアクセスでき、1 回の単純な更新のためにシステム全体を数分ダウンさせるのではなく、必要に応じてその場でインターフェイス ページを修正できます。これらのスキルは、将来的にはより市場性の高いものになる可能性があります。

于 2009-12-30T19:42:21.973 に答える
2

1 つだけ言っておきます..あなたの決定の「実際の」コストを見てください..ほとんどのプロプライエタリ データベース システムは Windows のみです..または場合によっては Mac/Windows のみです。

これは、データベース システムにかなりの金額を支払うことに加えて、それを実行するサーバー オペレーティング システムにもかなりの金額を支払う必要があることを意味します...

また、データベース システムを現在のオープン ソース ソリューションと比較します。それは本当に価値がありますか?Microsoft Sql Server (これには無料版がありますが、とにかく) から PostgreSQL に移行した後、人々が SQL Server に多額の料金を支払っていることに驚きました. つまり、私にとって Postgres はよりクリーンであり、ほとんどが正確に機能します。どのように期待するか (特定の SQL サーバー構文とは異なり)、さらに多くの機能が組み込まれています (Ruby でストアド プロシージャをプログラミングしている人はいますか?)

基本的にはプロプライエタリとオープンソースのソフトを比較し、トータルの価格(OS含む)と機能セットからどちらを選ぶかということになります。

于 2009-12-31T15:17:50.640 に答える
1

4D は垂直アプリケーションに適したオプションです。私は、4D を使用して、一般開業医や専門医向けの医療記録および請求アプリケーションを構築する会社で働いていました。4D の迅速な設計と展開機能により、アプリケーションは市場の要望や医療記録ストレージに対する法改正に迅速に対応できました。環境自体は最先端ではありませんでしたが、統合されたクロスプラットフォームで非常に生産的でした。

ベンダー ロックインが高く、参入障壁が高い市場に参入する場合は、独自の統合開発環境が適切な選択肢だと思います。

于 2009-09-28T12:56:47.107 に答える
1
  • 任意の DB に照準を合わせることの長所: 作業を完了するのに役立つ、移植性のない優れた機能があります。
  • 任意の DB をゼロにすることの短所: 別の DB が適切な場合もありますが (たとえば、インメモリ SQLite インスタンスでテストを実行するなど)、そのオプションは閉じられています。
  • プロプライエタリな商用 DB の短所: 多くのインスタンスが必要な場合、ライセンス コストが命取りになる可能性があります
于 2009-09-23T06:43:21.937 に答える
1

4D の Web ページから、スタンドアロンのデータベースではなく、完全な開発 + 展開環境を見ていることがわかりました。したがって、あなたが検討している選択肢には、django、ruby-on-rails、hibernate などがあります。もちろん、本当の問題は、プロプライエタリなシステムが、製品のコストを正当化するのに十分なコストを製品の寿命を延ばすことができるかどうかです. そして、それはあなたが利用できる人材のタイプに依存します.

于 2009-09-28T08:26:13.493 に答える
1

次の質問を検討してください。

  • メンテナンスで変更を加えるのはどのくらい簡単 (または難しい) ですか? アプリケーションは、開発よりもメンテナンスにはるかに多くの時間を費やす可能性が高いため、変更が困難な場合、長期的な苦痛が保証されます。
  • サポートの質は?十分に文書化された、独自のシステムであるかどうかにかかわらず、システムはより簡単に操作できます。
  • ユーザー コミュニティの規模はどのくらいですか (または小さいですか)。ユーザーコミュニティが大きいシステムは、問題が発生した場合に支援を求める人が増えることを意味します。
  • この独自のデータベース システムのインポート/エクスポート機能はどの程度堅牢ですか?

最後のポイントは、最初のフルタイムの仕事で特に役に立ちました。クライアントは CA-Ingres を使用していましたが、データを検証するためのクエリを作成できるほど CA-Ingres をよく知っている会社はありませんでした。そこで、Ingres からデータをエクスポートし、それを MS SQL Server にインポートするというアイデアを思いつきました (これは、Sybase Professional Services での短期間の経験から知っていました)。そこで検証クエリを記述できます。Ingres からデータをエクスポートするのが非常に困難であった場合、私の考えはまったく選択肢になかったでしょう。

于 2009-09-23T21:18:39.430 に答える
1

キャリアのさまざまな時点で、私は FileMaker Pro、FoxPro、4D、およびその他のいくつかの商用製品を使用し、非常に上手になりました。現在、私は主に PHP/MySQL を使用しており、どの製品の最新バージョンも使用していません。

私は常に FileMaker が好きでした。コンピュータを使用できるほとんどの人は、FileMaker を手に取って独自のシステムを設計できるからです。プログラミングやデータベース設計を知る必要はありません。ただし、必要に応じて、FileMaker を「プログラム」したり、Web フロント エンドを配置したり、その他のより高度な設定を行ったりすることができます。技術者ではない人が FileMaker で作成したシステムを「手渡された」ことが何度もあり、それを本格的なデータ管理システムにする必要がありました。良い点は、すべての「仕様」とデータ フローが既にシステムに組み込まれていることです。プロトタイプはすでに作成されています!

4D と FoxPro で実際に何かを行うには、ある程度の追加のプログラミングやデータベースの知識が必要であることが常にわかりました。4D と FileMaker は、単なるデータベース システムではなく、本当に完全な自己完結型システムです。それらはすべて、他のバックエンド データベース システム (つまり、MySQL、Oracle) に接続する機能を備えていますが、それは彼らの強みではありません。

マイナス面としては、4D と Filemaker ではすべてが密結合されているため、より複雑で動的なシステムを実行するのが難しい場合があります。それらのコストのために、それらを使用して複数のシステムを作成したいと思うでしょう. つまり、お金の価値を得るには、本当に「それらを購入する」必要があります。

于 2009-09-28T13:25:17.033 に答える
1

重要な概念は常に標準への準拠です: 4D のカスタムおよび/または特別に設計された関数を使用する予定がある場合 (ただし、議論ははるかに一般的であり、他の無料または商用ツールをカバーする可能性があります)、まあ、それを使用してください。そしてあなたの利点を利用してください。

当然のことながら、過去に Oracle や IBM の DB2 のような巨大な DB システムが、たとえば商取引などの特定のビジネス分野で広く受け入れられたのはそのためです。

非常に閉鎖的なソリューションを採用するもう 1 つの主な理由は、レガシー サポートです。あなたが引用した製品の 1 つ (Pervasive SQL) は、90 年代後半に BTrieve ベースのアプリケーションの簡単なポートとして機能し、世界中の巨大な BTrieve コミュニティのおかげで人気を博しました。

最後に、TCO (総所有コスト) を、ライセンス価格 (シングル シート、ネットワーク環境、サイト ライセンスなど) だけでなく、技術サポート、更新、および可用性についても評価する必要があります。あなたのプラットフォームのために。私が知っている多くのビジネス ユニットは、DB 関連の問題のためにベース OS を変更せざるを得ませんでした。

ヒント: 極端なパフォーマンスを求めていない場合は、仮想化環境での使用が証明またはサポートされているカスタム ソリューションにボーナスを追加してください。これは、DB マネージャーの頭痛の種以上のものを節約します。

それ以外の場合はすべて、オープンソース/フリーソフトウェア DB に依存してください。大きなプロジェクトには MySql と Postgres、単一アプリの永続化レイヤーには SQLite。かなり標準的で非常に優れた (コミュニティ) サポート。価格に見合った価値。

于 2009-09-28T13:26:25.300 に答える
-1

あなたがリストした独自のデータベース製品 (4D、Pervasive、FilemakerPro) を使用した経験はありません。

あなたが挙げたオープンソースの代替製品よりも、これらの製品が提供する魅力を知りたいと思います.MySQLとPostgreSQL.

Oracle、SQL Server、DB2 などのより一般的な独自の代替手段よりも、それらが魅力的な理由に興味があります。

より詳細な情報を提供しないと、アドバイスするのは困難です。

個人的には、あまり使われていないクローズド ソース ソリューションよりも、広く使われているオープン ソース ソリューションの方が安全だと感じています。広く使用されればされるほど、実戦でテストされる可能性が高くなります。オープンになればなるほど、バグに遭遇した場合に備えて、自分の運命をよりコントロールできます。

私はバグをオープン ソース プロジェクトに報告し、すぐに修正してもらいました。営利目的のプロプライエタリ ソフトウェアを作成している企業にバグを報告しましたが、何も得られませんでした。

于 2009-09-27T03:31:53.837 に答える