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 つの方法

ブログ    

推薦する

Tomcatソースコードをideaにインポートする方法

目次1. Tomcatコードをダウンロードする2. ダウンロード後のディレクトリ構造3. ソースコー...

Vue における {{}}、v-text、v-html の違いと用途の詳細な説明

{ {}} 値を取得すると、タグの元のコンテンツはクリアされませんv-textは値を取得し、タグの元...

モバイルインターネット時代: レスポンシブウェブデザインが一般的なトレンドに

今はモバイルインターネットが急速に発展している時代です。スマートフォンやタブレットはますます普及し、...

Zabbix でフィルターを使用して監視を実装する方法

最近、監視機器の作業をしていたとき、ポートがダウンしているというアラームが常に出ていました。データを...

MySQL シリーズ 12 バックアップとリカバリ

目次チュートリアルシリーズ1. バックアップ戦略の説明1. バックアップの種類2. バックアップで考...

Dockerは同じIPネットワークセグメントとの接続を実現する

最近、Docker とホストが同じネットワーク セグメント上で通信する問題を解決し、そのプロセス全体...

ユニアプリプロジェクトでのウォーターフォールレイアウトの実装

GitHubアドレス、気に入ったらスターを付けてくださいプラグインのプレビューチュートリアル1. プ...

DockerでRedisを使用するための詳細な手順

1. はじめにこの記事では、Docker を使用して Redis を探索する方法を説明します。 Do...

vue-nuxt ログイン認証の実装

目次導入リンク始めるコードを読み進めてくださいプロキシ設定傍受を要求する異なるプレフィックスを持つイ...

Docker を使用した nextcloud パーソナル ネットワーク ディスクの構築に関するチュートリアル

目次1. はじめに2. 導入環境ツール4. 展開プロセス要約する1. はじめにNextcloud は...

MySQLストレージエンジンについて学びましょう

目次序文1. MySQL メインストレージエンジン: 2. さまざまなストレージエンジンがテーブルを...

LinuxシステムでのSystemC環境設定方法

以下はcentos7での設定方法ですsystemc ソース パッケージをダウンロード: System...

MySQLデータベースのリアルタイムバックアップの知識ポイントを詳しく解説

序文リアルタイムのデータベース バックアップの必要性は非常に一般的です。MySQL 自体はレプリケー...

WeChatアプレットはユーザーログインモジュールサーバーの構築を実装します

サーバーの構築には node.js を選択しました。まだインストールしていない方は、私の他の nod...

CentOS7にsshをインストールして設定する

1. openssh-serverをインストールする yum インストール -y openssl o...