SQLと各種NoSQLデータベースの使用シナリオの説明

SQLと各種NoSQLデータベースの使用シナリオの説明

SQL はメイントランクです。なぜ私はこのように理解するのでしょうか。

技術的な観点から

  • リレーショナルグリッドはビジネスの現実を完全に反映している
  • トランザクション、監査、フラッシュ メモリなどのデータが重視されるため、特に重要なデータは SQL に配置する必要があります。少なくともユーザー情報はシステム内の重要なデータです。
  • だからSQLは必要であり、データストレージのバックボーンである

NoSQLを導入するタイミング

まず、sql -> sql + nosql のプロセスを見てみましょう。

https://www.jb51.net/article/79236.htm NoSQL を使用する理由

これらはNoSQLですか?

Java言語の場合:

  • redis: キャッシュ用 - 非常に高速な読み取り速度 (メモリ内)
  • mongoDb - 読み取りと書き込みのトランザクションがバランスされます。json は node.js によって開発されました
  • Neo4j - .java は SQL に似ていますが、クエリは高速です。ただし、高度な機能は有料です... - ソーシャル (画像データベース)
  • Cassandra - 読み取りよりも高速にデータを書き込みます。 - ログの保存に使用されます。
  • HBase オフライン分析

私のアイデア:

Java言語に関しては:

  • - Redisはキャッシュ(値はJavaBeansに保存されます)と保存する必要のないホットデータに使用されます
  • - mongoDb は、重要度は低いが必要なストレージに使用されます。
  • - ログ管理には Cassandra を強くお勧めします (ログをデータベースに保存します)。
  • - HBASEオフライン分析、ビッグデータ
  • - Solr、ES - サイト内検索、SQL置換など
  • - または、SQL データベースの代わりに neo4j を使用します。トランザクション要件がある場合は、優先度 2 で別のスレッドを開始し、SQL に保存します。

NoSQL時代

MongoDB、Redis、Riak、HBase、Cassandra など、NoSQL データベースはすでに数多く存在します。それぞれに以下の特徴があります。

  • SQLはもう使用されていません。たとえば、MongoDBとCassandraには独自のクエリ言語があります。
  • 通常はオープンソースプロジェクト
  • クラスター運用のために生まれた
  • 弱い構造 - データ構造の種類を厳密に制限しない

適用可能なシナリオ

セッション、プロファイル、パラメーター、ショッピング カートなどのユーザー情報を保存します。この情報は通常、ID (キー) に関連付けられており、このシナリオではキー値データベースが適切な選択となります。

該当しないシナリオ

1) キーでクエリを実行する代わりに、値でクエリを実行します。 Key-Value データベースでは値によるクエリを実行する方法はありません。

2) データ間の関係性を保存する必要があります。キー値データベースでは、データを 2 つ以上のキーで関連付けることはできません。

3) トランザクションサポート。 Key-Value データベースで障害が発生した場合、ロールバックは実行できません。

要約する

以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。これについてもっと知りたい場合は、次のリンクをご覧ください。

以下もご興味があるかもしれません:
  • データベース言語分類DDL、DCL、DMLの詳しい説明
  • MySQL: MySQL 関数
  • MySQL データベースの型変換のための CAST 関数と CONVERT 関数の説明
  • MySQL 8.0.15 インストール グラフィック チュートリアルとデータベースの基礎
  • SQL SERVER データベースのバックアップ コードの例
  • PostgreSQL データベースのウィンドウ関数の構文と使用法
  • データベースの冗長フィールドを合理的に使用する方法
  • MySQL マスター/スレーブ データベース同期構成と一般的なエラー
  • PHP シングルトン モード データベース接続クラスとページ静的実装メソッド
  • 数千万のデータベースクエリでクエリ効率を向上させるにはどうすればよいでしょうか?

<<:  Vue.jsは画像切り替え機能を実装する

>>:  Linux サーバーに Python3 をインストールする 2 つの方法

推薦する

Mysql の一般的なベンチマーク コマンドの概要

mysqlslap共通パラメータの説明–auto-generate-sql システムはテスト用のSQ...

写真とテキストによる MySQL と sqlyog のインストール チュートリアル

1. MySQL 1.1 MySQLのインストールmysql-5.5.27-winx64 ダウンロー...

Vue 初心者ガイド: 最初の Vue-cli スキャフォールディング プログラムの作成

1. Vue - 最初の vue-cli プログラムVueの開発はNodeJSに基づいています。実際...

Tomcatの各ポートの機能の詳細な説明

tomcat 設定ファイルから、tomcat の起動時にデフォルトで 8080 (8443)、800...

よく知られているブラウザのDOCTYPEモード選択メカニズム

ドキュメントの範囲この記事では、Firefox やその他の Gecko ベースのブラウザ、Safar...

組み込み移植 docker エラー問題 (概要)

長い移植と情報検索の期間を経て、組み込みDockerの問題を解決することができました。インターネット...

忘れられたMySQLパスワードとログインエラーの問題について簡単に説明します

MySQL ログイン パスワードを忘れた場合、解決方法は実はとても簡単です。MySQL メイン構成フ...

MySQL 最適化のヒント: 重複削除の実装方法の分析 [数百万のデータ]

この記事では、MySQL 最適化のヒントで重複したエントリを削除する方法を例を使って説明します。ご参...

さまざまなHTTPリターンステータスコードの詳細な説明

サイト上のページを表示するためのリクエストがサーバーに送信されると(たとえば、ユーザーがブラウザでペ...

HTML でのアンカーポイントの使用_PowerNode Java アカデミー

ここで、アンカー ポイントを制御するいくつかの状況をまとめてみましょう。 1. 同じページ <...

vue WatchとComputedの使用の概要

目次01. リスナーウォッチ(1)機能(2)特性と方法(3)監視対象(4)リスニングアレイ02. 計...

iconfontアイコンライブラリをvueに導入するエレガントな実践記録

目次序文SVGを生成するSVGスプライトの紹介プロジェクトアイコンを取得するプロジェクトのセットアッ...

Ubuntu Linuxシステムをインストールするときにハードディスクをパーティション分割する最も合理的な方法の詳細な説明

Windows または Linux オペレーティング システムをインストールするかどうかに関係なく、...

Windows で mysql-8.0.18-winx64 をインストールするチュートリアル (画像とテキスト付き)

1. インストールパッケージをダウンロードするインストール パッケージは次の場所にあります:参考:...