データソースとは? 種類と仕組みを解説
データソースとは、使用するデータの提供元です。
データソースは、一般的にデータが最初に作成された場所、または物理データが最初にデジタル化された場所を指すことが多いです。しかし、別のプロセスによってアクセスおよび利用されているデータであれば、高度に精緻化されているデータであってもデータソースとしてみなされる場合があります。 具体的には、データベース、フラットファイル、物理デバイスからのリアルタイム測定データ、スクレイピングされたWebデータ、インターネット上の膨大な静的データやストリーミングデータサービスなどが、データソースとして挙げられます。
このページでは、データソースの種類や役割と働き・仕組みについて、例を挙げながら説明します。 オンラインショップを展開するファッションブランドについて考えてみましょう。 Webサイト上で商品の在庫状況を提示するために、在庫データベースから情報を取得します。 この場合、在庫表がデータソースであり、Webサイトを顧客に提供するためのWebアプリケーションによってアクセスされます。
既存のデータベース管理システムにおける用語の意味を考慮することで、存在するデータソースの種類やその役割、用途を明確にすることができます。
データソースの命名法
データベースは、最も一般的なデータソースであり、ユビキタスリレーショナルデータベース管理システム(RDBMS)のデータ用のプライマリストレージとして広く使用されています。 データベースにおける重要な概念の1つは、データソース名(DSN)です。 DSNは、保管場所がローカル環境かリモートサーバーかを問わず(および単一の物理環境か仮想環境かにかかわらず)、実際のデータを指すポインタとして、宛先データベースまたはアプリケーション内で定義されます。DSNは、関連するデータベース名またはファイル名と同じである必要はなく、データソースのデータにアクセスしやすいようなアドレスまたはラベルが付与されます。
最終的には、データを取得するシステムによってデータソースに関する文脈が判断されるので、データソースの定義や命名法は多岐にわたり、誤解や混乱が生じる場合があります。 この問題は、技術文書で特に顕著です。 例えば、Javaソフトウェアプラットフォームにおける「データソース」とは、データベースへの接続を示すオブジェクト(プログラムによってパッケージ化された拡張可能なDSNなど)を意味します。 一方、一部の新しいプラットフォームでは、「データソース」は標準化されたアクセス方法を提供するデータコレクションとして使用されることが多いです。
データソースの種類
IoTなどの技術革新やビッグデータの台頭に伴い、データのコンテンツ、形式、保管場所は多様化していますが、データソースの多くは、主に「マシンデータソース」と「ファイルデータソース」の2種類に分類することができます。
どちらのデータソースも基本的な役割は同じであり、データの保管場所を示し、接続に関する特徴を説明することを目的としています。ただし、各データソースの保存方法、アクセス方法、用途は異なります。
マシンデータソース
マシンデータソースは、ユーザーによって定義された名前が付与され、データを取り込むマシン上に存在する必要があり、容易に共有することはできません。 他のデータソースと同様に、マシンデータソースはデータへの接続に必要なすべての情報(関連するソフトウェアドライバーやドライバーマネージャーなど)を提供しますが、ユーザーは接続を呼び出したり、データを照会するためにのみDSNを参照します。
接続情報は、環境変数、データベース構成オプション、または使用中のマシンもしくはアプリケーション内に格納されます。 例えば、Oracleデータソースには、リモートDBMSにアクセスするためのサーバーの場所、使用するドライバー、ドライバーエンジン、およびシステム、ユーザーID、認証などの一般的な接続文字列が含まれます。
ファイルデータソース
ファイルデータソースには、共有可能な単一のコンピュータファイル(一般的には.dsn拡張子を持つファイル)内のすべての接続情報が含まれています。 ファイルデータソースに割り当てる名前は、ユーザーによって決定されません。これらのデータソースは個々のアプリケーション、システムまたはユーザーに対して登録されるものではなく、マシンデータソースのようなDSNを持たないためです。 各ファイルには、単一のデータソースの接続文字列が格納されています。
ファイルデータソースは、マシンデータソースとは異なり、他のコンピュータファイルのように編集およびコピーすることができます。 これにより、ユーザーとシステムは(データソースを個々のマシンまたはサーバー間で移動させることによって)接続を共有し、データ接続プロセスの合理化(データソースファイルを共有リソース上に保持して、複数のアプリケーションやユーザーが同時に使用できるようにするなど)を行うことができます。
一部の.dsnファイルは共有できないので注意が必要です。.dsnファイルについては上記で説明しましたが、これらのファイルが単一のマシンに格納されている場合、マシンデータソースを直接指しているため、移動またはコピーすることができません。つまり、共有できないファイルデータソースはマシンデータソースのラッパーであり、ファイルのみを必要とするものの、マシンデータに接続する必要があるアプリケーションのプロキシとして機能します。
データソースの仕組み
データソースは、様々な方法で使用されます。 ファイル転送プロトコル(FTP)やハイパーテキスト転送プロトコル(HTTP)などの多様なネットワークプロトコル、またはWebサイトやネットワークアプリケーションなどのサービスによって提供される様々なアプリケーションプログラミングインターフェイス(API)を使用して、データを転送することができます。
多くのプラットフォームでは、FTPアドレスを持つデータソースを使用して、インポートするデータの場所を指定します。 例えば、Adobe Analyticsプラットフォームでは、FTPクライアントを使用してファイルデータソースをサーバーにアップロードし、このデータソースを使用して関連データを自動的に移動および処理します。
SFTP(SはSecureまたはSSHの略)は、ユーザー名とパスワードを難読化してコンテンツを暗号化する必要がある場合に使用されます。あるいは、トランスポート層セキュリティ(TLS)をFTPに追加してFTPSを使用することも可能です。
さらに、データソースとアプリケーションでの使用方法を管理するための多種多様なAPIが提供されています。 APIは、プログラムに従ってアプリケーションをデータソースにリンクするために使用します。一般的に、柔軟性と汎用性の高いアクセス手法を提供します。 例えば、Sparkは、汎用リレーショナルソース向けのシンプルかつ拡張可能なクラスから、ハードコーディングされたJDBC接続の高度な実装に至るまで、データソースを表示および接続するための抽象クラス実装を備えたAPIを提供します。
Web上のデータソースから宛先にデータを移動するためのその他のプロトコルには、NFS、SMB、SOAP、REST、WebDAVなどがあります。 これらのプロトコルは、API内(他のAPIを使用するAPIもある)、フル機能を提供するデータアプリケーション内、またはスタンドアロンの転送プロセスとして使用されることが多いです。 各プロトコルには固有の特徴とセキュリティ上の懸念事項があるので、データ転送の際にはこれらを考慮する必要があります。
データソースの目的
データソースの最終的な目的は、ユーザーやアプリケーションがデータにアクセスして必要な場所に移動できるようにすることです。 関連する技術情報を1ヶ所に集約させて非表示にすることで、データ利用者はデータ処理に専念することができ、データソースを最大限に活用することが可能になります。
ここでの目的は、ユーザーが理解しやすく、使いやすい形式で接続情報をパッケージ化することです。 これにより、ユーザーは複雑かつ低品質の接続情報に対処する必要がなくなり、分断されている異種システムを容易に統合できるようになります。
また、この接続情報は基本的に非表示ですが、必要なときにいつでもアクセスできます。 この情報は一貫した場所と形式で保存されるため、システム移行やシステム構造の変更計画など、様々なプロセスをスムーズに進めることが可能になります。
データソースの活用と統合の推進
データが最終的な宛先(クラウドデータウェアハウスなどの一元化されたリポジトリが望ましい)に到達したら、データソースとの形式や構造の違いを平滑化する必要があります。 ただし、データ統合に向けた最初のステップは、最初のデータ接続自体を抽象化することです。クラウド経由でアクセスできるデータソースの量によっては、複雑な作業になる可能性があります。
Talendなら、数千もの社内およびクラウドベースのデータソースから取得したデータを統合し、システム分断による管理不能な状態から脱却し、信頼できるエンタープライズデータの一元管理体制を迅速に確立することができます。 Talend Data Fabricは、データの整合性と統合に重点を置いた単一のアプリケーションスイートにより、データソースへの初期接続から効果的な分析、ビジネスインテリジェンスの獲得に至るまで、データバリューチェーンを向上させ、セキュリティを確保します。
今すぐTalend Data Fabricをお試しください。データソースとシームレスに統合し、信頼できるデータから知見を獲得しましょう。