新刊のお知らせ
2016年12月17日に、この連載をベースにした新刊『エンジニアが生き残るためのテクノロジーの授業』が発売されました!
ITとビジネスの関係、コンピュータ、ネットワーク、プログラミング、データベース、セキュリティ、人工知能など、本連載で解説した内容も含め、エンジニアなら誰もが知っておくべきテーマを一冊で学ぶことができます。
データ「活用」するために
急速に整備が進むデータ活用の環境
現代は情報化社会だといわれて久しいですが、近年は「ビッグデータ」や「データサイエンティスト」など、「データ」という言葉を使ったキーワードが次々と登場しています。その背景には、データの重要性に多くの人が気づいただけでなく、活用できる環境が整ってきたことが挙げられます。コンピュータの高性能化により、大量のデータを保存できる記憶領域が確保でき、分析の処理速度が向上しました。
このような状況では、データの集め方と、保存方法がポイントになってきます。そして、これらのデータを処理しやすい形式で保存しておくことが重要です。データをどうやって生かすかは、システムの価値に直結するため、すべてのエンジニアがデータベースの基礎を知る必要があります。
構造化データと非構造化データ
あらかじめ決められた形式で格納されているデータのことを「構造化データ」と呼びます。例えば、見積書や納品書、在庫管理データや顧客リストなどが挙げられます。一方で、ブログなどの記事や音楽、画像や映像などのデータは「非構造化データ」といいます。ブログ記事の中に電話番号や年齢が入っているかどうかを調べるのは大変でしょう。
現実世界では非構造化データが大半を占めますが、分析するためにデータを使用する場合には、可能な限り構造化して保存することが求められます。今後もWebやSNS、モバイルやIoTの普及によりデータ量の増加が予想されるため、考慮が必要です。
データベースの定義
データベースには大量のデータでも安全で効率的に管理できる仕組みが整えられており、以下のような機能を備えたシステムを一般的にDBMS(Database Management System)と呼んでいます。
データモデルの定義
格納できるデータの形式や制約を設定でき、不適切な形式のデータが登録されることを防げる。
同時実行制御
複数の端末から同時に処理しても整合性が保たれるように、排他制御を行うだけでなく、同時実行性を維持している。
耐障害性
事故や停電などのトラブルが発生した場合でもデータが消滅することなく、すぐに復旧できる。
セキュリティ
第三者が許可なくデータをのぞいたり、改ざんしたりする危険性がないようにアクセス制御できる。
このような特長を生かすことで、より安全かつ確実にデータを管理できます。特に複数の利用者が同時に使用するようなシステムでデータを利用する場合、表計算ソフトよりもDBMSを使うことが一般的です。こういった機能をDBMSが備えていることにより、プログラムの開発者が意識することを減らせるのもメリットです(図1)。