The database client with the highest user satisfaction.*Rated 1st place on G2.com (4.6 / 5)
![SQL Client and Database Management Software - DbVisualizer](https://cdn-ak-scissors.b.st-hatena.com/image/square/09724ad722a9952450d4110ed08d312bc9fea9b0/height=288;version=1;width=512/https%3A%2F%2Fwww.dbvis.com%2Fwp-content%2Fuploads%2F2024%2F01%2Fdbviscom-OG-2024.png)
ちゃんとした設計の話を Kazuho@Cybozu Labs: フレンド・タイムライン処理の原理と実践に書きましたので、そちらをご参照ください。 飲み会までの時間、ちょっと考えたんだけど、結局、twitter の home のような、「follower 全員のポストから最新 n 件を取得」というオペレーションは、最悪 n^2 件 *1 へのアクセスで抽出可能ということを理解した。しかも、follower 毎に SQL 発行ができる *2 ので、memcached との相性が良さそう。また、全ユーザー数が式に出てこないってことは、すなわちスケールアウトできるってこと。 実質的に n の二乗の平均のルートは 100 以下 (最初のページだけなら n=20) だろうし、つまり、ちゃんと書けば負荷は低いんじゃないか、ということ。 追記: ただ、「最新 n 件」じゃなくて、自分の timeline
Photo by shindotv ここ最近、海外のブログで「NoSQL」という単語をちょこちょこと見るようになりました。 これは新しいデータベースのムーブメントで、「SQL=リレーショナル」ではないデータベースの事を指しています。 NoSQL DBサーバの有名な物は、Facebookがリリースした「Cassandra」、Erlangで書かれた「CouchDB」、日本からは、mixiがリリースしている「TokyoTyrant」があります。 またGoogle App Engineでは、DataStoreというBigTableベースのNoSQLサービスが提供されています。 ある程度ユーザを集めたコンシューマ向けサービスは、大抵の場合パフォーマンスとの戦いとなります。 技術誌の中でも「スケールアウト技法」的な記事を目にすることが増えてきたことからも、多くのサイト運営者が、パフォーマンスの問題を抱
Twitterで話題になってたので簡単にまとめました。 ●MyISAMにしか無い機能を使いたい場合はMyISAMを使うしかない ・全文検索 (TritonnやSphinx) ・GIS ●InnoDBの利点(MyISAMの欠点) ▲障害対応系 ・クラッシュしても再起動するだけでリカバリができる ・クラッシュリカバリにかかる時間はテーブルサイズに比例するようなことはなく、コミット済みのデータは修復できる (巨大なMyISAMテーブルのREPAIRには数日単位で時間がかかることがある) ・オンラインバックアップができる ・INSERTやLOAD DATAなどを実行している途中でCtrl+Cでその更新系SQL文を止めても、テーブルは壊れないし、中途半端な状態で更新されることも無いし、スレーブが止まることも無い ▲性能系 ・行レベルロックなので並列性が高い(MyISAMはテーブルロック)。またSEL
今までMySQL環境下でDB Designerを使って開発してましたけど、どうにもDB Designerが使いづらくて移行しようと思っていたところに見つけたのがこのA5:SQL Mk-2でした 公式:A5:SQL Mk-2 私が必要な機能として ・ER図の作成機能 ・DBからのリバースエンジニアリングでER図を作成する機能 でして、このA5:SQL Mk-2は両方とも要件満たしていました。 このサイトをDB Designerで検索してくる方が結構いらっしゃいますが、DB Designerの開発は現在止まっており新技術にも対応してないため既に過去の物になっているので移行をおすすめします。 MySQLに限って言えばMySQL Workbenchなるものがリリースされています MySQL Workbench こちらもER図の作成とリバースエンジニアリングに対応していますが、なんとWindowsX
小川 明彦, 阪井 誠 : チケット駆動開発 日本のソフトウェア開発の現場で生み出された「チケット駆動開発」という概念を、数多くの実例を元にモデル化・体系化を試みた最初の本。 小川 明彦, 阪井 誠 : Redmineによるタスクマネジメント実践技法 Redmineによるチケット駆動開発の実践技法に関する最初の本。アジャイルなソフトウェア開発への適用方法、TestLinkによるテスト管理手法についても言及。 清水 吉男: 「派生開発」を成功させるプロセス改善の技術と極意 組込システム開発をベースとして、ソフトウェア開発特有のスタイルである派生開発、特にXDDPについて解説した世界でも稀な本。既存製品を保守するのではなく継続的に機能追加していく昨今の開発では、派生開発特有の問題を意識しなければならない。XDDPはプロセス論だけでなく、要件定義などの上流工程の品質改善にも役立つので注意。 Le
接続 † // DSN を使用しない場合 $db = ADONewConnection(__DBMS_NAME); $con = $db->PConnect('hostname', 'userid', 'password', 'database'); // DSN を使用する場合(Connect/PConnect する必要が無い) $dsn = 'pgsql://userid:password@hostname:port/database?debug=1&persistent=1'; $con = ADONewConnection($dsn); ちなみに DSN で指定可能なオプションはこんな感じ。 ↑ PHP5 † adodb-exceptions.inc.php を require/include する事により、エラー時に例外を投げさせる事が出来る。 include_once("../
プリペアードクエリ(プリペアードステートメントともいいます)によって、前述のリスクのほとんどを回避することができます。プリペアードクエリは、クエリのいわば'テンプレート'です。クエリの構造をあらかじめ定義して変更できないようにしておくのですが、その中には実際のデータを配置するプレースホルダが含まれています。 プレースホルダでは、例えばintは整数データ、textは文字列というように、データベースがそのデータを厳密に解釈するように型が特定されています。つまり、text型のプレースホルダならいつでも文字列として解釈することで、クエリのスタックを使ったSQLインジェクションのような攻撃を防ぐのです。 プレースホルダの型と中のデータが一致しなければ実行エラーとなり、クエリをより厳密にチェックすることができます。クエリの安全性確保に加えて、プリペアードクエリにはパフォーマンスを向上させる効果もありま
最近,学部生に「DBについて勉強したいんですが何かオススメ参考書はありますか?」と聞かれた.私自身も,DBについて勉強したいなぁと感じていた.というのも,この頃院の授業で正規化の辺りを突っ込んでやったり,授業では習わない類のクエリを書いたり,数万件以上のデータを処理したり・・・とやっているうちにどうにも自分の知識不足を感じたからだ.学部の時は授業で理論の基本的なところを習って,あとはDBを利用したちょっとしたWebサービスを作ったくらいで,ちゃんと理解してこなかったから仕方ないといえばそうなんですが。。。まぁせっかくなので,DB関係の本で私がオススメかなーと思う本を挙げておきます(・ω・*) ●はじめの一歩DBについて勉強しようと思って一番最初に思い出したのは「マンガでわかるデータベース」という本.マンガでわかるデータベース作者: 高橋麻奈, あづま笙子, トレンドプロ出版社/メーカー:
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く