タグ

データベースに関するohsugaのブックマーク (119)

  • MySQL Clusterソースコード探検隊!

    これまで「MySQL Clusterの進化とその構造について」および「NDBカーネルブロックの種類」について説明した。今日はその続きとしてMySQL Clusterのソースコードについて紹介しようと思う。シグナルを交換し合うマルチプルステートマシンは間違いなくこれからの時代にフィットするアーキテクチャなので、MySQL Clusterに興味を持たれた方が「膨大なMySQL Clusterのソースコードを探検する場合にどの入り口から入ればいいのか」ということを判断する一助になればと思う。とりとめなく書いてるのであんまりまとまってないかも知れないが、その点は容赦して頂きたい。 まず、ソースコードの入手方法であるが、これは最新のソースツリーをBazaarで入手する方法と、MySQLのWebページからダウンロードする方法の2つがある。Bazaarで入手するには、次のコマンドを実行すれば良い。(Ba

    MySQL Clusterソースコード探検隊!
  • MySQL Clusterカーネルの中身を覗いてみよう。

    MySQL Clusterのデータノードであるndbd(もしくはndbmtd)プロセスは、内部的にはマルチプルステートマシン(ブロック)がシグナル(もしくはメッセージ)を交換するという構造になっており、高い同時実行性を実現しているということについては前回述べた通りである。今日は、ndbd内部にどのようなカーネルブロックが存在するかということについて大まかに説明しよう。前回の話を踏まえて読んで頂ければ、何となくイメージだけでも掴めるのではないかと思う。まずは次の絵を見て頂きたい。これは俺の脳内から引っ張り出したndbdの構造のイメージ図である。 矢印はブロック同士の相関関係(シグナルの送受信など)を示すのだが、この絵に描かれているものは非常に省略されたものであり、実際にはもっと複雑に絡み合っているのだということを覚えておいて欲しい。例えばQMGRやDBDICTといったブロックは、他のブロック

    MySQL Clusterカーネルの中身を覗いてみよう。
  • MySQL Cluster進化の歴史

    MySQL Cluster開発者の一人であるFrazer Clement氏がその歴史についてとても興味深いエントリを自身のブログで綴っているのだが、いかんせん英語の長文で日人には辛いかも知れないので今日はその日語訳を皆さんにも紹介しようと思う。進化の歴史とその結果生じた構造を知ることにより、MySQL Clusterの仕組みに興味を持って頂けると幸いである。(わかり辛いところにはところどころ訳者による注釈を入れてある。ただし翻訳は結構大ざっぱなので、英語が達者であれば細かいニュアンスなどはオリジナルのエントリを参照して頂きたい。なお、日語訳をすることに関してはFrazer氏の了解を得ているのであしからず。) NDBMySQL Clusterの略称。元々はNetwork DBという名称であった。)の開発の正確な歴史について、きっと他の誰かのほうが上手く解説できると思うのだが、限られて

    MySQL Cluster進化の歴史
  • IBM DB2の新クラスタは、Oracle RACと同じ「シェアードディスク・アーキテクチャ」採用

    IBM Press room - 2009-10-09 IBM pureScale Technology Redefines Transaction Processing Economics - United States データベースを複数サーバからなるクラスタ構成にすることで性能向上をはかるスケールアウトのアーキテクチャには、大きく分けて「シェアードディスク・アーキテクチャ」と「シェアードナッシング・アーキテクチャ」の2つの方式があります。 シェアードディスク・アーキテクチャでは、複数のサーバが1つのディスクを共有するため高可用性を実現しやすい一方、サーバ間でデータ整合性のための情報を共有する必要があり、サーバが増えるごとに情報共有のオーバーヘッドが大きくなるという課題を抱えています。 シェアードナッシング・アーキテクチャではサーバ間の情報共有が不要でスケーラビリティに優れる一方で、デ

    IBM DB2の新クラスタは、Oracle RACと同じ「シェアードディスク・アーキテクチャ」採用
  • [速報]サンの27年間の歴史にさよなら。SPARC、Java、MySQLはオラクルが引き継ぐ。米Oracle OpenWorld基調講演 - Publickey

    [速報]サンの27年間の歴史にさよなら。SPARC、JavaMySQLはオラクルが引き継ぐ。米Oracle OpenWorld基調講演 サンフランシスコで開催されている米オラクルのOracle OpenWorld 2009。初日となる10月11日(日時間10月12日午前)に行われた基調講演には、サン・マイクロシステムズ会長 スコット・マクニーリ氏が登場。1982年に創業された同社の27年間の歴史を振り返るシーンで幕が開けました。ライブストリーミング配信された内容を基に紹介します。 マクニーリ氏は、「オラクルカラーに近い色に合わせてきたんだ」と、赤い服で登場。サン・マイクロシステムズは27年間イノベーションを続けてきたと、まもなくオラクルによる買収が完了する見通しの同社の歴史をやや感傷的に振り返ります。リストの1番にあがったのは、最初のオープンソースとなったNFS。

    [速報]サンの27年間の歴史にさよなら。SPARC、Java、MySQLはオラクルが引き継ぐ。米Oracle OpenWorld基調講演 - Publickey
  • AndroidのNFC機能でFeliCaの読み書きをする | −ゆめログ− | ゆめみスタッフブログ

  • 新・たけぞう瀕死の日記

    ■ [Hibernate]HibernateでOracle 11g JBoss 5.0.1のJPAでOracle 11gを使おうと思ったら、なにやらJBossの起動時にエラーが出ます。Oracle 11gはサポートしていないとかなんとか。ググると以下のような感じでpersistence.xmlで明示的にOracle 10g用のDialectを指定すればいいらしいです。<?xml version="1.0" encoding="UTF-8"?> <persistence> <persistence-unit name="ship"> <jta-data-source>java:/oracle-ds</jta-data-source> <properties> <property name="hibernate.dialect" value="org.hibernate.dialect.Ora

  • Scala-dbc による DB 操作 - select 文の実行 - なんとなくな Developer のメモ

    以前から、Scala には DB アクセス用の API が用意されているが(lib/scala-dbc.jar)、情報が少なくドキュメント等で使い方を紹介されているのを見たことが無い。 ということで、前から気になっていたので試しに使ってみた。 簡単に使ってみた限りでは、PostgreSQL 用の Vendor クラスしか用意されていない等、洗練されていない部分も多く、未完成の印象が強い。(dbc2 があるようで、見た感じはそちらの方が使い易そうな印象) 今のところ、使いこなすにはソースを参照するしか無さそうだが、暗黙の型変換(Implicit Conversions)等を理解していないと読み解くのが困難だと思う。 今回、使用した環境は以下の通り。 Scala 2.7.5 Select 文の実行 今回は以下のような MySQL 上のテーブルの全レコードを出力してみることにする。 custom

    Scala-dbc による DB 操作 - select 文の実行 - なんとなくな Developer のメモ
    ohsuga
    ohsuga 2009/08/31
    scalaからDB操作のサンプル
  • 知られざる「マルチテナントアーキテクチャ」(3)~スキーマとメタデータの謎 - Publickey

    セールスフォースが採用しているマルチテナントアーキテクチャでは、すべてのユーザーが同一データベース、同一スキーマを共有しています。 では、個別に入力項目を増やすようなスキーマの変更を伴うアプリケーションのカスタマイズや、新たなテーブルを作成してそこに独自データを保存するようなアプリケーションの新規作成はできないのか? といえば、そんなことはなく、セールスフォースが提供するプラットフォームの上で、自由に項目の追加や新しいテーブルの作成が可能です。 全ユーザーでスキーマを共有しながら、しかし個別のカスタマイズを許容する。この一見矛盾する要件を、セールスフォースはどのように実現しているのでしょうか? (エントリは「知られざる『マルチテナントアーキテクチャ』(2)~スケーラビリティのカギは組織ID」からの続きです。) 公開されているスキーマを見てみる ユーザーがスキーマを変更したり、新規テーブル

    知られざる「マルチテナントアーキテクチャ」(3)~スキーマとメタデータの謎 - Publickey
    ohsuga
    ohsuga 2009/08/27
    セールスフォースがどのようにしてユーザー指定の不定形データを扱っているか
  • SSDに最適化したデータベース「RethinkDB」、ロックもログも使わずにトランザクション実現

    SSDに最適化したアーキテクチャで開発中のRethinkDBはトランザクションの基となるACID性を備えているにもかかわらず、これまでのリレーショナルデータベースと比べて優れた機能を実現しようとしているようです。同社のWebサイトで解説している内容を基に、紹介していきましょう。 まず基的な特長として、RethinkDBMySQLのストレージエンジンと互換性を持つデータベースエンジンで、MySQLのストレージエンジンを入れ替えることで、アプリケーションには何の変更もせずに使い始められるとのこと。 ロックフリー トランザクションを実現している一方で、ロックは発生しないとのこと。更新や削除をしようとしているデータに対しても安全に読み出しが可能。 オンラインで実行可能な管理機能 データベース利用中でも性能に影響を与えずに、バックアップ、スキーマの変更、ガベージコレクションなどを実行可能。My

    SSDに最適化したデータベース「RethinkDB」、ロックもログも使わずにトランザクション実現
  • Mitsukuni Sato on about.me

    Mitsukuni SatoSoftware Engineer and Web Developer in 東京, 日 I am a software engineer and web developer currently living in Tokyo, Japan. My interests range from cycling to Motorbike. I am also interested in programming, outdoors, and web development. You can click the button above to read my blog. If you’d like to get in touch, feel free to say hello through any of the social links below.

    Mitsukuni Sato on about.me
  • Mitsukuni Sato on about.me

    Mitsukuni SatoSoftware Engineer and Web Developer in 東京, 日 I am a software engineer and web developer currently living in Tokyo, Japan. My interests range from cycling to Motorbike. I am also interested in programming, outdoors, and web development. You can click the button above to read my blog. If you’d like to get in touch, feel free to say hello through any of the social links below.

    Mitsukuni Sato on about.me
  • mysql と drizzle の負荷テストツール「skyload」が凄い! - kazuhoのメモ置き場

    tmaesakaさんがやってくれました。 ずいぶん前からSQLのベンチマークを測定するのに使いやすいプログラムないかなーと思ってました。個人的にはmysqlslapというのを使ってたのですが、幾らか気に入らない所があったりコマンドラインオプションが複雑で毎回 --help を読んだりしていました。余計な機能なんかなくて、指定したSQLを高速にくりかえしてくれる物が欲しいなぁって思ってたんです。 とあるIRCでこの前、tmaesakaさんから「いま作ってる」という話を聞いて、いろいろ要望を言ってたんですが、ついさっきチュートリアルが公開されました。速いw 名前はskyload。とても小さく、実装コードだと800行程度です。しかもオプションが少ないので使い方が単純です。試しに適当な INSERT の速度を測ってみました。 $ skyload --server=localhost --mysql

    mysql と drizzle の負荷テストツール「skyload」が凄い! - kazuhoのメモ置き場
  • [MySQL] INFORMATION_SCHEMA から動的にテーブルを作るテストケースが動かなくて、はまってた件 - kazuhoのメモ置き場

    lower_case_table_names=2 の環境のみ (= Win32, OSX) の話なんですが。大文字を含む名前をもつテーブルの INFORMATION_SCHEMA を読んじゃうと、以後 mysqld を再起動するまで同名の CREATE TABLE できなくなるという... バグとしては5月に報告されていたらしく (MySQL Bugs: #44738: fill_schema_table_from_frm opens tables without lowercasing table name; ログ見てると対応素早い \^o^/ )、mysql 6.0 のツリーでは直ってるらしい。早く 5.1 にも下りてこないかなぁ。 mysql> create table FOO (id int unsigned not null); Query OK, 0 rows affected

    [MySQL] INFORMATION_SCHEMA から動的にテーブルを作るテストケースが動かなくて、はまってた件 - kazuhoのメモ置き場
    ohsuga
    ohsuga 2009/07/06
    MySQL5.1で『lower_case_table_names=2 の環境のみ (= Win32, OSX) の話なんですが。大文字を含む名前をもつテーブルの INFORMATION_SCHEMA を読んじゃうと、以後 mysqld を再起動するまで同名の CREATE TABLE できなくなる』バグ。6.0では修正済み
  • The Art of Work:MySQL InnoDB Pluginのデータ圧縮機能 性能編 - SH2の日記

    MySQL InnoDB Pluginのデータ圧縮機能の続きです。前回はInnoDB Pluginの独自機能であるデータ圧縮の仕組みを解説し、Wikipedia語版のデータが約半分にまで圧縮されることを確認しました。今回はデータ圧縮によって性能がどのように変化するかを、実際にベンチマーク試験を行って見ていきます。 試験の方針 データ圧縮による性能への影響は、以下の二点が考えられます。 メリット:データサイズが小さくなるため、ディスクI/Oが減る デメリット:圧縮・展開の処理が行われるため、CPU負荷が高くなる そこで、これらの特徴がよく分かるように試験パターンを工夫します。Wikipedia語版のデータはInnoDB上でおよそ5GBありますが、まず狭い範囲に絞って読み取り処理を行うことでディスクI/Oがあまり発生しないようにします。これでCPU負荷の傾向を確認することができます。次

    The Art of Work:MySQL InnoDB Pluginのデータ圧縮機能 性能編 - SH2の日記
  • PostgreSQL 8.4

    PostgreSQLがメジャーバージョンアップして8.4がリリースされましたね。 http://www.postgresql.org/about/news.1108 今回実装されたディスク先読みの機能(effective_io_concurrency)が、今後さらに良くなっていくことを期待しています。 さて、しばらく滞っていたドキュメントの修正もしなくては… Database tearoom

    PostgreSQL 8.4
  • Key Valueストアがリレーショナルデータベースを駆逐するシナリオの妥当性:Azureの鼓動:オルタナティブ・ブログ

    WEB+DB PRESSの特集がkey-valueストア入門だったり、日経コンピュータでも 「キー・バリュー型データストア開発者が大集合した夜」という記事を掲載していたり 最近何かと「Key Valueストア」という用語を目にする機会が多いのではなかろうか。 クラウドを技術的側面で語る際に、仮想化などと並んで欠かせない要素となっている ような印象を受けるかもしれないが、実際のところどうなのだろうか? このKey Valueストアの盛り上がりを後押ししているのがクラウドコンピューティング ブームであることは間違いない。ただ、Key Valueストア自体はとりたてて新しい技術 ではなく、Oracleが買収したことで一時期話題になったBerkrey DBなど、古くから 存在していたものもある。ではなぜクラウドだからKey Valueストアという流れが できるのだろうか。3つの流れをみていきたい。

    Key Valueストアがリレーショナルデータベースを駆逐するシナリオの妥当性:Azureの鼓動:オルタナティブ・ブログ
  • MySQL InnoDB Pluginのデータ圧縮機能 - SH2の日記

    InnoDB Pluginの面白い機能の一つに、データ圧縮機能があります。今回はその仕組みと効果について見ていきたいと思います。まずはグラフをご覧ください。 これはWikipedia語版のデータベースをダウンロードし、記事文の格納されているtextテーブルをMySQL 5.1+InnoDB Plugin 1.0の環境にロードしたものです。 元テキスト:今回利用したデータは2009/06/21版のものです(jawiki-20090621-pages-articles.xml.bz2)。元テキストはここからXml2sqlを用いてタブ区切りテキストを取り出したものを用いています。このファイルには1,167,411件の記事が格納されており、容量は3,436MBとなっています。 元テキスト gzip:元テキストをgzipコマンドで圧縮したものです。 MyISAM:記事をMyISAMのテーブルに

    MySQL InnoDB Pluginのデータ圧縮機能 - SH2の日記
  • MySQL 5.1.35リリース - SH2の日記

    出ました。5.1.35では47個の不具合が修正されています。 今回は3行クラッシャー、Bug#44151のご紹介です。 mysql> use information_schema Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed mysql> handler PROCESSLIST open; Query OK, 0 rows affected (0.00 sec) mysql> handler PROCESSLIST read first; ERROR 2013 (HY000): Lost connection to MySQL server du

    MySQL 5.1.35リリース - SH2の日記
  • perl-DBD-MySQL 3.0007-2.el5でハマった件 - SH2の日記

    Perl DBIのプログラムを書いていて、CentOS 5.3付属のDBD::mysqlをそのまま使ったら困ったという話です。 再現ケース 動く例です。 $sth = $dbh->prepare_cached('select ename from emp where empno = ?'); $sth->bind_param(1, 7788, SQL_INTEGER); $sth->execute(); 動かない例です。bind_param()の引数を7788から-7788にしています。 $sth = $dbh->prepare_cached('select ename from emp where empno = ?'); $sth->bind_param(1, -7788, SQL_INTEGER); $sth->execute(); すると以下のようなエラーメッセージが出力され、SQ

    perl-DBD-MySQL 3.0007-2.el5でハマった件 - SH2の日記