6. id name pass is_deleted 1 ryu xxx FALSE 2 ken xxx FALSE 3 honda xxx TRUE 8. id name pass is_deleted 1 ryu xxx FALSE 2 ken xxx FALSE 3 honda xxx TRUE 3 honda xxx FALSE
MultiVersion Concurrency Control (MVCC, マルチバージョン コンカレンシー コントロール) は、データベース管理システムの可用性を向上させる制御技術のひとつ。複数のユーザから同時に処理要求が行われた場合でも同時並行性を失わずに処理し、かつ情報の一貫性を保証する仕組みが提供される。日本では多版型同時実行制御、多重バージョン並行処理制御などと訳される。また単にマルチバージョンとも呼ばれる。 MVCCは、書き込み処理(トランザクション)が行われている最中に他のユーザによる読み取りアクセスがあった場合、書き込みの直前の状態(スナップショット)を処理結果として返す。つまり、書き込み中も読み取りができ、読み取り中でも書き込みができる。 MVCCにおいて可用性を達成するには、最低限、全ての処理が「どの順番で」行われたかを確実に記録する必要がある。そのため、タイムスタ
スケーラブルなデータベースを実現する手段として「Sharding MySQL plus memcached」がよく知られる方法だとは、1つ前の記事「MySQL+Memcachedの時代は過ぎ、これからはNoSQLなのか、についての議論」で紹介しました。 ちなみに「Sharding」(シャーディング)とは複数のデータベースにデータを分散して運用することで、ざっくりいえばShared Nothing的な分散データベース構成のことです(この記事で紹介する英文中には「Shared MySQL」(共有MySQL)との記述がありますが、これは恐らく「Sharded MySQL」(ShardされたMySQL)のミススペルではないと推測します)。 日本で(たぶん)もっともMySQLについて詳しく解説してあるブログ「漢(オトコ)のコンピュータ道」のエントリ「さらにMySQLを高速化する7つの方法」では、Sh
クラウドと一緒にやってきたもの 最近、クラウドが流行ってます。 GoogleのMapResuceから始まって、MicrosoftのAzureまで、大手のクラウド製品が出揃った感じ。 で、そこで、こんなクラウド製品が出ましたというときに、必ずといっていいほどそのクラウド用のデータベースの説明があります。そして、それはRDBMSではありません。 GoogleだとBigTable、MicrosoftだとSQL Data Services、あとはAmazonのSimpleDB。どれも、基本的にはひとつのテーブルにハッシュコードでアクセスするようになっています。 ほかのクラウド製品も、Oracle Coherenceだったり、楽天のRomaだったり、非RDBMSのデータストレージを提供します。 クラウドというわけではないけど、mixiのTokyo TyrantやApache CouchDBも、RDB
オープンソースでフリーなER図作成ツール「DBDesigner4」の日本語化を試みるサイトトップページ このサイトについて bookmark このサイトはfabForceで公開されているDBモデリングツール「DB Designer 4」の日本語化を試みるサイトです。 個人が運営するサイトなので公式なサイトではありません。 「DB Designer 4」はGPLライセンスで公開されているオープンソースソフトウェアです。 「DB Designer 4」についての詳細情報は本家サイトをご参照ください。 fabFORCE.net DBDesigner4の特徴 bookmark 直感的なGUIによるERモデル図のモデリング ERモデル図からSQL文(CREATEやDELETE)の自動生成 データベースからリバースエンジニアリングによるERモデル図の生成 データベースとERモデル図の同期化機能 軽快
日記だけで4億件のデータ ミクシィが運営するSNS「mixi」は、2007年7月末段階でユーザー数が1110万人。人が12人集まれば、1人はmixiユーザーというわけだ。ユーザーのアクティブ率(ログイン間隔が3日以内)は約62%と高く、2007年4月から6月の月間平均ページビューは117.5億に達した。日記だけでも4億件以上に上るなど、蓄積するデータ量も莫大。2004年3月のサービス開始から、わずか3年半で現在の巨大コミュニティーへと発展したのだ。 ミクシィは、「LAMP(OSのLinux、WebサーバのApache、DBMSのMySQL、開発言語のPerl、PHP、Python)」と呼ばれるWebシステム向けの標準的なオープンソースソフトウェア(以下、OSS)でシステムを自社開発し、安価なPCサーバを1000台以上連ねる超分散構成でmixiのサービスを支えている(広告配信など周辺機能では
http://martinfowler.com/bliki/Transactionless.html 2007/3/18 (更新:Bill Caputoからも経験談をいただいた) 数年前にeBayで働く友人たちと話していたときのことだ。 大規模サイトで使われる技術の話を聞くのはいつも楽しいが、特に興味深かったのが、eBayでは滅多にデータベーストランザクションを使用しないという話だった。 トランザクションがない環境というのは驚くべきことではないだろうか。 データベースを扱うときにトランザクションを使うのはごくごく一般的なことだ。 多くの人にとって(私もそうだが)トランザクションはデータベースを使う利点のひとつだ。 eBayがトランザクションを使わないのは、あのような規模ではパフォーマンスに影響が出てしまうからだというものだった。 eBayではデータをいくつもの物理的データベースにパーテショ
印刷する メールで送る テキスト HTML 電子書籍 PDF ダウンロード テキスト 電子書籍 PDF クリップした記事をMyページから読むことができます LAMPやLAPPといった言葉が示しているように、オープンソースソフトウェア(OSS)での代表的なリレーショナルデータベース管理システム(RDBMS)といえば、「MySQL」と「PostgreSQL」だ。この2つのRDBMSは同等であるかのように思われているが、しかしPostgreSQLのユーザー団体「日本PostgreSQLユーザ会」で理事長を務める片岡裕生氏によれば、「PostgreSQLはあまり信用されていない」ということがあるそうだ。 「十分にチューニングされたMySQLとチューニングしていないPostgreSQLを比較したり、反対にチューニングされたPostgreSQLとチューニングしていないMySQLを比較したり、あるいは比
2007年1月に、MySQL ABは新しいストレージエンジン※である「Falcon」のアルファ版をリリースした。Falconは、現在広く使われているストレージエンジン「InnoDB」に代わる選択肢のひとつとして期待されている。本稿は、このFalconの技術的な特徴について解説する。 ※テーブルの種類のこと。MySQLでは、InnoDBやMyISAMなど、さまざまな種類のテーブルがあり、テーブル単位でどれを使うか選択できる。 Falconの概要 - InnoDBと比較する Falconは、リレーショナルデータベース(RDBMS)界の権威であるJim Starkey氏と、彼の妻であるAnn Harrison氏を中心に開発が進められている。Jim Starkey氏はInterbaseの生みの親であり、またAnn Harrison氏とともにFirebirdのメインコミッタとしても活躍している。彼ら
オープンソースの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
RDBMSデータの管理アプリケーションにExecute Queryがある。MySQL AdministratorやpgAdmin IIIなどとは異なり、データベースに依存しない管理ツールだ。Javaで開発されたRDBMS操作ユーティリティで、さまざまなデータベースに対してSQLクエリの実行やデータベースのインポート/エクスポートなどが可能という特徴をもつ。ここでは同様のアプリケーションとして、Eclipse IDEを使って開発された「Eclipse SQL Explorer」を紹介したい。 Eclipse SQL ExplorerはJDBCを通じてデータベースの閲覧やクエリ操作を行うためのユーティリティツール。GNU LESSER GENERAL PUBLIC LICENSE Version 2.1のもとで公開されているオープンソースソフトウェアで、執筆現在での最新版は8月30日(米国時間
EclipseにSQLクライアント機能を追加するプラグイン『Eclipse SQL Explorer』 2006年09月05日- Eclipse SQL Explorer Eclipse SQL Explorer is a thin SQL client that allows you to query and browse any JDBC compliant database. It supports plugins with specialized functionality for individual databases (Oracle, DB2 and MySQL) and can be extended to include specialized support for other databases.EclipseにSQLクライアント機能を追加するプラグイン『Eclips
データモデリングでは、複合キーに代わって単一項目の代理キー(サロゲートキー)を導入することがある。これは「モデリング上のテクニックのひとつ」ではあるが「モデリングのスタイル(基本方針)」とみなすべきではない。その根拠を説明しよう。 まず、倉庫が複数あるとして、倉庫にはさまざまな商品が保管されるとする。それぞれの商品は倉庫毎の特定の棚に保管される(つまり、商品と倉庫の組み合わせで棚が決まる)ことになっているとする(在庫管理では典型的な業務要件だ)。この関係をデータモデルで表すとモデル1のようになる。横浜第1倉庫でA01の棚に保管されることになっている商品100の現在庫が250個であることが示されている。 このモデルをサロゲートキーにこだわって変形するとモデル2のようになる。 2つのモデルの形式上の違いはどこにあるのだろう。モデル1では、倉庫コード、棚記号、品番が一次識別子として置かれているゆ
SQL Developer Oracle SQL Developer is a free, integrated development environment that simplifies the development and management of Oracle Database in both traditional and Cloud deployments. SQL Developer offers complete end-to-end development of your PL/SQL applications, a worksheet for running queries and scripts, a DBA console for managing the database, a reports interface, a complete data model
梅田さんから「シリコンバレー精神」の献本をいただきました(ありがとうございます)。 それで、このエントリは書評ではなくて、ここからインスパイアーされた話。 結論から先に言えば、「EXITの前後でストレージ・エンジンに関わる技術に注目すると、その会社の実態に迫りやすい」という仮説。 EXITとは、ものすごくおおざっぱに言えば、会社を上場すること。 つまり、創業者の私物であったベンチャー企業が社会の公器になること。社会がその会社と契約を交わすこと。「これこれのことを責任持ってやってくれるなら、それなりの金を渡すよ」 その契約の代理人となるのが、日本では株式市場しかない。それに対しシリコンバレーでは、もちろん市場も機動的だけどそれ以外にも、大企業による買収とか、すでに公開している企業との合併とかいろいろな代理人がいる。 多くの場合創業者は会社に残るのだろうが、その役割の中に完全に変化する部分があ
あくまで憶測で仮説でしかないんですが。 MySQL のストレージエンジンのうち代表的な二つ、MyISAM と InnoDB はよく MyISAM: Read は速いけどテーブルロックのため並行性が低い。運用が簡単。 InnoDB: MyISAM より Read は遅いけど並行性が高い 。行レベルロックなので。あとトランザクションや外部キー制約。運用が MyISAM よりちょっとめんどくさい。 という区別がされます。ここから転じて、 MyISAM は参照系クエリが大部分を占める場合に適用すると良い。例えば blog アプリケーションとか。 InnoDB は更新系クエリが多い場合に適用すると良い。 と言わたりします。実践ハイパフォーマンスMySQL でも第2章 ストレージエンジン(テーブル型) P.30 に アプリケーションでトランザクションを使用する必要がなく、主に SELECT または I
【MySQLウォッチ】第28回 MySQL 5.1期待のクラスタリング機能:ITpro 数カ月前にMySQL 5.1 GA版 のリリース見通しを5月と記述したが,残念ながら下半期に突入した現在もBata版にとどまっている。バージョン5.0から5.1へのアップは,番号としてはポイント以下のマイナー・バージョンアップだ。しかし,非常に大きな期待を持って待っているユーザーも多いだろう。それは,MySQL 5.1 からMySQL Clusterがストレージ対応になるからだ。 MySQL 5.1 からMySQL Clusterがストレージ対応だそうで、その概要説明。 MySQL Clusterとは、レプリケーションを行わず、複数のマシンがマスター/スレーブとなり、複数のマシンで1つのストレージを実現できる仕組みのようです。 MySQL4.1/5.0 においてもこの機能は使えたけどメモリを使ってデータ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く