――各分野の専門家の方にお勧めの書籍を紹介していただいている本企画。今回は、データベースに関して日本オラクルの人見尊志氏に書籍を紹介してもらいます。

私は物理天文学部卒業で、データベースやコンピュータサイエンスについての知識はオラクルに入社後に培ったものです。

データベースのコンサルタントとして、ユーザー企業の方々やシステムインテグレータの方々ともデータベースの設計、運用設計やチューニングについても深い理解と実践ノウハウが必要とされる局面に向き合ってきました。

そのような中で、「より深くOracle Databaseを理解しながらも、システムの中の1つのコンポーネントとして最大限に活用する為には、幅広い情報を集め精査しながら自分のモノにしていく事が必要である」という観点から書籍を選びました。

関連記事 : スペシャリストの選書 - (1) セキュリティ 辻伸弘氏      
関連記事 : スペシャリストの選書 - (2) 要求定義 三輪一郎氏       
関連記事 : スペシャリストの選書 - (3) 開発プロセス 正木威寛氏     
関連記事 : スペシャリストの選書 - (4) プロジェクトマネジメント 岡大勝氏
関連記事 : スペシャリストの選書 - (5) モデリング 羽生田栄一氏     
関連記事 : スペシャリストの選書 - (6) プログラミング 伊藤直也氏    
関連記事 : スペシャリストの選書 - (7) クラウド 後藤和貴氏       
関連記事 : スペシャリストの選書 - (8) システム運用 原田旨一氏     
関連記事 : スペシャリストの選書 - (9) ネットワーク 藤田雄介氏     

プロフィール

人見 尊志(Hitomi Takashi)


ウィリアム王子と同じ英国のセントアンドリュース大学を卒業(物理天文学部)。その後、日本オラクルに新卒として入社。

オラクルの開発ツールのエンジニアから、データベースのコンサルタントとして、大手のオラクルデータベースユーザーへのコンサルティングを実施。2007年よりビジネスデベロップメントやプロダクトマーケティングを担当した。

開発部門とのコミュニケーションによる製品コンセプトから、コンサルティング時代に培った現場視点も含め、日本オラクルのデータベースビジネスの拡大・拡充を推進している。

『絵で見てわかるOracleの仕組み』
――著者 : 小田圭二、発行 : 翔泳社

『絵で見てわかるOracleの仕組み』

まず最初に紹介するのは、『絵で見てわかるOracleの仕組み』です。オラクルのデータベースに関する書籍の中ではベストセラーとなっている1冊です。オラクルを使うデータべースエンジニアが現場で活用できる現実的なノウハウと知識が詰まっています。

プログラムとしてのデータベースからハードウェアとしてのコンピュータシステムまでがどうやって動くのかをうまく説明しています。オラクルデータベースを管理している人やオラクルデータベースを使ってアプリケーションプログラムを書いている人にとっては、読んで損のない書籍です。特にアプリケーションのアーキテクチャを設計する人にはお勧めします。

『性能評価の基礎と応用』
――著者 : 亀田寿夫、李頡、紀一誠、発行 : 共立出版

『性能評価の基礎と応用』

私がコンサルタント時代にお世話になったのが本書です。データベースの性能だけでなくシステム全体の性能にはどのような特性があるのか、またそれをどのように評価するのかといった点について、理論を踏まえて説明しています。コンピュータサイエンスや数理科の学生にとっては、大学の教科書としてお馴染みでしょう。

データベースエンジニアとして仕事をしている人は、性能が出ないという問題にしばしば直面します。そうしたときにコンピュータシステムにはどのような特性があり、どのような理論を持って分析やチューニングをして仕組みを変えればよいのか、それらを考えるうえで必要な概念を理解するのに有益な書籍です。

