Redis における NoSQL の知識 (序文)

NoSQL関連の知識

1. スタンドアロン mysql の進化

1. スタンドアロン Mysql (進化 1)

1.1 ユーザーアクセスプロセス

APP——>DAL——>Mysql
ここに画像の説明を挿入

1.2 背景

基本的な Web サイトのトラフィックは通常、それほど大きくないため、単一のデータベースで完全に十分です。

2. キャッシュ (進化 2)

2.1 構造

Memcached (キャッシュ) + MySQL + 垂直分割

2.2 はじめに

Web サイトの 80% が読み取り中であるため、各クエリは非常に手間がかかるため、データの負荷を軽減するためにキャッシュを使用して効率を確保できます。

2.3 開発プロセス

データ構造とインデックスの最適化 --> ファイル キャッシュ (IO) --> Memcached (最も暑い年)

2.4 機能

読み書き分離とキャッシュを実現
ここに画像の説明を挿入

3. クラスター (進化 3)

3.1 構造

サブデータベースとテーブル + 水平分割 + MySQL クラスター + キャッシュ

3.2 はじめに

MyISAM: テーブル ロックは効率に大きく影響し、同時実行性が高い場合には深刻なロックの問題が発生します。
Innodb: 行ロック

3.3 プロセス

サブデータベースとサブテーブルを使用して書き込みのプレッシャーを解決し、MySQL にはテーブル パーティションの概念も導入されています。

3.4 機能

ここに画像の説明を挿入

4. 今

4.1 構造

ロードバランシング + サブデータベースおよびサブテーブル + 水平分割 + MySQL クラスター + キャッシュ + 各種サーバー

4.2 背景

データ量が多く、変化が激しいため、MySQL などのリレーショナル データベースでは不十分です。

4.3 機能

ここに画像の説明を挿入

2. NoSQLの概要

1 はじめに

NoSQL は一般的に非リレーショナル データベースを指します。Web 2.0 インターネットの誕生により、従来のリレーショナル データベースでは大規模で同時実行性の高いコミュニティを処理することが困難になりました。そのため、現在のビッグ データ環境では NoSQL が急速に発展しています。(ユーザーの個人情報、ソーシャル ネットワーク、地理的位置などの多くのデータ型は、これらのデータ型の保存に固定フォーマットを必要としません)

2. 特長

(1) 拡張が容易(データ間に関連性がなく、拡張しやすい)
(2) データ量が多く、パフォーマンスが高い (Redis は 1 秒間に 80,000 回の書き込み、110,000 回の読み取り、NoSQL のキャッシュ レコード レベルはきめ細かいキャッシュであり、パフォーマンスが高い) (3) データの種類が豊富
(事前にデータベースを設計する必要がなく、そのまま利用できる)

3. RDBMSとNoSQLの違い

3.1 RDBMS(リレーショナルデータベース)

構造化された組織、SQL、データ、関係は別のテーブルに保存され、ACID ルールなどに準拠します。

3.2 NoSQL (非リレーショナル データベース)

ストレージは単なるデータではありません。固定されたクエリ言語はなく、キーと値のペアのストレージ、列ストレージ、ドキュメント ストレージ、グラフ データベースの結果整合性、CAP 定理
と BASE、高パフォーマンス、高可用性、および高スケーラビリティが備わっています。

3、3V + 3 高

1. ビッグデータ時代の 3V

(1) 大ボリューム
(2) 多様性
(3) リアルタイム速度

2. ビッグデータ時代の 3 つの高さ

(1) 高い同時実行性
(2) 高いスケーラビリティ
(3) 高いパフォーマンス

4. 技術概要

1. 製品基本情報

1.1 シナリオ

名称、価格、事業内容

1.2 テクノロジー

リレーショナルデータベース (MySQL/Oracle)

2. 商品説明とコメント

2.1 シナリオ

さらにテキストを追加

2.2 テクノロジー

文書データベース(MongoDB)

3. 写真

3.1 シナリオ

店舗写真 写真

3.2 テクノロジー

分散ファイル システム FastDFS
タオバオ ファイル システム TFS
Google ファイル システム GFS
Hadoop ファイル システム HDFS
Alibaba Cloud ファイル システム OSS

4. 商品のキーワード

4.1 シナリオ

検索

4.2 テクノロジー

検索エンジン solr、elasticsearch、ISerach

5.人気商品のバンド情報

5.1 シナリオ

商品販売

5.2 テクノロジー

メモリ データベース Redis、Tair、Memache...

6.商品取引、外部決済インターフェース

三者間アプリケーション

5. NoSQL の 4 つのカテゴリ

1. KV キーと値のペア

1.1 例

Sina: Redis
Meituan: Redis + Tair
Ali、Baidu: Redis + memecache

1.2 応用シナリオ

コンテンツ キャッシュは、主に大量のデータに対する高いアクセス負荷を処理するために使用され、一部のログ システムなどでも使用されます。

1.3 データモデル

Key は、通常、ハッシュ テーブルによって実装される Value のキーと値のペアを指します。

1.4 利点

高速検索

1.5 欠点

データは構造化されていないため、通常は文字列またはバイナリ データとしてのみ扱われます。

2. 文書データベース(bson形式はjsonと同じ)

1.1 MongoDB、CouchDB

MongoDB は、分散ファイル ストレージに基づくデータベースです。C++ で書かれており、主に大量のドキュメントを処理するために使用されます
。MongoDB は、リレーショナル データベースと非リレーショナル データベースの間の中間製品です。リレーショナル データベースと同様です。

1.2 応用シナリオ

Web アプリケーション (Key-Value と同様、Value は構造化されていますが、データベースが Value の内容を理解できる点が異なります)

1.3 データモデル

Key-Value に対応するキーと値のペア。Value は構造化データです。

1.4 利点

データ構造の要件は厳密ではなく、テーブル構造は可変であり、リレーショナル データベースのようにテーブル構造を事前に定義する必要はありません。

1.5 欠点

クエリのパフォーマンスは高くなく、統一されたクエリ構文がありません。

3. カラムストアデータベース

3.1 例

HBase (ビッグデータ)

3.2 応用シナリオ

分散ファイルシステム

3.3 データモデル

列クラスターに格納し、同じ列にデータをまとめて格納します

3.4 利点

検索速度が速く、拡張性が強く、分散拡張が容易です。

3.5 欠点

比較的限られた機能

4. グラフリレーショナルデータベース

写真を保存するデータベースではなく、関係を保存する

4.1 例

Neo4J、InfoGrid、Infinite Graph

4.2 応用シナリオ

関係グラフの構築を中心としたソーシャルネットワーク、レコメンデーションシステムなど

4.3 データモデル

グラフ構造

4.4 利点

最短パス アドレッシング、N 次関係検索など、グラフ構造関連のアルゴリズムを使用します。

4.5 欠点

多くの場合、必要な情報を取得するにはグラフ全体を計算する必要があり、この構造は配布が容易ではありません。

おすすめ

転載: blog.csdn.net/qq_46106857/article/details/128226180