データとは何ですか?
データは、明確な小さな情報単位の集合です。テキスト、数値、メディア、バイトなどのさまざまな形式で使用でき、紙や電子メモリなどに保存できます。
「データ」という言葉は、「単一の情報」を意味する「データム」という言葉に由来しています。これは datum という単語の複数形です。
コンピューティングにおいて、データは、効率的な移動と処理のための形式に変換できる情報です。データは交換可能です。
データベースとは何ですか?
あ データベース は、簡単にアクセスして管理できるように、整理されたデータのコレクションです。
データを表、行、列に整理し、インデックスを付けると、関連情報を見つけやすくなります。
データベースハンドラー 1 セットのソフトウェア プログラムだけですべてのユーザーがデータにアクセスできるようにデータベースを作成します。
の 主目的 データベースの役割は、データを保存、検索、管理することによって大量の情報を操作することです。
沢山あります 動的なウェブサイト 現在の World Wide Web では、データベースを通じて処理されます。たとえば、ホテルの部屋の空き状況を確認するモデルです。データベースを使用した動的Webサイトの例です。
沢山あります 利用可能なデータベース MySQL、Sybase、Oracle、MongoDB、Informix、PostgreSQL、SQL Server など。
最新のデータベースはデータベース管理システム (DBMS) によって管理されます。
SQL または構造化クエリ言語は、データベースに保存されているデータを操作するために使用されます。 SQL はリレーショナル代数とタプル リレーショナル計算に依存します。
データベースのイメージを表示するために円筒構造が使用されます。
データベースの進化
データベースは、フラット ファイル システムからリレーショナル システムおよびオブジェクト リレーショナル システムへの 50 年以上にわたる進化の旅を終えました。それは数世代を経てきました。
進化
ファイルベース
1968 年はファイルベースのデータベースが導入された年です。ファイルベースのデータベースでは、データはフラット ファイルに保持されていました。ファイルには多くの利点がありますが、いくつかの制限があります。
主な利点の 1 つは、ファイル システムがシーケンシャル、インデックス付き、ランダムなどのさまざまなアクセス方法を備えていることです。
COBOL、BASIC などの第 3 世代言語による広範なプログラミングが必要です。
階層型データモデル
1968 年から 1980 年は階層型データベースの時代でした。著名な階層データベース モデルは、IBM の最初の DBMS でした。それはIMS(情報管理システム)と呼ばれていました。
このモデルでは、ファイルは親/子形式で関連付けられます。
以下の図は階層データ モデルを表しています。小さな円はオブジェクトを表します。
UDPプロトコル
ファイル システムと同様に、このモデルにも、複雑な実装、構造的な独立性の欠如、多対多の関係を簡単に処理できないなど、いくつかの制限がありました。
ネットワークデータモデル
チャールズ・バックマン ハネウェルで統合データ ストア (IDS) と呼ばれる最初の DBMS を開発しました。 1960 年代初頭に開発されましたが、1971 年に CODASYL グループ (データ システム言語会議) によって標準化されました。
このモデルでは、一般的なネットワーク モデルと同様に、ファイルは所有者とメンバーとして関連付けられます。
ネットワーク データ モデルでは、次のコンポーネントが特定されました。
- ネットワークスキーマ(データベース構成)
- サブスキーマ (ユーザーごとのデータベースのビュー)
- データ管理言語 (手続き型)
このモデルには、システムの複雑さや設計と保守の難しさなど、いくつかの制限もありました。
リレーショナルデータベース
1970年 - 現在: 今はリレーショナル データベースとデータベース管理の時代です。 1970 年に、関係モデルは E.F. コッドによって提案されました。
リレーショナル データベース モデルには、インスタンスとスキーマと呼ばれる 2 つの主要な用語があります。
インスタンスは行または列を含むテーブルです
スキーマは、リレーションの名前、各列の型、名前などの構造を指定します。
このモデルは、集合論や述語論理などの数学的概念を使用します。
最初のインターネット データベース アプリケーションは 1995 年に作成されました。
slf4j と log4j
リレーショナル データベースの時代には、オブジェクト指向モデル、オブジェクト リレーショナル モデルなど、さらに多くのモデルが導入されました。
クラウドデータベース
クラウド データベースを使用すると、クラウド プラットフォーム経由で構造化データと非構造化データを簡単に保存、管理、取得できます。このデータはインターネット経由でアクセスできます。クラウド データベースはマネージド サービスとして提供されるため、サービスとしてのデータベース (DBaaS) とも呼ばれます。
最適なクラウド オプションは次のとおりです。
- AWS (アマゾン ウェブ サービス)
- スノーフレーク コンピューティング
- オラクルデータベースクラウドサービス
- Microsoft SQLサーバー
- Googleクラウドスパナ
クラウドデータベースのメリット
コストの削減
通常、企業プロバイダーはデータベースに投資する必要はありません。 1 つ以上のデータセンターを保守およびサポートできます。
自動化
クラウド データベースは、リカバリ、フェイルオーバー、自動スケーリングなどのさまざまな自動プロセスで強化されています。
アクセシビリティの向上
いつでもどこからでもクラウドベースのデータベースにアクセスできます。必要なのはインターネット接続だけです。
NoSQLデータベース
NoSQL データベースは、さまざまなデータ モデルに対応できるデータベースを設計するためのアプローチです。 NoSQL は「SQL だけではない」の略です。これは、データがテーブルに配置され、データベースの構築前にデータ スキーマが完全に設計される従来のリレーショナル データベースに代わるものです。
NoSQL データベースは、大規模な分散データのセットに役立ちます。
NoSQL データベース システムとそのカテゴリの例は次のとおりです。
- MongoDB、CouchDB、Cloudant (文書ベース)
- Memcached、Redis、Coherence (キーと値のストア)
- HBase、ビッグテーブル、累積 (表形式)
NoSQLの利点
高い拡張性
NoSQL はスケーラビリティにより大量のデータを処理できます。データが増大すると、NoSQL データベースはそのデータを効率的な方法で処理できるように拡張します。
高可用性
NoSQL は自動レプリケーションをサポートしています。自動レプリケーションにより、障害が発生した場合でもデータが以前の一貫した状態に複製されるため、可用性が高くなります。
NoSQLのデメリット
オープンソース
NoSQL はオープンソース データベースであるため、NoSQL の信頼できる標準はまだありません。
経営上の課題
postgresqlで列を削除する方法
NoSQL でのデータ管理は、リレーショナル データベースよりもはるかに複雑です。インストールするのは非常に難しく、毎日の管理はさらに多忙です。
GUIは利用できません
NoSQL データベース用の GUI ツールは市場では簡単に入手できません。
バックアップ
バックアップは NoSQL データベースの大きな弱点です。 MongoDB などの一部のデータベースには、データ バックアップのための強力なアプローチがありません。
オブジェクト指向データベース
オブジェクト指向データベースには、オブジェクトとクラスの形式でデータが含まれます。オブジェクトは現実世界の実体であり、型はオブジェクトのコレクションです。オブジェクト指向データベースは、リレーショナル モデルの機能とオブジェクト指向の原則を組み合わせたものです。これは、リレーショナル モデルの代替実装です。
オブジェクト指向データベースには、オブジェクト指向プログラミングのルールが保持されています。オブジェクト指向データベース管理システムはハイブリッド アプリケーションです。
オブジェクト指向データベース モデルには次のプロパティが含まれています。
オブジェクト指向プログラミングのプロパティ
- オブジェクト
- クラス
- 継承
- ポリモーフィズム
- カプセル化
リレーショナルデータベースのプロパティ
- 原子性
- 一貫性
- 誠実さ
- 耐久性
- 同時実行性
- クエリ処理
グラフデータベース
グラフ データベースは NoSQL データベースです。データをグラフで表現したものです。ノードとエッジが含まれます。ノードはエンティティを表し、各エッジは 2 つのエッジ間の関係を表します。グラフ データベース内のすべてのノードは一意の識別子を表します。
Java マップ
グラフ データベースは、関連するデータ間の関係を強調表示するため、データ間の関係を検索するのに役立ちます。
グラフ データベースは、データベースに複雑な関係や動的スキーマが含まれている場合に非常に役立ちます。
主に使用されるのは、 サプライチェーンマネジメント 、ソースを特定する IP電話 。
DBMS(データベース管理システム)
データベース管理システムは、データベースを保存および取得するために使用されるソフトウェアです。たとえば、Oracle、MySQL など。これらは人気のある DBMS ツールの一部です。
- DBMS は、作成、削除、変更などのさまざまな操作を実行するためのインターフェイスを提供します。
- DBMS を使用すると、ユーザーは要件に応じてデータベースを作成できます。
- DBMS はアプリケーションからのリクエストを受け入れ、オペレーティング システムを通じて特定のデータを提供します。
- DBMS には、ユーザーの指示に従って動作するプログラム群が含まれています。
- データベースにセキュリティを提供します。
DBMSのメリット
冗長性の制御
すべてのデータを単一のデータベース ファイルに保存するため、データの冗長性を制御できます。
データ共有
許可されたユーザーは、複数のユーザー間でデータを共有できます。
バックアップ
バックアップおよび回復サブシステムを提供します。この復旧システムは、システム障害から自動的にデータを作成し、必要に応じてデータを復元します。
複数のユーザーインターフェース
GUI、アプリケーション インターフェイスなど、さまざまなタイプのユーザー インターフェイスを提供します。
DBMSのデメリット
サイズ
効率的に実行するには、大きなディスク領域と大きなメモリを占有します。
料金
DBMS ソフトウェアを実行するには高速データ プロセッサと大容量のメモリが必要なため、コストがかかります。
複雑
DBMS はさらに複雑さと要件を生み出します。
RDBMS (リレーショナル データベース管理システム)
RDBMS という言葉は、「リレーショナル データベース管理システム」と呼ばれます。これは、行と列を含むテーブルとして表されます。
RDBMS はリレーショナル モデルに基づいています。 E.F.コッドによって導入されました。
リレーショナル データベースには次のコンポーネントが含まれています。
- テーブル
- レコード/タプル
- フィールド/列名/属性
- 実例
- スキーマ
- キー
RDBMS は、データのセキュリティ、完全性、正確性、一貫性を維持する表形式の DBMS です。