2010-12-14 16 views
1

Linuxサーバーで(24/7)実行し、MySQLデータベースにエントリを追加するプログラムを書いています。 データベースの内容はPHPとのWebインターフェイス上に表示され、ユーザーはWebインターフェイスを使用してエントリを削除できるはずです。 複数のプロセスから同時にデータベースにアクセスできますか?PHPと他のプロセスからMySQLに同時にアクセスする

+0

はい、可能です –

+0

ええ、並行処理はデータベースが存在する主な理由の1つです:) ACIDについて少しお読みください。 – Konerak

答えて

0

シングルトンを使用してDBにアクセスするようなことをしない限り、PHPが同時に使用するMySQL接続の最大数はphp.iniで制限されます。私はそれがデフォルトに100と信じています。

1

はい、データベースはこの目的のために非常によく設計されています。

  1. データベース書き込みの並行性と競合条件は、デザインにいくつか留意しておく必要があります。
  2. パフォーマンス。
  3. 別々のアプリケーションのデータベースアクセス権を分離します。
0

はい複数のユーザーが同時にデータベースにアクセスできます。 しかし、データが一貫していることに注意してください。 多くの小さなSQL文を使用してエントリを作成/編集し、その間に誰かがWebインタフェースを使用すると、これはいくつかのエラーにつながる可能性があります。 シンプルなデータベースを使用している場合は、問題はありません。トランザクションを使用することを検討する必要があります。

http://dev.mysql.com/doc/refman/5.0/en/ansi-diff-transactions.html

0

はい、あなたはInnoDBエンジンを使用している場合は24/7に実行される自動化されたプログラムの存在でレコードを削除しようとしている間に何か問題がありません。これは、トランザクションが一度に1つずつ発生し、別のトランザクションが終了してデータベースが毎回一貫しているために開始されるためです。

この回答How to implement the ACID model for a databaseには多くの関連ポイントがあります。

データベースのACID Propertiesについて調べるInnoDbエンジンを備えたMysqlデータベースは、これらすべてのことをあなたのために処理します。あなたはそれを心配する必要はありません。

関連する問題