2016年9月5日月曜日

1グラム(Unigram)の全文検索

こんにちは。

今回は 1 グラムの全文検索を利用できるようにします。

■ 1 グラム(Unigram) の全文検索

1 グラムの全文検索は文字列を一文字単位で分割しインデックスします。PostgreSQL の場合、デフォルトで備わっている機能で利用できます。文字列を一文字単位で分割し、GIN でインデックスし、検索するだけです。以下に手順を示します。

2016年8月31日水曜日

PostgreSQLのバックアップとリストア

こんにちは。

データベースにとってバックアップは最後の命綱です。バックアップとリストアを完全に理解することは安全なデータベース運用には欠かせません。今回は PostgreSQL9.3 を用いて、バックアップとリストアの全機能を簡単に紹介します。

■ データベースのバックアップとリストア

PostgreSQL では以下の方法が利用できます。

  • ファイルのバックアップ (ただし、オフラインバックアップのみ)
  • ファイルシステムのスナップショット (オンラインバックアップ可能)
  • pg_dump / pg_dumpall コマンドによるバックアップ (オンラインバックアップ可能)
  • アーカイブログによるバックアップ (非同期にバックアップ & 任意時点へのリカバリ可能)

レプリケーションもバックアップの一種と考えることも可能です。しかし、レプリケーションの場合

  • 操作ミス、攻撃などによるデータ破壊が発生した場合に対応できない

という欠点があります。ディスクのミラーリングなどの冗長性確保をデータのバックアップととらえないことと同様に、ここではレプリケーションはバックアップには入れないことにします。ここでは説明しませんが、レプリケーションを行いながらアーカイブログを利用したバックアップを行うことも簡単です。