2009-09-01から1ヶ月間の記事一覧

SELECTのAPI(4) インデックスの利用

SELECTのAPI(2) 様々なSELECT文への対応で述べた検索ではインデックスを活用した検索を実現できません。ここではインデックスを用いた検索のAPIを考えます。 例で使用するテーブル これまで同様、次のようなテーブルがあるものとして話を進めます。 members:…

SELECTのAPI(3) イテレータによるデータアクセス

これまで、テーブルからのデータの読み出しそのものに関しては触れませんでした。ここでは、どのようにテーブルからデータを読み出すかについて考えます。テーブルから数百万件というような大量のデータを読み出す場合、すべてのデータをメモリ上に読み込ん…

SELECTのAPI(2) 様々なSELECT文への対応

パッケージ越しにソートサブルーチンを渡してもうまく動作しないようなので、ORDER BYでは通常のサブルーチンを渡すように変更しました。 (参考)パッケージ越しのソートサブルーチンがうまく働かない - $koherent->diary (2009.09.21) APIを考えるにあたっ…

パッケージ越しのソートサブルーチンがうまく働かない

Perlのソートサブルーチン(ソート定義サブルーチン)が次の「Case C: パッケージ越しのソートサブルーチンの利用」でうまく働いてくれません。 ソース #!/usr/bin/perl use strict; my $by_num = sub{ $a <=> $b; }; #####################################…

SELECTのAPI(1) 概要

SQLと言えばまずはSELECT文です。ということで、最初にSELECT文相当の検索用APIを考えたいと思います。 例で使うテーブル 以下、次のようなテーブルがあるものとして話を進めます。 members: メンバーを格納したテーブル。 member_id family_name first_name…

実装の方針

併せて、方針変更についてもご覧下さい。 (2009-10-16) RDBMSの実装においては、次のような要素がキーになると思います。 インデックス キャッシュ トランザクションと同時実行制御 テーブルやビューの結合 SQLやAPI 実行計画とオプティマイザ これらについ…

PerlShell

もろもろの事情でKoherent::DBに改名することにしました。 (2009-11-24) という名前にすることにしました。これから実装するRDBMSを。やはり名前がないと不便ですし、名前は必要です。 名前の由来 名前の由来は「pearl shell(真珠貝)」です。 Perlは元々pe…

Pure PerlのRDBMSを作る

今日からブログを書くことにしましたkoherです。突然ですが、Pure PerlのRDBMSを作りたいと思います。 自己紹介 某ITコンサルに勤めていましたが、より技術的なことに取り組みたいと思い、退職して大学院に戻ろうと考えています。8月でプロジェクトがひと段…