NOSQLの概念
NoSQL(NoSQL = Not Only SQL)は、「SQLだけではない」という意味で、非リレーショナルデータベースを指す新しいデータベースの概念です。RedisはNOSQL非リレーショナルデータベースの典型的な代表です
リレーショナルデータベースと非リレーショナルデータベースの違い:
- リレーショナルデータベース(Mysql Oracle SqlServerで表されるデータベース)の特性
- データはテーブルで構成され、これらのテーブルとテーブルの間には関係があります(1対1、1対多、多対多)。
- データは各訪問時にハードディスクに存在し、必要なデータはハードディスクからメモリに読み込まれます
- 非リレーショナルデータベース(NOSQL)の機能(Redis)
- データはキーと値のペアです:キーと値のキーと値の形式(大きなマップと同等と理解できます)
- データはメモリに保存されます。必要に応じて、データをハードディスクに保存することもできます(Redis永続性)(要求を満たす-メモリは十分に高速で、閉じられ、一部のデータはハードディスクに保存されます)。
NoSQLがそれほど重要である理由
リレーショナルデータベースの3つの高い問題と比較して:
- 高い同時実行性(1秒あたりのアクセス量が多い場合、リレーショナルデータベースのパフォーマンスにボトルネックが発生します。このとき、データベースの操作に時間がかかります)
- 高効率(ハードディスクからのデータの読み取り速度が遅い読み取りと書き込みは遅い)
- 高拡張(テーブルを自由に変更できない、データにフィールドを追加するとき、多くのテーブル構造を変更する必要がある)
NoSQLが出現したときのリレーショナルデータベースの問題を解決するために、NoSQLデータベース(Redis)は3つの高い問題(高い同時実行性、高い効率(メモリから直接読み取る)のサポート)、高い拡張(キーと値のペアの形式、単純なデータ、データ)をすべて解決できます。それらの間には関係がないため、いつでもフィールドを追加または削除できます))
NoSQLには、高いスケーラビリティ、分散コンピューティング、低コスト、柔軟なアーキテクチャ、半構造化データなどの特性があります。
NoSQLアプリケーションのシナリオ
- データモデルは比較的単純です
- より柔軟なITシステムの必要性
- より高いデータベースパフォーマンス要件
- 高いデータ整合性は不要
- 特定のキーについては、環境内で複雑な値をマッピングする方が簡単です。
つまり、同時のビジネス量が少なく、リレーショナルタイプと非リレーショナルタイプの両方を使用できます。ビジネスには複雑なデータの関連付けがあり、リレーショナルデータベースは単純なキーと値のデータです。 NoSQLの方が優れています。