お知らせ

  • パソコン関連

データベースはパソコンからクラウドへ

noimage

データベースはパソコンからクラウドへ

古くからあるデータベースソフトの一つFileMakerがFileMaker Cloudを発表しました。 AWSにホストを持つクラウド型のFileMaker Serverで、PaaSのように使えるものかと感じます。 オンプレミスのサーバーよりもAWSの高可用性を重要視することと外出先や拠点間でのモバイル利用をつよく意識したもののようです。 PaaS型のクラウドは多くはデータベースのアプリです。 まずプラットフォームとして独自のRDBMSがあり独自のAPIが提供され、その上に様々な業務用アプリケーションを構築して提供しているのが実際の姿です。 SalesforceのSalesCloudもForce.comのプラットフォーム上に構築されたSFAで、ServiceCloudやMarketingCloudなども同じようにプラットフォーム上にアプリケーションとして展開されており、サービスを購入することで連携することができます。またForce.com上で独自のアプリケーションを利用者が構築することもできます。 ZOHOも同様にZOHO CreatorがRDBMSとAPIをユーザーが利用できるようにしたものでZOHO CRMやSales IQなどもそのプラットフォーム上に構築されたものでしょう。 国産のクラウドプラットフォームKintoneはデータベースであることをそのまま使っているように感じます。JavascriptとCSSを利用したカスタマイズやAPIに力を入れているところが上記の2点とは異なっているなと感じるとことです。 データをどう活用するか、これが現在非常に重要となっています。 モバイルプラットフォームからオンプレミスのデータを閲覧するのはいくつかのステップを踏まなければならなく、これがクラウドであれば多くの問題が簡単に解決してしまいます。 現在特に営業支援などはお客様先や外出先での活用が利点になるので多く普及しているものと考えます。 FileMakerがクラウド化したことにより、その他業務、在庫管理や販売管理の分野などでもクラウド化、モバイルプラットフォームの活用などが普及していくように考えています。

  • パソコン関連

データベースの成り立ち

noimage

データベースの成り立ち

データベースという言葉は、非常に頻繁に聞く言葉です。 OracleやMySQLなど現在主流のデータベースはリレーショナルデータベースと呼ばれる種類のデータベースです。 コンピュータはプログラムがデータを扱う、という仕組みによって動作します。 データは業務のものや、機器を制御するためのデータ、様々なデータを対応するプログラムが扱います。 データはプログラムの内部にあっても良いのですが、プログラム外部にデータを保管することで、追加や変更、他のプログラムからの利用が簡単になります。 そのデータの置き場所がデータベースで、そもそもはデータの先頭から読み出していく順次的なものでした。これをシーケンシャルアクセスと呼びます。 データベースの成り立ちはコンピュータの記録装置の歴史を辿ることになり、ハードディスク、フロッピーディスク以前にオープンリールなどのテープ装置が使われていました。 テープ装置はテープ先頭からの順次の読み出しが基本で、他にプログラムからの制御によって早送り、巻き戻しを行います。 データの保存はデータの最後尾に追加するか、既存のデータの上書きになります。 テープから読み出されたデータはメモリに格納され、プログラムによる処理が行われます。 この方式では処理に時間がかかることと、メモリの制約を受ける範囲内でしかデータは扱えません。 ハードディスクがコンピュータに備えられるようになって、データは自由にどこからでもアクセスできるようになりました。ランダムアクセスと呼びます。 ランダムアクセスによってデータの読み書きの効率は非常に高くなり、ハードディスクによって大量のデータが保管できるようになりました。 そこでデータとデータの間を連結リストなどのアルゴリズムを利用してデータの並び順を作ることで、データベース内のデータを素早く探索できるような仕組みが出来上がりました。これはインデックス(索引)と呼ばれます。 必要なデータを読み出す際、一定の項目によって順番に並んでいる時、バラバラに配置されたデータをすべて読み出して見つけるのとは比較できないぐらいの高速になりえます。 データの探索が高速で効率良くできることによって、二つのデータベースを関連付けるなどの効率が実用的となり、現在一般的に利用されているリレーショナルデータベースが主流となっていきました。 SQLというデータ呼び出し言語が多くのリレーショナルデータベースに付属しています。 それまでは各プログラムがデータを読み出して抽出、加工していたものを、簡易な言語によってデータベース側で実行できるようになりました。 もともとはプログラム側でプログラミング言語によって書かれていたアルゴリズムが、SQLによって簡易に記述できるようになり、データベースを扱う複雑なプログラムが隠蔽されるようになりました。 これにデータの読み出し、書き出しの要求を逐次処理するためのトランザクションも組み込まれて、複数の呼び出しなどにも正確に対応します。 これら機能が集約することにより、リレーショナルデータベース管理システム(RDBMS)は汎用性を持ち、各業務プログラムから独立してデータの読み込み、書き込みを担当するミドルウェアとして活用されています。