2010-01-01から1年間の記事一覧

TTからCassandraへのインポート

Cassandra-0.6にもsstable2json, json2sstableというimport/exportするコマンドがあるが、 これは内部用のものなので、他のDBからのインポート用にはそのまま使えない。しかも実際使ってみたけど1G程度のJSONインポートでヒープが足らんと言われてしまった。…

MySQL6.0アップデートのやりかた

fedora13で動作中のMySQL5.1からMySQL6.0にアップデートしたのでメモ。 事前準備 yumで入れたmysql,mysql-server(MySQL5.0)が入っていて既に動作しているものとする。以下をyumで入れておく ncurses-devel gcc-c++(falconのコンパイルなどに必要) 作業 最新…

MySQLメモ

はじめに MySQLについてメモします。主にアーキテクチャやパフォーマンスに関わる部分を中心に。 参考にした本 実践ハイパフォーマンスMySQL サーバーアーキテクチャ レイヤー1 接続処理、認証、セキュリティなど その他ネットワークベースの一般的なクライ…

Hatena 2010 サマーインターンに採用されました。

去年の夏から「来年は絶対にどこかしらのインターンの参加しよう!!」と思い、どこがいいかなぁと探していて一番面白そう、というか一番情報源が豊富だなーと思って目をつけていたのが、このHatenaのインターン。既に別のインターンの面接に落ちていて自信…

MyCassandraにRedisを追加