ページをめくると数式がたくさん出てきますが、すべてを使う必要はありません。どういうふうにデータモデルを考えていくのか、あるいは何が性能を左右する要因になるのかを知るうえで非常に役に立つ1冊です。日々、性能の問題に取り組んでおり、より大局的に問題をとらえたい方にお勧めします。

『定本Cプログラマのためのアルゴリズムとデータ構造』
――著者 : 近藤嘉雪、発行 : ソフトバンククリエイティブ

『定本Cプログラマのためのアルゴリズムとデータ構造』

C言語を使ってメモリの構造をどう作るかなど、コンピュータサイエンスの学生が大学で学ぶ内容を取り扱っている書籍です。コンピュータソフトウェアの構造がどうなっているか、性能特性がどうなっているのかなどを、開発者の視点で理解するうえで本書は役立ちます。

例えばオラクルデータベースを隅々まで使いこなそうと思った場合、オラクルデータベースというソフトウェアはどういう作りになっていて、どういうメモリ構造を持っていて、CPUでどう処理して、といったところを理解するとより良く使えます。

そのときに、そもそもプログラミングではメモリをどう使うのか、メモリ構造にはバイナリツリーやリンクリストという手法がありますが、そういったものがどう活用されているのか、それぞれがどういう特性を持っているのかがわかってくると、アルゴリズムのあり方が見えてきます。構造とそれを操作するアルゴリズムが一般的にはこうで、オラクルだとこうだと対比させながら特性を見るのです。そうすることで、こういう動きをするからデータベースとしてこういった使い方をしよう、パラメータの設定をこうしようといった原理原則が学べます。

仮にオラクルデータベースの性能が出ないとき、インデックスを張ればよいと一般的な書籍には書いています。しかしインデックスを張るとなぜよいのか、どういったタイプのインデックスがよいのかといった深い知識まで持たないと、私たちはお客様に説明ができません。現場ではデータベースの通り一遍のマニュアルではなく、広くITの知識が必要になるので本書はお勧めできます。

『トランザクション処理 上、下』
――著者 : ジム・グレイ、アンドレアス・ロイター、発行 : 日経BP社

『トランザクション処理 上、下』

本書もコンピュータサイエンスの教科書として大学で使われている書籍です。

データベースは、結局のところトランザクションをどのように管理するのかという点が根幹にあります。本書はデータベースのトランザクションだけでなく、システムのトランザクションを管理する方法も説明しています。

データベースやシステムの読み取り一貫性を保つ方法は、各社のデータベース製品によって異なります。例えばオラクルデータベースがどんな思想に基づき、どんなトランザクションの実装形態で作られたものなのかを説明するには、オラクル以外のデータベース製品についても知らなければなりません。

本書は、広く一般的に知られている理論に基づた知識を説明したうえで、必要となる仕組みや実装は何かという点を紹介しています。データベースとアプリケーションの処理をどのように設計すればよいのかという点に思いをはせる際に役立ちます。

『The Republic』
――著者 : プラトン

古代ギリシャの哲学者、プラトンが記した哲学書です。国家とはどうあるべきか、正義とはどうあるべきかなどを論じています。中でも「洞窟の寓話」という章があり、私の好きな部分です。

私自身の持論でもあるのですが、データベースにおけるデータの構造は、実はシステムを作る際の投影だと思っています。データモデルを見ていくと、そのシステムは性能が出やすいか、どんな業務プロセスが動くのか見えてきます。本書の洞窟の寓話に登場する人々は、閉じ込められた洞窟の中で影を見て生活しています。データベースにおけるデータ構造もこれと同じで、システムの投影でもあり日々の企業の業務プロセスの投影でもあります。

この点を押さえると、システムやデータベースの本質がわかり、アプリケーションを改善する提案ができるようになります。データベースのアドミニストレーションを超えて提案をしていきたい方には本書に目を通していただき、データベースだけを見るのではなく、データベースに投影されているデータ構造やデータの流れから、システムや業務プロセスの在り方にも着目していただきたいと思います。