【誰もいないから】インメモリDBを作ろう【今のうち】 (30レス)
1-

1
(3): 2014/04/07(月)19:14 ID:vEOnylDdo(1/2) AAS
最近盛り上がってるインメモリDBを作ろうかと思いますよ。
基本知識がないので調べながら、なまらまったり作る。

WIKIにはmemsqlとか高速屋とか乗ってないね。
外部リンク:ja.wikipedia.org

かわいいリレーショナル・データベース
外部リンク:d.hatena.ne.jp
2: 2014/04/07(月)19:27 ID:vEOnylDdo(2/2) AAS
気になる点は次あたり。
・C++で実装。
・組み込みできるようになるべく単純な事しかしない。
・メモリが肥大したらそれだけで落ちちゃうからメモリ最大量固定。
・呼び出しはSQL構文使えるようにしたい。
・細かい最適化とか無視。メモリアクセスは早いしね。
DB内部については素人なんで、まずはこんなところから。
3
(1): 2014/04/08(火)20:31 ID:oB8lBSdxv(1) AAS
まぁがんばれ
陰ながら見守ってるわ
4: 2014/04/09(水)11:46 ID:F4Kee7g1T(1) AAS
>>3
ありがとう。まあ自分用なので色々とダメでも勘弁してくれ。
今はざっとしたクラス作成中。
5
(1): 2014/04/10(木)03:33 ID:WNlufLjBz(1/2) AAS
インメモリDBってのがまだピンと来ないんだけどさ、使う側から見たら速度が凄い早いDBって認識でいいの?

SQLiteとかだとプログラムから接続文字列でデータソースに
DATA SOURCE=:MEM:
とか指定すると、メモリ上でにテーブル作ったりできたけど、そういう感じのやつなんだろうか?
6: 1 2014/04/10(木)15:27 ID:lgBo0YUAM(1) AAS
>>5
基本的には電源落ちたら既発しちゃうのがインメモリDB。
実装的にはインメモリDBとそれ以外の違いはデータ保持の主体が
列毎なのか行毎なのかというのが大きいようです。
メモリ節約するために列毎にzipするという実装もあるみたいです。

ということで、ある1カラムを常にソート済で保持しておくのが
基本となるかと思い漠然とテストプログラム書いてます。
遅くてすまない
7: 2014/04/10(木)23:59 ID:WNlufLjBz(2/2) AAS
ゆっくりどうぞ

つ _旦~~
8: 1 2014/04/15(火)14:34 ID:tfclwizYC(1) AAS
効率の良いインメモリDBを作るとしても、実験から入るのが常なので
うまい書き方ないか試行錯誤してました。

結局リレーショナル・データベースとはテーブルを返すものであるという
理解のもとにinsert,selectできるものを作ってみました。
これから内容が変わっていくかもしれませんが基本はこんな感じです。
外部リンク:ideone.com

実行するとinsertされたものがselectされ表示されます。

最初はリストかTrieを高速化するつもりだったんですがボトルネックをわかりやすくした方が後に便利と
思い直してまずは平たく作ってます。次はjoinとかやります。
9: 1 2014/04/21(月)17:37 ID:QN2kw8ix5(1) AAS
すいません。修羅場ってます
10: 2014/04/23(水)21:53 ID:bpVvrHr2Q(1) AAS
ゆっくりマイペースで進めればいい
前に進んでさえいれば、確実に目標には近づいている
1-
あと 20 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.210s*