「INDEXによる高速化」は本当なのか!?PostgreSQLでパフォーマンスチューニングしてみた

お久しぶりですね。
みんなの恋人(ラバー)、リモートワーカーの仲井です。

カタリストで作っている「とある魔術系のサイト」では、それなりに魔力(規模)が大きいためにどうしても詠唱(検索処理)が遅くなってしまうことがありました。
テーブルによっては1000万超のスペル(レコード)もあり、高名なハイウィザードでもないかぎり、ここの詠唱(検索処理)がボトルネックになることも多いです。

ちょっとひねって面白くしようと思ったけど、上司のウケも悪いし、続けるのもめんどくさいからこの魔術設定はやめますね。

(大規模サイト担当してる人から見ればたった1000万でしょ? となるかもですが、カタリストでは大きい方なのです。というかビッグデータを扱うサービスと比較するのは用途もスペックも違うんだしナンセンスですね。)

ここまで大きくなくても、数千、数万レベルのレコード数であっても設計を間違えるとそれがボトルネックになることもあり、必ずしも大容量データだと遅くなるというわけではありません。大容量でも適切なチューニングがされていれば問題はないのです。

DBのパフォーマンスチューニングについてはたくさんのサイトやブログで紹介があり、皆さま既に知識としてはご存知とは思いますので、細かい内容は無視して「チューニングすると、実際これくらい差が出る」ということを、私がこれまで経験した内容を紹介したいと思います。

<続きを読む>

開発者ブログをはじめます

開発者ブログはじめます。

はじめまして、代表の大井田です。
このたび、自社の開発者ブログをはじめることにしました。

なぜ、開発者ブログをはじめるに至ったか簡単な経緯をお話ししたいと思います。

当社は、サーバ構築・保守・Webシステムの受託開発等を主な業務としています。
お客様ソリューションありきのシステム開発となるため、当たり前ですが、重要なファクターの一つに低コストを念頭に考えなければなりません。

しかしながら、今の時代は新しい技術やコーディング手法等が沢山出てきていて、エンジニア魂としては、
本当に良いプロダクトを作る上で、いろいろと試したい技術やソリューションが沢山あります。

あ、僕はもともとエンジニアでした。。
昔はガリガリ書いていましたが、今は優秀な社員が沢山いるので、僕はもうコーディングはしていませんけど。
<続きを読む>