2012年4月24日火曜日

オープンソース ECM 「Alfresco」を導入する

こんにちは。サイオステクノロジーの小川です。

本日はオープンソース ECM (Enterprise Content Management) の Alfresco のご紹介をします。

Alfresco はコンテンツ管理システムで、企業内で保管されている文書や Web コンテンツなどの情報を一元管理することができます。ECM としては世界初の OSS であり、行政機関や大企業など 600 社以上の企業で導入の実績があります。

Alfresco は商用ライセンスの Enterprise 版と GPLライセンスのコミュニティ版があります。コミュニティ版に関しては無償ですので、ソフトウェアの導入コストの削減を考えている企業様はメリットがあるかと思います。また、プラットフォームに関しては、ハードウェアやソフトウェアをユーザー自身で選択することができますので、柔軟なシステムの構築ができるメリットもあります。

今回は最新版の Alfresco 4.0.d の導入を行いました。OS は CentOS6.2 64bit を使用しています。以下に手順を記載しますので、ご参考いただければと思います。

なお、Alfresco は GUI または CUI でのインストールが可能です。GUI でのインストールは手順 2 に、CUI でのインストールは手順 3 に掲載をしています。


2012年4月11日水曜日

GIN を利用したタグ検索の最適化

こんにちは、OSS テクノロジーセンターの渡辺です。

今回は PostgreSQL の配列型と GIN インデックスを使用したタグシステムについて解説します。

はじめに

データにタグを付けて分類するシステムは多くあります。タグはデータ分類を行う為によく利用される仕組みで、様々なアプリケーションに利用されています。

タグを使ったシステムの特徴

  1. タグの名前が自由に登録できる
  2. 一つのデータに対して、タグを任意の数、設定できる
  3. 任意のタグ名を任意の数、指定して検索できる

タグはデータを分類する仕組みとして柔軟で便利な仕組みですが、検索する場合のコストが大きくパフォーマンスがあまりよくありません。タグシステムは、MongoDB などのドキュメント指向のデータベース NoSQL と比べると、RDBMS と相性が良いと言えません。この事は、NoSQL が多くの Web サービスで利用される理由の一つになっています。

PostgreSQL 場合、PostgreSQL 独自の配列型と GIN (Generalized Inverted Index) インデックスを利用し、他の RDBMS とは比較にならないほど効率的なタグシステムを構築できます。GIN インデックスは全文検索「専用」のインデックスと理解されている方も多いと思います。しかし、GIN インデックスは名前の通り「汎用」の転置インデックスです。この記事では、配列型と GIN インデックスを利用したタグ検索の効率化を紹介します。タグを利用したシステムとしてブログ型のアプリケーションを想定してベンチマークを行います。ブログシステムとしては、比較的大きめの 1000 万件の記事と 4000 万件のタグ情報を利用し、実行時間の違いを検証します。

今回の記事執筆に利用した環境

  • Linux 2.6.35 x86_64
  • PostgreSQL 9.1.3
  • PHP 5.4.0 (テストデータ作成)

デフォルトの PostgreSQL 設定では遅すぎるので、バッファを 1GB に増やすなど、多少設定もチューニングしています。9.1.3 のデフォルトからの変更箇所と設定値は最後の「参照」をご覧下さい。

2012年4月10日火曜日

開発版 GlusterFS 3.3 を試してみる

こんにちは、OSSテクノロジーセンターの原です。

つい先日、Red Hat 社から Red Hat Storage 2.0 Beta の案内がありました。

内容はなかなかエキサイティングで、Red Hat 社のこれからのストレージ戦略が見え隠れするものですね。

そんな Red Hat Storage 2.0 ですが、その中核になっているのは皆様御存知 GlusterFS です。

GlusterFS の Stable Release は現在 3.2.6 ですが、来る 3.3.x の目玉として、Hadoop のバックエンドとしての機能や、Amazon S3、Swift との互換 API の提供が予定されており、まさに今をときめくストレージとなっています。

今日はそんな Red Hat Storage 2.0 の GlusterFS 3.3 をフライング気味に試食して、今後の展望に思いを巡らせたいと思います。

もちろん Stable リリース前の代物ですので、試してみる方は、転んでも泣かない気持ちで行きましょう。

2012年4月4日水曜日

連載「libvirt を利用して日々の作業を効率化」番外編

こんにちは、OSSテクノロジーセンターの原です。

今回は連載内容とは少し離れて、ご報告です。

libvirt 連載で作成してるコードを、github にて公開いたしました。

各連載の回ごとに、Chapter というタグを付与してありますので、あの時の連載の状態のコードからの変化は?などなど、追いやすくなったかと思います。

次回以降のも github をベースに連載を続けていきますので、ご愛読のほどよろしくお願いいたします。

なお、pull request は随時絶賛募集中でございます!

もっとこうしたほうがいい、機能追加するからブログで紹介しろ等々ありましたら、是非 pull request を投げてく見てください。