「ORMがトラブル起こすから嫌い」なんじゃなくて、「ORMが起こすトラブルが解決できないから嫌い」ってのがほんとのところじゃない?だったら解決方法を知ればいいんじゃね?というお話。「N+1問題」もろくに知らずにORMを批判せんでほしい。
分散システムにおいては以下の3つの要素のうち2つしか同時に満たすことができない、というCAP定理を提唱したのは、Eric Brewer氏でした。 C:Consistency(一貫性) A:Availability(可用性) P:Tolerance to network Paritions(ネットワーク分断への耐性) 一般にリレーショナルデータベースでは、一貫性(C)と可用性(A)をできるだけ保証する代わりに、ネットワーク分断への耐性(P)を犠牲にしています。ネットワークが途中で切れたり大きく遅延した場合、動作が保証されなくなってしまうわけです。 一方でNoSQLでは一貫性(C)よりも可用性(A)とネットワーク分断への耐性(P)を優先させるものが多く、分散システムでの動作に向いていると説明されます。このようにNoSQLの説明にこのCAP定理がしばしば引用されることになり、NoSQLの普及とと
セールスフォースが採用しているマルチテナントアーキテクチャでは、すべてのユーザーが同一データベース、同一スキーマを共有しています。 では、個別に入力項目を増やすようなスキーマの変更を伴うアプリケーションのカスタマイズや、新たなテーブルを作成してそこに独自データを保存するようなアプリケーションの新規作成はできないのか? といえば、そんなことはなく、セールスフォースが提供するプラットフォームの上で、自由に項目の追加や新しいテーブルの作成が可能です。 全ユーザーでスキーマを共有しながら、しかし個別のカスタマイズを許容する。この一見矛盾する要件を、セールスフォースはどのように実現しているのでしょうか? (本エントリは「知られざる『マルチテナントアーキテクチャ』(2)~スケーラビリティのカギは組織ID」からの続きです。) 公開されているスキーマを見てみる ユーザーがスキーマを変更したり、新規テーブル
APIとDesign Documentでカクテルブックに挑戦:ゆったリラックス! CouchDBがあるところ(2)(1/5 ページ) オープンソースでモダンなドキュメント指向データベース、CouchDB。今回は実践的な「カクテルレシピブック」を作りながら、CouchDBの特長を解説します。サンプルプログラムをダウンロードし、実際に体験してみてください。(編集部) カクテルのレシピブックをCouchDBで作ろう 第1回「“動物図鑑”で知るCouchDBの特徴」で、ドキュメント指向のデータベース、CouchDBの概要をお伝えしました。連載の第2回目はCouchDBの具体的な操作方法である、HTTPを利用した基本的なAPIやDesign Documentがテーマです。カクテルのレシピブックをCouchDB上に作る場合を例に解説していきたいと思います。レシピブックの1ページが1つのドキュメントにな
“動物図鑑”で知るCouchDBの特徴:ゆったリラックス! CouchDBがあるところ(1)(1/3 ページ) ドキュメントを手軽にWebで公開したいとき、リレーショナルデータベースで実装することに違和感を覚えることはありませんか? CouchDBはそのようなニーズに合った、新しいデータベース管理システムです。CouchDBを知り、リラックスしながら実装をしていきましょう(編集部) CouchDBとは? CouchDB(カウチDB)はドキュメントをデータとして管理し、Webで公開することに最適化されたデータベース管理システムです。CouchDBの“ドキュメント”は報告書、仕様書、議事録といった文書や、名刺、プロフィールといったデータの集合のことを指しています。また、JavaScriptのソースコードをドキュメントの一部として配置することも可能です。 OSSとして一般へのリリースが始まったの
Open Database Connectivity (ODBC) は、関係データベース管理システム (RDBMS) にアクセスするための共通インタフェース (API)である。 データへのアクセスを統一化することを目的としており、たとえばクライアント/サーバ型ではないMicrosoft Accessの管理するデータベースファイル (MDB) や、そもそもRDBMSではないCSVファイルへのアクセスなども、それに対応するODBCドライバがあれば、他の一般的なデータベースへのアクセスするのと同様な方法で利用することが可能になる。 ODBCは、主にWindows上で利用されることが多いが、Linux、UNIXなどで利用されるケースもある。 従来、データベースアプリケーションは、RDBMSベンダーが製品とともに配布するユーティリティや埋め込みSQLにより開発されてきたが、C言語上のAPIレベルで統
森川です。 巷ではエイプリルフールネタがおさかんですが、普通にデータベースのモデリングツールの紹介です(エイプリルフールネタが思いつかない…)。 普段MySQLならDBDesigner4、PostgreSQLならClayを使用しているのですが、他に何かよいツールはないものかと調べてみました。 Clay 言わずと知れた?モデリングツールです。Eclipseのプラグインで、無償でも使用可能です。MySQL、PostgreSQLで使用可能です。 無償版ではER-図や、DB定義書を出力できません。対応するDBが少なかったりもします。 個人的には、PostgreSQLを使用する場合によく使います。外部キー制約などにも対応しているのでそれほど困りません。 リバースエンジニアリングに対応しているのも気に入っている理由の一つです。 ちなみに、リバースエンジニアリングをするにあたってPostgreSQLのJ
DB設計の神ツール「ERMaster」なら、ここまでできる:ユカイ、ツーカイ、カイハツ環境!(11)(1/3 ページ) 無料のEclipseプラグイン「ERMaster」とは データベースのテーブル設計を行うときに皆さんは、どのようにしているでしょうか? いくつかの無料で利用できるツールが提供されているので、筆者はそれらを利用していましたが、最近「ERMaster」と呼ばれるEclipseプラグインの存在を知りました。 ERMasterは、ほかのツールに比べ、直感的で分かりやすいUI(ユーザーインターフェイス)に、カスタマイズ可能な、Excelで出力できるテーブル定義書、辞書機能など痒いところに手が届くERモデリングのツールです。本稿では、このERMasterについてご紹介します。 ERMasterの主な特徴、8つ ERMasterには、主に次のような特徴があります。 【1】直感的で使いや
<body> <span>このページはフレーム対応のブラウザでご覧ください。</span> </body>
夏が近づくとウキウキしてくるmikioです。昨日ついにリリースされたKyoto Cabinet 1.0について今回は報告します。 1.0の位置づけ コミュニティ毎や製品毎にバージョン番号割り当ての方針は異なるわけですが、私の個人的なポリシーでは、1.0には特別な意味があります。すなわち、0.xのバージョンはbeta版的な位置づけで、「実サービスに使うのはちょっと待った方がいいですよ」ということを意味します。一方で、1.xはstable版的な位置づけで、「よろしければ実サービスでも使ってみてください」ということを意味します。私がstable版に設定する原則を以下に列挙します。 安定稼働を至上命題とする(バグがあればその修正を最優先する) APIを変更しない(変更するとしても後方互換性を維持する) DBファイルのフォーマットを変更しない(変更するとしても後方互換性を維持する) なるべく機能追加
SSD専用に設計された「ReThinkDB」、ロックもログも使わない新しいリレーショナルデータベースのアーキテクチャ SSDがHDDに代わるストレージとして普及しようとしていることを背景に、SSDに特化したまったく新しいアーキテクチャを備えたリレーショナルデータベースを開発しようとしている企業があります。「ReThinkDB」です。 昨年7月に、PublickeyではReThinkDBの概要を記事「SSDに最適化したデータベース「RethinkDB」、ロックもログも使わずにトランザクション実現」で伝えました。 その記事の中では、ReThinkDBがロックを使わずにトランザクションを実現し、データベース利用中でもスナップショットがとれ、また異常終了しても容易に復帰できる機能を備えている、といったことを紹介しました。 4月に米サンタクララでに行われた「MySQL Conference & Ex
A5:SQL Mk-2は複雑化するデータベース開発を支援するために開発されたフリーのSQL開発ツールです。 高機能かつ軽量で、使い方が分かりやすいことを目標に開発されています。 SQLを実行したり、テーブルを編集するほかに、SQLの実行計画を取得したり、ER図を作成したりすることが出来ます。 特徴・機能 OCI接続・直接接続・ADOまたはODBCを介したDBへの接続 Oracle DatabaseはOCI経由の接続・直接接続が出来ます。 PostgreSQLとMySQLは直接接続が出来ます。 Microsoft SQL Serverは、OLE DBプロバイダを直接呼び出した接続ができます。 IBM DB2は、ODBCドライバを直接呼び出した接続ができます。 その他のデータベースは、ADOまたはODBCを利用して接続します。 Oracle, PostgreSQL, MySQLは、A5:SQL
リレーショナルデータベースを利用する際には、高い性能を引き出すために物理設計をし、スキーマを工夫し、パラメータのチューニングを行うことがつねに行われてきました。 性能のボトルネックはたいがいHDDにあり、いかにそのボトルネックを回避するかがチューニングのポイントですが、最近では性能向上のための武器として、HDDよりもずっとアクセス性能の高いSSDが注目されています。SSDはHDDと置き換えるだけで、アプリケーションにまったく手を加えずに性能向上を可能にする手段として非常に魅力的です。 HDDの代わりにSSDを利用したら、リレーショナルデータベースの性能はどれだけ向上するのでしょうか? オラクルと富士通が共同検証を行い、その結果をホワイトペーパーとして先週発表しました(参考「日本オラクルと富士通 フラッシュ技術活用によるデータベース高速化を共同検証」)。 ホワイトペーパーでは、HDDの代わり
Photo by shindotv ここ最近、海外のブログで「NoSQL」という単語をちょこちょこと見るようになりました。 これは新しいデータベースのムーブメントで、「SQL=リレーショナル」ではないデータベースの事を指しています。 NoSQL DBサーバの有名な物は、Facebookがリリースした「Cassandra」、Erlangで書かれた「CouchDB」、日本からは、mixiがリリースしている「TokyoTyrant」があります。 またGoogle App Engineでは、DataStoreというBigTableベースのNoSQLサービスが提供されています。 ある程度ユーザを集めたコンシューマ向けサービスは、大抵の場合パフォーマンスとの戦いとなります。 技術誌の中でも「スケールアウト技法」的な記事を目にすることが増えてきたことからも、多くのサイト運営者が、パフォーマンスの問題を抱
「ウェブリブログ」は 2023年1月31日 をもちましてサービス提供を終了いたしました。 2004年3月のサービス開始より19年近くもの間、沢山の皆さまにご愛用いただきましたことを心よりお礼申し上げます。今後とも、BIGLOBEをご愛顧賜りますよう、よろしくお願い申し上げます。 ※引っ越し先ブログへのリダイレクトサービスは2024年1月31日で終了いたしました。 ※10秒後にBIGLOBEのおすすめページに遷移します
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く