2

私は、クレジット カードまたはマネー オーダーで購入したサービスの利用可能な現金残高を維持するアプリケーションを構築しています。当然のことながら、小規模なスタートアップとして、最初はボリュームが存在しないため、パフォーマンスはそれほど問題ではありません。

とは言っても、私の予算はごくわずかです READ: 今のところオープン ソースです。従来の Z メインフレームを使用するのは愚かなことです。そのことについてはオラクルなので、mysqlのinnodbエンジンとmyisamエンジンの間で議論しています。

ほとんどのプロジェクトで、innodb を選択しています。たとえば、最初の架空の 100,000 人の顧客にとって、これは実行可能なオプションでしょうか? それともマイサム?テーブルのロックは金融取引に推奨されますか?

4

2 に答える 2

2

データベースの選択

PostgreSQL 私はhttp://www.postgresql.org/に投票します。特に、オラクルから来ている場合は、エンタープライズRDMSに最も近いものに投票します。

http://www.mysql.com/を検討することもできますMySQl

エンジンの選択

MySQLを選択した場合、金融取引にはサポートが重要であるため、使用innoDBする ことをお勧めしますMyIsamDatabase Transaction

見る :

http://www.databasejournal.com/features/mysql/article.php/3382171/Transactions-in-MySQL.htm

PHP+MySQLトランザクションの例

これがお役に立てば幸いです

于 2012-04-25T02:27:08.067 に答える
0

データの整合性が最も重要な場合、InnoDB は論理的な選択です。以下にいくつかの比較を示します。

  • InnoDB は新しく、MyISAM は古いです。

  • InnoDB はより複雑ですが、MyISAM はより単純です。

  • InnoDB はデータ整合性においてより厳密ですが、MyISAM はそれほど厳密ではありません。

  • InnoDB は挿入と更新のために行レベル ロックを実装し、MyISAM はテーブル レベル ロックを実装します。

  • InnoDB にはトランザクションがありますが、MyISAM にはありません。

  • InnoDB には外部キーと関係制約がありますが、MyISAM にはありません。

  • MyISAM はシステム クラッシュ時のデータ整合性の回復が不十分ですが、InnoDB はより優れたクラッシュ回復を備えています。

  • MyISAM には全文検索インデックスがありますが、InnoDB にはありません。

私が開発した金融アプリでは、通常のレイアウトは通常 InnoDB 上のすべてのものから始まりますが、ログ記録や同様のタスクを実行するテーブルは除きます。MyISAM にはない InnoDB に必要な最も重要な機能はtransactions. つまり、複数の操作が 1 つの操作として扱われます。それらがすべて成功するか、トランザクションが失敗します。

アプリケーションのスケーリングが必要になると、他の重要でないテーブルが MyISAM に変換されます。これは、アプリのトラフィックが多い場合に特に役立ちます。

お役に立てば幸いです、乾杯!

于 2012-04-25T02:41:12.410 に答える