2011-01-20 3 views
2

サーバから受信したメッセージを何らかのデータベースに保存したい。私のウェブサイトはDrupalに基づいており、私はMySQLデータベースを使用しています。メッセージには6つのフィールド(2つの文字列と4つの整数)が含まれています。保存時には、これらのメッセージは絶えず質問され、更新されます。受信したデータをDrupal CCKフィールドまたはMySQLデータベーステーブルに格納しますか?

私はここでどのようなアプローチをとるべきですか? drupal CCKフィールドまたはMySqlデータベーステーブル?

+0

「メッセージ」はどのようにデータベースに取り込まれますか。それはちょっと答えに影響するかもしれません。インバウンドWebサービスを作成し、受信メールを解析していますか? –

+0

@Matt:着信メッセージをチェックするためにソケット接続を使用しています。 – ayush

答えて

1

です。 CCKのスキーマは、「常に照会」されるよりも、柔軟性を重視して設計されています。時間の経過とともにスキーマが大きく変わることを期待しておらず、独自のテーブルを作成して管理することができれば、CCKのメリットはあまり得られません。 Drupal以外のシステムにデータをエクスポートすることを決定した場合は、単純なテーブル構造から、独自のカスタムテーブルを作成する方が簡単かもしれません。

しかし、何らかの理由で急いでいる場合は、約15分で記述するフィールドで1つのコンテンツタイプを作成できます。 Viewsモジュールのサポートが必要な場合は、既にCCKに含まれています。

+0

これはクエリの結果がより速く、一定の更新に適していますか?また、それはメモリ使用量の点で良いでしょう。このデータ型の項目数は、1日に1000を超えることがあります。 – ayush

+0

カスタムテーブルを使用すると、より確実な結果が得られます。しかし、テストだけでどれくらいの時間がかかります。それは無視できるかもしれませんが、そうでないかもしれません。データ構造がより簡単になる可能性があるので、メモリオーバーヘッドはカスタムテーブルでも少なくなります。繰り返しますが、どれくらい正確かどうかはわかりません。 –

1

データベースにレガシーデータがある場合、または外部プロセスによってデータベースが満たされている場合、CCKはオプションではありません。 CCKでは、Webインターフェイスのフィールドを変更できます。その際、基礎となるデータベース構造を変更します。 CCKも独自のデータベース構造に依存しているため、すべてのCCKフィールドを自分で書き込むことなく、レガシーまたはCCKデータベースからCCKグラブコンテンツを作成したり、そこにコンテンツをプッシュすることはできません。

関連する問題