タグ

ブックマーク / thinkit.co.jp (7)

  • Docker向けの軽量Linux OS 主要3種を比較する

    Dockerをより効率的に利用するための技術 通常Dockerを利用する場合は、Linux OSが稼働するサーバ上にDockerのパッケージを追加でインストールすることで、環境を構築している。当然ではあるが、Linux OSのインストール時に「最小限の構成」を選んだとしても、Dockerの稼働には必要のないパッケージもインストールされている状態となる。 Dockerを利用する最大のメリットは、「少ないリソースでたくさんのコンテナ(=実行環境)を起動させられる」ことである。たとえ最小限の構成であってもDocker実行環境としては、多くのリソースが無駄に消費されていることとなる。さらに不要なサービスが実行されていることにより、Dockerで利用しない機能に対してもセキュリティー上のリスクが残ってしまうことになり、不要な運用作業が発生することとなる。 そのため、Dockerに対してもハイパー

    Docker向けの軽量Linux OS 主要3種を比較する
  • アジャイル・ブームの再来

    はじめに "アジャイル"という言葉が、ソフトウエア開発現場において、広く知られています。皆さんも1度は耳にしたことがあると思います。 筆者は、開発者として、新人時代、社外常駐時代、プロジェクト・リーダー時代に、アジャイル開発に携わりました。連載では、これらの経験から得たアジャイルの知見を示します。 第1回では、アジャイルの経緯と現状など、事前に知っておくべき内容を説明します。2000年代前半に立ち上がったアジャイルが「試行錯誤の時代」を経て再び注目されるようになった要因について解説します。 アジャイルに共通する4つの価値と12の原則 あらためて、アジャイルとは何かをおさらいします。 アジャイルとは、いくつかのソフトウエア開発手法の総称です。数多くのアジャイル開発手法が存在します。以下は、具体的なアジャイル開発手法の例です。 Agile Modeling Agile Unified Pro

  • Hadoopシステム構築のノウハウ

    前回までの記事では、Hadoopがどのような背景で登場したのか、どのような能力を持っているのか、リレーショナル・データベース管理システム(RDBMS)やKey-Value Store(KVS)型データベースとはどのように異なるのかを解説してきました。 今回は、Hadoopを実際にエンタープライズ(企業情報システム構築)用途に活用するにあたって、押さえておきたいポイントを解説します。 Hadoop活用の課題 Hadoopは、オープンソースとして開発されています。2006年にDoug Cutting氏によってHadoopプロジェクトが立ち上げられて以来、ほぼ4年が経過し、現在ではApache Software財団が支援するトップ・レベル・プロジェクトとして多数の開発者が参加しています。 プロジェクトが立ち上がった当時、Hadoopはわずか20ノードのクラスタで動作していました。現在では、米Ya

  • 「データのライフ・サイクル」で考えるHadoopの使いどころ

    前回は、Hadoopがどのような仕組みでスケール・アウト性を実現しているのかを述べました。また、Hadoopが基的に、バッチ処理のスループットの向上を目的にしていることを指摘しました。 Hadoopには、「できること」と「できないこと」があります。処理の性質によっては、既存のリレーショナル・データベース管理システム(RDBMS)や、最近注目されているKey-Value Store(KVS)型データベースなどが適していることもあります。 今回は、RDBMSが果たしている役割とニーズの変化を踏まえながら、「データのライフ・サイクル」に着目して、RDBMS、Hadoop、KVSの3者をどのように使い分けていくべきかを解説します。 RDBMSが果たしている役割 RDBMSは、米IBMの研究所に勤務していたエドガー・F・コッドが1970年に発表した、「関係モデル」というデータ・モデルを採用したデー

  • Hadoopがスケール・アウトする仕組み

    前回の記事では、Hadoopが膨大なデータをバッチ処理するための「インフラ」としての性質を備えていること、情報爆発時代の新たなインフラとして普及しつつあることを説明しました。その中で、情報爆発時代に必要とされるインフラは、「スケール・アウトが可能であること」という条件を備えていなければならないことを示しました。サーバーの台数を増やすことで容易にシステムの処理性能が増やせることは、Hadoopの重要な特徴です。今回は、Hadoopがどのようにしてスケール・アウトを可能にしているかを、「分散ファイル・システム」と「MapReduceフレームワーク」の2つの観点から解説します。 スケール・アウトとは? コンピュータ・システムを新たに構築するときは、必ず「運用」のことを考えておく必要があります。システム・トラブルが発生した場合の対応策を決めたり、将来の仕様変更に備えてプログラムに拡張性を持たせたり

  • 大量データのバッチ処理を高速化するHadoop

    Hadoopというソフトウエアが、いま注目を集めています。米Googleが発表した論文のアイディアをオープンソース・モデルで実装したソフトウエアです。膨大な量のデータを処理する必要に迫られた企業や研究組織が、続々とHadoopを実際に活用しはじめています。 私たちの研究グループでは、Wikipediaなどの巨大なテキスト・データを解析するために、2007年頃からHadoopを利用しはじめましたが、日国内でも2009年あたりからHadoopを使った事例を多く見聞きするようになりました。国内で初めてのHadoop関連イベントが2009年11月に東京で開催され、オライリー・ジャパンから2010年1月にHadoopの邦訳が出版されるなど、Hadoopが多くの開発者の注目を浴びています。 しかしながら、「Hadoopは何となくすごそうなんだけど、複雑だし、どんなソフトなのかいまいち分からないんだ

  • クラウドの力を引き出す分散データベース

    はじめに 記事では、プライベート・クラウドなどで実際に利用可能な分散型データベースの一例として、Apache Cassandraを紹介します。 機能的な特徴やアーキテクチャの概要だけでなく、運用する上で必要となるクラスタとノードの操作方法(ノードの追加/削除、バックアップなど)についても説明します。 Apache Cassandraは、Amazon Dynamoと Google BigTableの特徴を統合した分散型データベースと言われています。クラウド向け分散データベースの事例を参照していただければ、より特徴を理解しやすくなると思います。 Apache Cassandraとは Apache Cassandraは、Amazon Dynamoの特徴である“耐障害性の高さやデータの分散保持を考慮した分散特性”と、 Google BigTableの特徴である“ColumnFamilyをベースと

  • 1