
RDBもNo-SQLもモジュールに依存することには変わりない。
RDBは細かな差分バックアップが苦手だし、
No-SQLもシャーディング系が現時点で不安定になる経験談をよく耳にする。
どうせなら、モジュールの品質に依存するのではなく、いっその事OSの直結であるShellでDataBaseを構築して、IOの負荷を最大限に利用してみようと考えた。
必要な機能
基本的にはRDBを意識して以下の様な機能を検討
・基本機能
1、データベースという空間名の管理
2、テーブルという任意ルールでのデータレコード管理
3、Mysqlだとテーブル構成データと実データと複数存在するので、1ファイルで済ませられるJSON形式(1レコード方式)を採用※必然的にJQコマンドを利用
4、書き込みはテキストファイルの追記型(後書き有効方式)
5、テーブル内におけるINDEXによる高速検索に対応
・付属機能
1、csvファイルをjsonファイルに変換
2、jsonファイルをcsvファイルとkeyファイルに変換
スケール対応
1、複数サーバーでのシャーディングに対応
2、冗長構成の為にレプリケーション対応
上記以外の機能追加は都度行うこととする。
使い方サンプル
1、wordpressを使っていて、データベースの登録数が膨らんできた時に、スピードが極端に遅くなる時に、チューンナップできるようにするために、mysqlからのデータ出力を行うことができるようになることで、柔軟なデータ・アクセスや、管理が行える。
2、ビッグデータに対応する独自データベースの構築
0 件のコメント:
コメントを投稿