1

データをプッシュできるライブラリまたはサービスを探していますが、毎回他の列がいくつかあります。現在、IronMQ を使用して json をキューにプッシュし、json を解析して属性を取得しています。ただし、後でキューで SQL クエリを実行できるように、すべての属性を個別の列にプッシュできるキュー ライブラリまたはサービスがあるかどうか疑問に思っています。

これを行うには、Python と Sqlite3 を考えました (Amazon SQS や IronMQ と比べてどのような違いがあるでしょうか)。これにより、これが非常に簡単になります。

4

1 に答える 1

1

メッセージ キューイング テクノロジー (IronMQ、RabbitMQ、Amazon SQS など) と RDBMS (Sqlite、Sql Server、PostGres など) の違いは、RDBMS テーブルをキューとして使用し、クエリを許可する場合は、管理する必要があることです。 LIFO キューイング プロセスを自分で行う。キュー (一部の例外を除く) は LIFO プロセスを強制しますが、データベース テーブルはランダム アクセスであり、データの挿入、変更、または削除の方法やタイミングは強制しません。これらのルールは、ビジネス層で処理されます。(あなたは Python と Sqlite の使用について言及しました。Sqlite はキュー/データ ストアとなり、Python アプリは LIFO キューとランダム クエリを管理するロジックを実行します。)

RDBMS は仲介メッセージ ストアとしてよく使用されます。あなたの質問から、何よりもランダム アクセスに関心があるように見えるので、LIFO キューはそれほど重要ではないと思います。何を設計しているのかを詳しく知らずに判断するのは困難です。しかし、既製のキューやデータベースのように機能するものが必要な場合は、Oracle AQをチェックしてください。

リンクされたページから:

Oracle Streams Advanced Queuingはデータベース表に実装されているため、高可用性、スケーラビリティおよび信頼性という運用上のすべての利点がキュー・データにも適用されます。リカバリ、再起動、セキュリティなどの標準データベース機能は、Oracle Streams Advanced Queuing でサポートされています。Oracle Enterprise Manager などのデータベース開発および管理ツールを使用して、キューを監視できます。他のデータベース テーブルと同様に、キュー テーブルはインポートおよびエクスポートできます。

メッセージは、標準 SQL を使用して照会できます。これは、SQL を使用してメッセージ プロパティ、メッセージ履歴、およびペイロードにアクセスできることを意味します。SQL アクセスを使用すると、監査と追跡も行うことができます。メッセージへのアクセスを最適化するために、インデックスなどの利用可能なすべての SQL テクノロジを使用できます。

その他のリソースと詳細情報:

于 2014-10-22T15:40:33.553 に答える