MyCassandraでRedisを使えるようにしました。前述の通りJDBCを使うJDBC-Redisは実装がいまいちでしたので、独自api実装のJRedisを利用するようにしました。これでMyCassadraは物理ストレージとしてSSTable,MySQL,Redisを使うことが出来ます。(Dynamo的な部分…

MySQLのバルク処理は書かなきゃ駄目。

db

前回のYCSBのload phaseがMyCassandra(Cassandra+MySQL)ではめちゃくちゃ遅いという件でしたが、タイトル通りです。さて大量のインサートをするときに、以下の3つの手法によってどれくらい差が出るのだろうか? singleインサートを何度もやる マルチプルイ…

遅いのはSQLパーサー?

db

前述したYCSBを使ってCassandraとMyCassandraのベンチマークを取っているところ。まだ途中なのでちゃんとした結果は公表出来ないのですが、とりあえず1ノードで1KBのレコードを100万件ロードして、ベンチをとったところ、基本的に予想通りな結果になってます…

JDBC-Redisは使えない

db

MyCassandraとは別にCassandraのMemTable,SSTableを別のデータベースに差し替えてみようと考え、試しにKVSのRedisに注目した。Redisは簡単に言うと永続化可能なmemcachedであり、 通常はオンメモリなKVSと動作し、インターバルごと、書き込みの頻度、もしく…

YCSBパラメータ

db

実行パラメータ load: loading phaseを実行 t: transaction phaseを実行 db: 使用するdbインタフェース層 P: workload用のファイル hosts: サーバーホスト(コンマで区切って複数指定可能) recordcount: ロードするレコード数(デフォルトは1,000) threads: YC…

YCSB導入

db

実装したMyCassandraをフォーマルなクラウドベンチマークで測定する為にgithubのWikiを参考にYCSBを導入した。http://wiki.github.com/brianfrankcooper/YCSB/getting-startedまずはCassandraについて動かせるようにしたのでメモしておく。 Cassandraのバー…

No More KVS

db

Cassandraよりも早いオンメモリRDBとされるVoltDBについて調べてて思ったのだが、一般的なRDBは例えオンメモリでもKVSには遠く及ばないわけだけど、 そこで原因になってるSQLレイヤーを介さずにC++によるUDF使って直接RDBのストレージにアクセスする手法はど…

MyCassandra測定

Yahoo PNUTSの論文を読んでみて、 別にNoSQL使わなくてもMySQLでも性能は出るんじゃないかと思い、 CassandraのSSTableをMySQLに入れ替えたMyCassandraを実装しました。シーケンシャルな書き込みを重視するCassandraですが、MyCassandraではMySQL同様に書き…

Cassandraのロック機能

ReentrantReadWriteLockクラスを使ったロック 読み込みロックは複数のスレッドが取得できる 書き込みロックは1つのスレッドのみが取得できる 読み込みロックの取得中は、他のスレッドは書き込みロックを取得できない 書き込みロックの取得中は、他のスレッド…

Love Is A Many Splendored Thing

邦題では「慕情」というのでしょうか。哀愁ただよう良い曲です。今回紹介したいのは2つのアーティスト Clifford Brown, Max Roach Quintet 5拍子を絡めた急速調な演奏, ソロは4拍子。超カッコいい。 Roma Trio Luca Mannutza(P) Gianluca Renzi(B) Nicola A…

こういうライブが聴きたい。

CassandraのIO

org.apache.cassandra.ioに実際のSSTableのファイルを読み書きするパッケージが定義されている。 org.apache.cassandra.io.SSTableWriter 以下で使用される memtableからsstableへの書き出し sstableのCompaction dataFileはBufferedRandomAccessFileオブジ…

列指向RDBMSまとめ。

db

はじめに 列指向RDBMS(Infobright,InfiniDB,LucidDB,MonetDB)について調査したものを以下にまとめます。 まとめ Infobright MySQL上にビルド 開発状況はプロダクション/安定、ドキュメントが充実しており、インストールなど扱いが容易そう。 圧縮性能が特に…

Cassandraのbootstrap

org.apache.cassandra.service.StrorageService initSearver Cassandraサーバーの初期化 bootstrapの最初に担当範囲分のloadを得るためにgossip serviceをstartする。 ここからは、configファイルのautobootstrap項目がtrue/flaseで挙動が変わる trueの場合…

mt3からmt5へアップグレード方法

mt3(カスタムフィールドはplugin)からmt5は、単純なアップグレードではうまくいきませんでした。。単純なアップグレードでは上手くいかないことは以下2点 カスタムフィールドの移行 システムテンプレートの移行 両方ともdbのテーブルがmt3,5で異なるようで、…

Highway Rider/Brad Meldau

巷で最もナウくてホットなジャズピアニストといえば、この人「Brad Mehldau」Brad Mehldauの新作「Highway Rider」を買いました。メンバーにはジョシュアレッドマンやオーケストラが参加しています。このCDの感想は、 1枚通してストーリを感じるというか、…

TrumpetStationに行ってきた!

フリューゲルホルンのマッピを買いに渋谷のTrumpetStationに。 今回が始めて。店内は割と狭めだったけど、店員さんが親切でいろいろと試奏させていただいた。選択肢としては stork shilke back denis wick があり、個人的な順位はschike>>stork,denis wick>b…

Cassandraの論文

Cassandraの論文なんて無いのかと思ってたけど、 よく調べたらありました(^^;)2009年のLADISでFacebookの人が発表したもののようです。タイトル: Cassandra - A Decentralized Structured Storage System 著者: Avinash Lakshman, Prashant Malik(Facebook)…

Cassandraの書き込み

Commit Log=>MemTable RowMutationの送信 org.apache.cassandra.avro.CassandraServer commit logに書かれた内容をRowMutationとして適当なレプリカノードに送信する StrageProxyからmutate関数を呼ぶ. org.apache.cassandra.service.StorageProxy mutate関…

Cassandraの読み込み

読み込み側 org.apache.cassandra.cli.CliClient executeGet関数内でクライアントからクエリを構文解析して get関数を使ってCassandraServerにリクエスト org.apache.cassandra.avro.CassandraServer get関数=>multigetInternal=>multigetColumns=>readColum…

Wide Green Eyes

Jazz Desire/High Five QuintetとSol!/Fabrizio Bosso & Javier Girotto Latin Moodというアルバムで聴けます。まったりラテンな曲でどちらとも艶のあるファブリティオボッソのソロが聴ける僕のお気に入りな曲の1曲です♪

dq6を簡単につまらなくする方法。

初盤でメタル狩りをやりすぎてレベルを上げすぎる 熟練度が上がらなくなる カジノで最強防具やまほうせいすいを手に入れてしまう レベル、熟練度上げのプロセスが「at まじゅしのとう→くちぶえ→たたかう1クリック→ダーマ」の繰り返しになってしまう。 攻略サ…

KohanaのCacheインスタンスは複数立ち上げられない?

db

前回やったmemcachedに加えてファイルキャッシュを以下のように追加しようした。 application/cache/config.php defaultの下に以下を追記 $config['filecache'] = array ( 'driver' => 'file',//ドライバーにfileを指定 'params' => '../application/cache',…

GAE(google app engine)上で動かすCMS

web

タイトルにある通り、GAE上で動かせるフリーCMSとして、「app engine site creator」と「cpedialog」というものがあり、どちらもpythonで作られている。両者とも導入の仕方としては...1.まず以下でGAEにgoogleアカウントで登録して、適当にMy Applicationを…

行きたいliveバッファ(上半期)

僕が行きたいライブを以下にリスト化していきます。 roy hargroove 2/21@cotton clube 2/23-26@blue note tokyo 2/27@motion blue yellowjackets 3/4-5@cotton club Gordon Goodwin's Big Phat Band 3/10-14@bluenote

memcached in Kohana PHPを利用

db

Kohana PHP、memcachedそのものが既に入っててmemcachedが起動している上で、 クライアントを利用する。利用する前にdefaultのcache参照先がfileになってるので先にそれを変更する。 system/config/cache.phpを以下のように変更。 $config['default'] = arra…