ドットインストール代表のライフハックブログ
聞くところによると,CouchDB の魅力ってのは,ドキュメント指向であったり,Map/Reduce であったり,その辺りにあるらしいのですが,ボクはまだよく分かっていません.このエントリでは,後述の目的を果たすために,CouchDB をサーバにインストールして動かしてみて,永続化ハッシュとして利用するために,値の格納と取得をやってみた,ってところまで扱います.その先の話はエントリを改めてまた今度. 目的 よく,cron なんかで定期実行させるスクリプトの中で,前回実行時の情報をファイルに保持させたりしている.これだとスクリプトを実行させるマシンが変わったときにそのファイルも忘れずに移動させなきゃいけないし,複数マシンで実行させるスクリプトともなると,協調が大変.そこで,情報を保持する箇所をひとつにし,かつ,どのマシンからでも情報を読み書きできる仕組みを用意し,ファイルに保持させないように
※ 画面は公式サイトのデモコードより 最近のWebシステム開発ではO/Rマッピングの利用が当たり前になっている。そのため、生のSQLを書く機会が殆どなくなり、開発がスムーズになっている一方、いざ書くとなると非常に面倒に感じるようになっている(もちろんORマッピングではコストがかかってしまう場合はSQLを書く必要もあるだろうが)。 JavaScriptで実現するO/Rマッピング それはSQLiteが使えるiPhone/Gears/Adobe AIRといった今時の開発に対しては特に言える。O/Rマッピングに慣れてしまった体にはSQLite向けのSQLを書くのは非常に辛い。そこで使えるのがActiveRecord.jsだ。 今回紹介するオープンソース・ソフトウェアはActiveRecord.js、JavaScriptで作られたO/Rマッピングソフトウェアだ。 ActiveRecord.jsが対応
クラウドと一緒にやってきたもの 最近、クラウドが流行ってます。 GoogleのMapResuceから始まって、MicrosoftのAzureまで、大手のクラウド製品が出揃った感じ。 で、そこで、こんなクラウド製品が出ましたというときに、必ずといっていいほどそのクラウド用のデータベースの説明があります。そして、それはRDBMSではありません。 GoogleだとBigTable、MicrosoftだとSQL Data Services、あとはAmazonのSimpleDB。どれも、基本的にはひとつのテーブルにハッシュコードでアクセスするようになっています。 ほかのクラウド製品も、Oracle Coherenceだったり、楽天のRomaだったり、非RDBMSのデータストレージを提供します。 クラウドというわけではないけど、mixiのTokyo TyrantやApache CouchDBも、RDB
Webベースのデータベースフロントエンドとして有名なものはphpMyAdminだろう。だが開発の現場ではMySQLが利用されることもあれば、PostgreSQLが使われることもある(他のデータベースももちろんあるが)。その度にフロントエンドが異なるのは面倒だ。 管理画面 各種レポートの出力にも対応したこちらを使ってみるのはどうだろう。 今回紹介するオープンソース・ソフトウェアはvFront、細かな設定が可能なデータベースフロントエンドだ。 vFrontはPHPで作られたWebベースのデータベースフロントエンドだ。MySQLのみならず、PostgreSQLにも対応しているという特徴がある。さらにただデータベースのデータを全て編集できるという訳ではなく、テーブルを指定してCRUDを指定できるという利点がある。 テーブル構造確認 例えば修正されるとまずいテーブルや、見られることも問題があるテーブ
Jiemamy作者が考える “データベースの進化的設計” データベースもアジャイル開発に対応したい! アジャイルの考え方においては、実装前にシステム要件・設計を確定させることはせず、常に変化を受け入れていく体制が必要です。アジャイル開発の考え方にのっとるなら、アプリケーションだけではなくデータベースについても設計の凍結はせず、また、ソースコードに限らずデータベースの構成・設計についてもリファクタリングが適用されるべきです。Jiemamyはこの問題に取り組むプロジェクトとして始められました。本稿ではこのJiemamyの取り組みを紹介します。 ソースやスキーマだけ管理しても意味がない 近年注目を集めている「アジャイル開発」は、リファクタリングが重要な要素の1つであることはご存じのとおりです。アジャイルの考え方においては、実装前にシステム要件・設計を確定させることはせず、常に変化を受け入れていく
試してわかる並列処理 巨大なデータベースを検索する場合や、アカデミックで複雑な検索を行う場合に、1つのクエリがとてつもなく重たくなった経験はありませんか。もちろん、SQL文の効率が悪い、あるいはインデックスの張り方が悪いなど、パフォーマンスチューニングの基本動作ができていない場合もありますが、そもそも「そんな巨大なクエリを1台のマシンでやらせることに無理がある」場合もあります。これに対する強力な処方せんの1つが並列処理(パラレルクエリ)です。 最近は、データウェアハウスやメールの解析といった情報系のシステムが増えており、データベースのクエリに求める利用者の要望は複雑化しています。しかも、Googleのような検索エンジンがサクサクと動いているので、データベースの検索なんて早くて当たり前と考える利用者が増え、期待値は高まる一方です。 ただ、業務に必要不可欠な基幹系のシステムとは違い、情報系のシ
はじめに PHPにはデータベースにアクセスする方法がいくつか用意されています。そのような方法の一つに、「PEAR MDB2」があります。名前の通りPEARのライブラリとして公開されています。PEARにはMDB2のほかに「DB」や「MDB」といったライブラリがあり、現在でも利用することができます。しかしながら、これらの開発はすでに終了しており、開発者はMDB2に移行することが推奨されています。 本稿では、PEAR MDB2を使って、PHPからデータベースを操作する次のような基本的な方法を紹介します。PEAR MDB2を使うとデータベース管理システム(MySQLやPostgreSQL、SQLite等)に依存しないコードを書くことができる。SQLの実行には、プリペアードステートメントを使うのが基本である(例外あり)。PHPにはPEAR MDB2の他にもデータベースへのアクセス手段が数多く用意され
PHPからDBを使うときにはPEAR::DBをお使いの方もまだたくさんいらっしゃると思います。しかし、PEAR::DBのマニュアルにも「This package been superseded by MDB2 but is still maintained for bugs and security fixes」(このパッケージの代わりにMDB2の使用が推奨されますが、バグの修正、セキュリティフィックスは引き続き行われます。)と書かれているとおり、今後はPEAR::MDB2をお使いになることをお奨めいたします。 ということで、今回はPEAR::MDB2についてご紹介したいと思います。 PEAR::MDB2 マニュアル http://www.go-pear.org/manual/ja/package.database.mdb2.php MDB2についてはこちらをご覧下さい http://ww
ポイント ・高度なインデックスやジョインを利用し,最短経路でデータにアクセス ・メモリー不足を自律的に解消し,キャッシュのヒット率を高める ・インメモリーDBは全データをメモリーで処理し,高速化を図る 目的地に早く到着したいなら,最短の経路を最速で行けばよい。これはデータベース(DB)でも同様だ(図1)。インデックスなどを使ってデータへの最短経路を見つけ,メモリー・アクセスを増やして,最速でたどり着く。DBにはそんな技術が詰まっている。 図1●データベース高速化技術のポイント ビットマップ・インデックスなどを使い、データにたどり着く最短の道を選ぶ。また、できるだけメモリーにデータをキャッシュさせておくことで、アクセスのスピードを上げる、という二つのポイントがある [画像のクリックで拡大表示] 以下では,(1)データにたどり着く最短の道を選ぶ仕組みと,(2)アクセスのスピードを上げる仕組みの
Intro Recently I had to move an existing project from using PEAR::DB to PEAR::MDB2 - the new database abstraction layer. I took notes on the parts of the code I needed to change, I hope they can benefit someone who's doing the same. Many thanks go to Lukas Smith, the lead developer, he was always responding very fast to my reports and questions in the PEAR mailing list. One thing to notice in MDB2
オープンソースのRerational Database Management Ssystem(RDBMS)の雄といえばMySQLとPostgreSQL。アプリケーションに組み込んで使うタイプのRDBMSまで広げればApache Derby、H2、HSQLDBなども人気があるが、汎用的に幅広く使われているFLOSS RDBMSとなると、やはりMySQLとPostgreSQLの2つとなるだろう。 この2つのRDBMSに共通した特徴に、周辺ツールが充実しているということがある。10年まえであれば管理にCUIツールを使うことに違和感はなかったが、現在では優れたGUIツールがあり、広く利用されている。たとえばMySQLにはMySQL Administratorが、PostgreSQLにはpgAdmin IIIが用意されている。 図1.1 MySQL管理ツール – MySQL Administrato
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く