読者です 読者をやめる 読者になる 読者になる

TCとTTについて調べてみる

TokyoCabinet TokyoTyrant

自分用メモ。TCとTTのことがよく分かってないので、調べよう。

TCのデータベースの種類の概要

色々データベースの特徴がある。使うデータベースによって拡張子とかも違う。ハッシュデータベースが一般的のようだ。

ハッシュデータベース
1つのkeyに対して1つのvalueを持つ
B+-tree データベース
同じkeyに対して複数のレコードを格納できる
テーブルデータベース
特定のkeyに対して複数の値を保持できる
テーブルデータベース

ハッシュデータベースは基本形で、使うのは簡単なのだが、RDBっぽく使ってるといくつも書かないといけなくなって面倒に感じることも多い(ロジックに矛盾がないことを保証するとか特に)。そういうときにテーブルデータベースは威力を発揮する、らしい。

ハッシュデータベースのように主キーでレコードを識別しながらも、リレーショナルデータベースのようにレコード内に名前をつけた複数のコラムを持たせることができます。

mixi engineer blog

主キー以外での検索は全件見に行くので大変なので、インデックスを張るようにしたほうがよい。

TokyoTyrantは何をやってくれるものなのか


HA(High Availability:高可用性)とは、可用性(Availability)が高いことです。それでは説明になっていないので詳しく言い替えますと、システムに障害が起きにくくすることと、たとえ障害が起きたとしてもできるだけ迅速に復旧できるようにすることです。データベース系のシステムはユーザのデータを管理するという中核的役割を担うため、可用性を高めることは最も重要な課題となります。
(中略)
Tokyo Tyrantにはこれらを円滑に行うための仕組みがありますので、それについて詳しくご紹介します。

  • バックアップとリカバリ
  • レプリケーション
  • フェイルオーバー
mixi engineer blog

TTはデータベースサーバーを起動させたままデータベースファイルをコピーすることができる。