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 における制限関数と合計関数の混在使用の問題の詳細な説明

序文今日、注文データを同期した後、同僚は、合計注文金額とデータソースの合計金額に差があったため、LI...

大きなオフセットによる MySQL 制限ページングが遅い理由と最適化ソリューション

MySQL では通常、limit を使用してページ上のページング機能を完了しますが、データ量が大きな...

CentOS 7 で RPM パッケージを使用して MySQL 5.7.9 をインストールするチュートリアル

MySQL 5.7.9 のインストールチュートリアルを録画してみんなと共有しましょう環境の紹介:オペ...

誰もが登録できるようにJiedaibaoを宣伝するにはどうすればよいでしょうか? ジエダイバオのプロモーション方法とスキル

借財宝は最近人気が出ている携帯電話ローンソフトウェアプラットフォームです。知人同士の貸し借りが特徴で...

Alibaba Cloud SSHリモート接続がしばらくすると切断される問題を解決

問題の再現Alibaba Cloud Server は、Finalshell リモート接続を使用して...

vsftpdで仮想ユーザーログインを設定する方法

yum で vsftpd をインストールします [root@localhost など]# yum -...

js 配列 fill() 充填メソッド

目次1. fill() 構文2. fill() の使用3. まとめ序文:配列の初期化方法についてはよ...

VM VirtualBox 仮想マシンのマウント共有フォルダ

一つの環境CentOS 7にVMware Toolsをインストールしてホストの共有フォルダへのアクセ...

CSS を使用して親コンテナ div を img 画像で埋め、コンテナのサイズを調整する方法

ページに複数の画像を導入すると、画像のサイズがばらつくことがあります。しかし、それらを一貫したサイズ...

Vue で 3D タグ クラウドを実装するための詳細なコード

プレビュー: コード:ページセクション: <テンプレート> <div class=...

Web 開発チュートリアル クロスドメイン ソリューションの詳細な説明

序文この記事では、主にWeb開発のためのクロスドメインソリューションを紹介し、参考と学習のために共有...

MySQL での and or クエリの優先度分析

これは見落とされがちな問題かもしれません。まず、次の点を明確にする必要があります。 MySQL では...

MySQL の完全なデータベース バックアップ データを使用して単一のテーブル データを復元する方法

序文データベースをバックアップするときは、データベース全体のバックアップを使用します。ただし、何らか...

Pengyou.com モバイル クライアントのダウンロード ページのデザイン共有 (画像とテキスト)

まずは簡単なデータを見てみましょう。 Googleが発表したレポートによると、 ①中国の都市の97%...

pt-heartbeat を使用して MySQL レプリケーションの遅延を監視する方法の詳細な説明

pt-ハートビートデータベースがマスターとスレーブ間で複製される場合、複製ステータスとデータ遅延は非...