タグ

DBとTokyoCabinetに関するshiumachiのブックマーク (2)

  • TokyoCabinetの冗長性のポリシーについて作者が語る

    @mikio1978 TCはDBを閉じずにkill -9 するとデータベースが壊れることがあるが、運がよければ壊れないように腐心していたし、壊れても直せるようにしていたが、KCではそれを一切しないことにした。すなわちDBを閉じずにkill -9すると絶対確実に壊れる。しかも壊滅的に壊れる。 2009-12-26 16:35:43 @mikio1978 でもそれがstraightforwardってやつだと思う。openした時には前にcloseした時の情報が復元できるというのがストレージインターフェイスの要件であって、closeしていないものを保証すべきではない。 2009-12-26 16:39:54 @mikio1978 一方で、現実の要請として、setに成功した時点で永続性を確保したいというのはあるから、やっぱりトランザクションが欲しくなる。でもBerkeley DBやTCのようにローカ

    TokyoCabinetの冗長性のポリシーについて作者が語る
  • mixi Engineers’ Blog » 圧縮データベースを使おう

    チャリンコ通勤による滝のような汗で、朝からTシャツがシースルーになってしまうmikioです。さて今回は、Tokyo Cabinet(TC)のデータベースを各種のアルゴリズムで圧縮して利用する方法についてご紹介します。 圧縮B+木 B+木とは、比較関数の値による順序が近いレコード群を単一のページにまとめ、各ページにB木(multiway balanced treeの略であり、二分木(binary tree)とは違います)の索引を張ったものです。理論的にはレコードの探索も更新も O(log n) の時間計算量で行え、内部ノード(B木)の操作をキャッシュすると実質的には O(1) の時間計算量で探索や更新が行えるという、かなり安定した性能を備えるデータ構造です。その上、レコードが一定の順序に基づいて並べられているので、数値の範囲検索や文字列の前方一致検索が高速に行えたり、カーソルによって順序に基

    mixi Engineers’ Blog » 圧縮データベースを使おう
  • 1