Javaデータベース開発

NOSQL データベースの使用シナリオ

私たちはまず、問題を特定する必要があるのNoSQLは、あなたが何ができるのでしょうか?分野で現在開発中のNoSQL ドキュメントストレージ(実装することができ BSON JSON )、キャッシュメモリ、画像バッファ(画像検索)を、しかしためのNoSQL 特定のアプリケーションシナリオ完全にあなたの実際のビジネスの条項に従って、

         原因は、データの一部を整理することができますので、多くの場合、マルチテーブル、クエリ、パフォーマンスの低下に使用する従来の開発は、多くの場合、ドキュメントの種類に表示されている中でのNoSQLデータベース( MongoDBの)が、現在のドキュメントタイプは NoSQLの複数使用小さな、それは無視することができます。

         キャッシュタイプ:例えば、の分散開発することセッションストアを、のようないくつかの一時的なデータ、実行します。今、ショッピングカート、SMSの検証コード、最も使用されるデータベースキャッシュをされたのRedisは、(ディスク上に保存することができ、停電データをすることができ保存);

使用 Redisのは、メッセージキューを実装するには、より高度な使用することができます RabbitMQのをカフカが住んでいた方が便利実現します。

利点:毎秒近達成することができ 10W ライト処理時間を。

image.png

 

データベースを最適化するには多くのレベルがあります。

1。最適化の声明:必要に応じて、サブクエリの使用の代わりに、(サブクエリが唯一の妥協である最善ではありませんがお勧め、頻繁に驚くべき統計調査の様々なを使用しないようにしよう、マルチテーブルクエリを使用しないようにしよう、そしてちょうど反対、データの量は、あなたが大きな時間を嵐、あなたはすべての認知変化するすべてのルール)。 

2。、多くの場合、設定の主キーインデックス:データベースの最適化は、クエリにこのようなインデックスの範囲内のクエリやデータの量を反映しますが、インデックスの使用後、のような頻繁な変更、のことができるようにすることはできませんしかし、別の観点から、データを物理的に削除すべきではありませんが、ちょうどインデックスは再作成されていないことを確認するために、論理削除します。 

時間のためのスペース、スペースのための時間:あなたはデータ処理操作を同期する必要があるかどうか。

3。複数のある場合には RPCのタイムサービスが終了するが、縦割りのアプローチは、ライブラリと考えることができ、この時間は機能を分割することしかできない、これは強力なインターフェース技術をサポートする必要があります。 

4。サブライブラリーは、とき分割の問題の問題を解決しない場合は、我々はデータベースのレベルを(だけで、最終的な溶液は理解の範囲内で使用することができます)を検討する必要があります。 

5。あなたは強力なクエリのパフォーマンスを確保する必要がある場合は、我々は再びワード処理を行う検索エンジンの概念を導入する必要があります。 

 

その他のデータベースコース:アリクラウド大学-開発者教室


おすすめ

転載: blog.51cto.com/13730592/2401494