タグ

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

  • Pythonで作られた便利なコマンドラインツール MySQL Utilities

    MySQL Utilitiesならではの注意点 MySQL Utilitiesは従来のコマンドラインツール群とは違い、以下のような記述で接続先を指定します。 これは、従来のコマンドラインツール群が主に1つのMySQLサーバーを対象として動作するものなのに対して、MySQL Utilitiesは2つ以上のMySQLサーバーを対象として動作するものが多いため、このような記法になっています。 [MySQL Utilitiesの記法] --server=ユーザ名:パスワード@ホスト名:ポート番号 [MySQL コマンドラインツール群の記法] --user=ユーザ名 --password=パスワード --host=ホスト名 --port=ポート番号 なおWindows環境ではローカルホストとしてlocalhostと127.0.0.1のどちらを指定しても同じですが、LinuxやUNIXではホスト名に対

    Pythonで作られた便利なコマンドラインツール MySQL Utilities
    satfy
    satfy 2014/02/11
  • Hadoopがスケール・アウトする仕組み

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

    satfy
    satfy 2010/06/11
  • [ThinkIT] 第1回:現実路線のサーバ管理ソフトウェア (1/3)

    大量のサーバが導入されている場合や、サーバのハードウェアやOSの種類が異なるという環境で管理者の工数を低減することは非常に重要です。特にサーバの負荷状態や障害状況、アプリケーションの稼動状況を瞬時に把握したいというニーズは昔から消えることはありません。 シェルスクリプトを使用してシステム情報を収集する手法は、システム導入の際に非常に有用なツールとなります。管理者や導入業者が保守サポート業務を行う場合、工数の削減に役立つことでしょう。しかしこれらのスクリプトを大量のサーバで実行し、ログを収集し、すべてに目を通して異常がないかを管理者がチェックするのは非常に煩雑な作業です。 管理者にとって必要なのは、システムに障害が発生しているか、システムがうまく稼動しているかといった結果だけであり、対象となる数百台ものサーバにログインしてスクリプトを流し、大量の監視項目をチェックする方法は非現実的です。 そ

  • 結合テストと総合テスト

    ソフトウェアの開発におけるテスト作業は、「テスト計画」「テスト設計」「テスト実施」「テスト管理」という4つのプロセスで構成されます(図1)。 テスト計画プロセスでは、テスト全体の指針や概要をまとめます。テストの目的、対象範囲、実施方法、テスト体制、テスト環境、スケジュール、合格基準など、テスト全般に関わる方針を「テスト計画書」にまとめ、ユーザを含むプロジェクトメンバー全員で方向性を共有します。 テスト設計プロセスでは、策定されたテスト計画に基づいて、実際のテスト作業内容を設計します。テストのシナリオやテスト内容、確認すべき項目などを「テスト仕様書」に具体的に定義します。 テスト実施者は、このテスト仕様書に基づいてテストを実施します。障害を発見した際は、障害番号を採番し、障害管理票に記載して残管理します。これらの障害が片づいて、テストが正常に行われた場合は「テスト報告書」で報告します。 弊社

  • SQLを直接記述できるiBATIS(前編) | Think IT(シンクイット)

    皆さん、こんにちは。連載を担当するビーブレイクシステムズの山之内です。 前回、面倒なマッピング作業を軽減してくれるツールとしてO/Rマッピングツールというものがあることを説明しました。そこで今回からは、O/Rマッピングツールの1つである「iBATIS」で実際にサンプルを作成し、その機能を見ていきます。 今回は、「iBATIS」を利用する下準備をおこないます。 iBATISとは、Apacheのプロジェクトの1つとしてASF(Apache Software Foundation)で開発/管理されているO/Rマッピングツールです。2002年に発表され、2006年7月現在の最新バージョンは2.1.7です。 iBATISは「iBATIS SQL Maps」というO/Rマッピング機能と、「iBATIS DAO Framework」というDAOパターン用のフレームワークで構成されています。「iBATI

    satfy
    satfy 2009/06/10
    [O/Rマッピング]
  • [ThinkIT] 第3回:トランザクションの比較 (2/4)

    MyISAMエンジンを使用する場合では、トランザクション処理を行えません。しかしMyISAMエンジンのテーブルに対して更新処理が行えないわけではありません。SQL文でいえば、INSERT、UPDATE、DELETEすべての構文が実行可能です。 またMyISAMエンジンは、トランザクション機能をサポートするPostgreSQLやInnoDBエンジンに比べ、データ更新処理が非常にシンプルに実装されています。 PostgreSQLとInnoDBエンジンは、共有メモリ/バッファ内にトランザクションログ用とユーザデータ用のエリアを用意し、データ更新処理はこの共有メモリ・バッファ内のデータに対して行います。 この時、発生するトランザクションログも共有メモリ/バッファ内のエリアに書き込みます。そして、トランザクションがコミットした時点で、トランザクションログの内容のみをログファイルに書き込みます。変更さ

    satfy
    satfy 2009/05/22
  • [Think IT] 第1回:シナリオに基づく設計とSBVA法とは? (1/3)

    【伝わる!モデリング】シナリオの図解化 第1回:シナリオに基づく設計とSBVA法とは? 著者:産業技術大学院大学 中鉢 欣秀 公開日:2008/04/02(水) SBVA法とは 非技術者でもITシステムの要求分析を行えるような方法論を確立できないだろうか。そのような発想に基づき、筆者らが研究開発している方法論がSBVA(Scenario-Based Visual Analysis:シナリオ図解化分析)法である。 SBVA法は業務分析の手法の一種であり、顧客が今行っている業務の作業手順を、図解を用いてビジュアライズすることにより、システムのユースケースを抽出することができる分析手法だ。 今回はSBVA法の開発に至った背景として、業務分析のメリットと難しさ、シナリオによる手法とその問題について述べる。次回以降、SBVA法そのものの背景やコンセプト、実際の分析手順と成果物、および今後の展開などに

  • [ThinkIT] 第3回:アーキテクチャ比較 ファイル構造の違いPostgreSQLの特徴 (1/3)

    図1はPostgreSQLのファイル構造を示したものです。図中、四角で示したものは論理的な構造を意味し、円柱は物理的に実在するファイルを示しています。 最初にPostgreSQLをインストールした後に、データベース領域を初期化(initdbコマンドを実行)した直後には、templete0,templete1というデータベースが作成され、基構造が生成されます。 ここで言う「データベース」はOracleでいうそれとは違う意味なので注意して下さい。このとき生成されるデータベース基構造全体を指して"データベース・クラスタ"と言います。 templete0とtemplete1は文字通りユーザが作成するデータベースの雛形で、ユーザが新規にデータベースを作成した場合は、templete1がコピーされ、同じ高さに並列して作成されます。 図1には示していませんが、システムカタログは$PGDATA/glo

    satfy
    satfy 2009/05/07
  • 「Nagios」「Hobbit」「ZABBIX」「Hinemos」を徹底比較 | Think IT(シンクイット)

    コストメリットを確保するオープンソース/フリーソフトウェア 近年、IAサーバの価格が非常に安価になり、LinuxWindowsを用いたシステムが普及しています。IAサーバを採用したシステムでは、ス ケールアウトを行うように設計することでハードウェアのコストメリットが生まれます。しかし管理するサーバ台数が増加してしまうため、管理コストはそれに 反して増加する傾向があります。 システム全体を効率よく管理するためには、まずサーバのハードウェアリソースやネットワーク、OS、アプリケーションなどの状態を適切に把握できる ことが重要になります。そのため、常にシステムの稼働状況のデータを収集・監視する「監視システム」が必要とされています。 大規模システムではシステムを監視するために、大手ソフトウェアベンダーが販売する統合管理ツールを用いたり、データセンターが提供する監視サービ スを利用することが一般的

  • [ThinkIT] 第5回:Federatedエンジン (1/3)

    今回は「Federated」ストレージエンジンを取り上げます。Federatedエンジンは、MySQL 5.0から提供された非常に新しいエンジンです。今回は、Federatedエンジンの特長や動作について解説します。 英単語の「Federated」を直訳すると「連合した」といった意味になります。この意味の通りFederatedエンジンは、このエンジンを動作させるMySQLサーバ単独で動作するものではなく、他のMySQLサーバと連携して動作するエンジンです。 Federatedエンジンは、テーブルデータをFederatedエンジン自身が動作するMySQLサーバ(Federatedではこれをローカルサーバと呼ぶ)のデータベース内に格納せず、ネットワークに接続された他のMySQLサーバ(リモートサーバ)上のデータベース内に格納します。よって、Federatedエンジンが動作するローカルサーバ上に

  • [ThinkIT] 第8回:MySQL/OracleとLifeKeeperによるHAクラスタ化 (1/4)

    今回はOracle Database 10gとMySQLを例に、データベース(DB)のHAクラスタ化構成の概要について紹介していく。 まず各ARKによる構築の概要を述べる前に、LifeKeeperによるDBシステムのHAクラスタ化にあたって、事前の留意事項を表1にあげる。 アプリケーションがすでにインストールされていること 監視・切り替え対象のアプリケーションは、LifeKeeperの設定を行う前にインストールされている必要がある。またLifeKeeperでは、DBの死活監視をクライアントユーティリティから行うため、クライアントコンポーネントもインストールされていなければならない。 各アプリケーションにおけるサポートするバージョンの最新情報は、Release Notes(http://licensing.steeleye.com/support/docm.php)を参照して確認していただき

  • [ThinkIT] 第3回:運用管理を各種ツールで自動化 (1/3)

    Webサービスは、サービスそのものを作るよりも運用の方がコストがかかるといわれています。このため、コストを削減するには運用部分を極力自動化する必要があります。 そこで今回はオープンソースソフトウェアを利用し、コスト削減と運用監視の両面を目的とした手法を紹介します。 一口に「監視」といっても、サーバを運用する際に注目すべき点は様々です。実際にウノウでは、以下のような項目を監視しています。 日々のパッケージのアップデート アプリケーションの脆弱性などの確認やアップデートを行います。 サーバの生存監視 正常にサービスが提供されているかの、サーバの死活を監視します。異常があった場合は即座に通知されるのがベストです。 サーバのリソース監視 サーバがどの程度のリソースを使用しているかを監視します。サーバの負荷測定、ボトルネック検証や増強計画などで効果を発揮します。 アプリケーションのログ監視 アプリケ

    satfy
    satfy 2008/09/02
  • [ThinkIT] 第5回:JFreeChartでグラフ作成(前編) (1/4)

    こんにちは。ビーブレイクシステムズの横井です。今回から2回に渡ってJFreeChartというJavaからグラフを生成するためのライブラリについて説明します。 JFreeChartは歴史も長く、iReportなどのOSSや商用製品で数多く使用されているので、触ったことのある方もいるかと思います。JFreeChartを使用して分析系の帳票にグラフを組み込んだり、ユーザインターフェイスに組み込んで、アプリケーションの訴求力を高めたりすることが出来ます。ライセンスはLGPL(GNU Lesser General Public License)となっているため商用製品にも利用可能です。

    satfy
    satfy 2008/07/22
  • [Think IT] 第4回:OpenIPMIでサーバ管理 (2/4)

    BIOSでIPMIが適切に設定されたら、次に管理サーバからIPMI対応の管理コマンドで管理できるかをテストします。HP ProLiant DL140G3には「Lights-Out 100」とよばれるIPMI対応の管理チップがオンボードで搭載されています。 管理対象サーバのDL140G3側のIPMIの設定が適切に行われていれば、遠隔地に存在するLinux管理サーバから「ipmitool」コマンドで管理対象のDL140G3の電源オン/オフ、BIOS設定が可能となるほか、telnetコマンドを使えばコンソール出力なども可能です。

  • [ThinkIT] 第5回:key_buffer_sizeの違いによるパフォーマンス比較 (3/3)

    Queries_per_secについてはいつも通りですが、今回は左側Y軸をKey_read_requests/Key_readsの比率としました。ただしkey_buffer_sizeデフォルト状態での測定結果において実際には常にKey_reads=0で、ディスクからの読み込みはありませんでした。ですが、これでは比率を計算できませんので、Key_reads=1と仮定して計算しました。 デチューン後のグラフを見れば一目瞭然ですが、測定の最初からキーバッファが不足しており、Key_reads_requests/Key_reads比が30程度のまま推移しています。また比率が0になっている箇所がありますが、この際にはMySQLサーバが高負荷のため接続できずに測定不能でした。また、後半1/4以降も完全に測定不能でした。 以上から、キーバッファが埋まってしまうことは危険であることがわかります。もし各カラ

    satfy
    satfy 2008/03/04
  • [ThinkIT] 第6回:BTS(Bug Tracking System)の利用 (1/3)

    システム開発を進めるにあたり、バグやタスクなどを管理して、現在発生しているバグの数や担当者といったステータスを把握する必要があります。また、ある程度以上の規模のWebアプリケーションを開発する場合、数人のチームで開発を進めるケースが多く、開発を円滑に進めていくためにスタッフ間での情報共有が重要になってきます。 「Bug Tracking System(以下、BTS)」は、これらの問題を解決するためにプロジェクトのバグを管理し、修正状況を追跡できるよう可視化を行うシステムです。現在、BTSとして様々なソフトウェアが公開されており、ソフトウェアを開発する上での必須アイテムになりつつあります。 BTSの多くはWebブラウザ経由でアクセス可能なソフトウェアで、その中から今回はウノウで採用している「Trac」について説明します。 Tracは、BTSとWiki、Subversionリポジトリビューワー

    satfy
    satfy 2007/02/26
  • [ThinkIT] 第2回:Xenでわかる仮想マシンソフトウェア (1/3)

    Xenはハイパーバイザータイプの仮想マシンソフトウェアです。さらに細かくいうとPara-virtualizing Virtual Machine Monitor(日語だと疑似仮想化仮想マシンモニター)という種類に属します。 今、オープンソースソフトウェア業界で多くのベンダーから支持を得ている仮想マシンソフトウェアです。 今回はXenを用いて、ハイパーバイザータイプの仮想マシンソフトウェアの機能を紹介します。 Xenはイギリスケンブリッジ大学の研究プロジェクトから生まれました。Xenのソースコードはアメリカのカリフォルニア州パロアルトにあるXenSource社という企業が管理しています。しかし、開発はオープンソースコミュニティ主導で行われています。

    satfy
    satfy 2006/11/23
  • [ThinkIT] 第3回:トランザクションの比較 (1/4) -at- 徹底比較!! PostgreSQL vs MySQL

    トランザクション機能をサポートしているのは、PostgreSQLMySQL+InnoDBエンジンであり、MySQL+MyISAMエンジンはトランザクション機能をサポートしていません。ここでのトランザクション機能とは、複数のテーブルやレコードに影響をおよぼす処理を1つの単位とみなし、この単位での処理結果を保証する機能を指します。 具体的には、BEGIN文にてトランザクションを開始していくつかの処理を行った後、処理を確定する場合はCOMMIT文、処理を取り消す場合はROLLBACK文を使用し、トランザクションを終了させるまでの処理です。 トランザクション分離レベルとは、複数のトランザクションが同時に実行された場合に、他のトランザクションからの影響がどのくらい分離するかのレベルを意味します。 ANSI/ISO SQL規格(SQL92)では4つの分離レベル(下記コラム参照)が定義されています。P

  • 1