タグ

DBに関するmaganebaのブックマーク (6)

  • NoSQLデータベースを40種類以上リストアップ、キーバリュー型にもいろいろある

    Webスケールのデータを扱うためにさまざまなデータベースが登場してきている、ということを昨日のエントリ「データベースは目的別に使い分けるべし」で紹介しました。 特にリレーショナルモデルをベースとしない、非SQL系(NoSQL)と呼ばれるさまざまな種類のデータベースが登場してきています。非SQL系のデータベースは以前からオブジェクトデータベースやドキュメントデータベース、階層型データベースなどが存在していましたが、最近注目されているのがキーバリュー型データストアと呼ばれるデータベース。 ブログ「High Scalability」にポストされたエントリ「A Yes for a NoSQL Taxonomy」では、これら非SQL系のデータベースを詳細に9分類し、それぞれの分類に属するデータベースをリストアップしています(基になったのは「NoSQL is a Horseless Carriage」

    NoSQLデータベースを40種類以上リストアップ、キーバリュー型にもいろいろある
  • Google App Engine入門:Datastore上で「ユニーク制限」を実現する方法

    Google App Engine のDatastoreには、通常のリレーショナルデータベースと比べた時にいくつかの制限があるが、その一つが「このプロパティの値は常にユニークでなければならない」という指定(ユニーク制限)ができないことである。 Invoice IDのように自動生成するものであれば、アプリケーション側でなんとかすることも簡単だが、メールアドレスやハンドル名など、ユーザーが入力するものになると、ユニークであることをきちんと判定した上でEntityを作ることが必要になる。 もちろん、単純に「有無をチェックして、なければ作る」というプログラムではスレッド間の競合に対応できないので、そこはトランザクションを使ってアトミックに処理をする必要がある。 App Engine上でトランザクションを実現するには、エンティティグループという仕組みを使って行うが、気をつけなければいけないのは、エン

  • 実録、ほぼ無停止なMySQLのフェイルオーバ (動画もあるよ) - (ひ)メモ

    レプリケーションしてるMySQLで、マスタやスレーブが障害停止した場合のリカバリプラン でも掲げたゴールである、「マスタが落ちてもぐーすか寝ていられるようにしたい」がほぼできたので、ほとんどサービスが停止することなく、フェイルオーバする様をスクリーンキャストに収めました。 埋め込みプレイヤーだと、小さくてわからないと思うので、リンク直接でみてください。 http://www.irori.org/pub/mysql-mm.mov 登場するホスト 登場するホストは2台、db901db902です。 最初は、db901が更新系クエリを受けるプライマリでdb900の浮動IPアドレスを持っています。 画面分割 画面は5分割しています。 左上 = 「select sysdate(),@@server_id」をdb900に対して(sleep 1しながら)延々と実行しまくりんぐ 右上 = ping -n

    実録、ほぼ無停止なMySQLのフェイルオーバ (動画もあるよ) - (ひ)メモ
  • リアルタイムにMySQLの監視を行う·Jet Profiler for MySQL MOONGIFT

    Jet Profiler for MySQLWindows/Mac OSX/Linux向けのフリーウェア。Webアプリケーションの開発でMySQLを採用するケースが多くなっている。そのため手軽に使える監視ツールが必要になっているのではないだろうか。数値で出るものも良いが、グラフ化されて見られるともっと良い。 MySQLのステータス管理に そんなデータベース管理者の方にお勧めできるMySQL監視ソフトウェアがJet Profiler for MySQLだ。マルチプラットフォームに対応したローカルアプリケーションであり、データがビジュアル化されて見られるので状況の把握が容易になるはずだ。 例えばクエリーの実行状況によってパフォーマンスがどの程度出ているのか、リアルタイムに反映されていく。最も良く使われているデータベースやテーブル、実行速度の遅いクエリーか否かの診断もできる。グラフは多数用意さ

    リアルタイムにMySQLの監視を行う·Jet Profiler for MySQL MOONGIFT
  • なぜTwitterは低遅延のままスケールできたのか 秒間120万つぶやきを処理、Twitterシステムの“今” − @IT

    ユーザー同士のつながりを元に時系列に140文字のメッセージを20個ほど表示する――。Twitterのサービスは、文字にしてしまうと実にシンプルだが、背後には非常に大きな技術的チャレンジが横たわっている。つぶやき数は月間10億件を突破、Twitterを流れるメッセージ数は秒間120万にも達し、ユーザー同士のつながりを表すソーシャル・グラフですらメモリに載る量を超えている。途方もないスケールのデータをつないでいるにも関わらず、0.1秒以下でWebページの表示を完了させなければならない。そのために各データストレージは1~5ms程度で応答しなければならない。 Twitterのリスト機能の実装でプロジェクトリーダーを務めたこともあるNick Kallen氏が来日し、2010年4月19日から2日間の予定で開催中の「QCon Tokyo 2010」で基調講演を行った。「Data Architecture

  • データベースは目的別に使い分けるべし

    元マイクロソフトのSQL Server開発チームの一員であり、その後マイクロソフトのデータセンターのアーキテクトとして活躍。昨年アマゾンに移籍して、現在はAmazon Web Servicesの上級エンジニアであるJames Hamilton氏が、自身のブログの「One Size Does Not Fit All」というエントリで、リレーショナルデータベースだけにとどまらない幅広いデータベースの種類を4つに分類して紹介しています。 4つの種類とは「機能優先」「スケーラビリティ優先」「シンプル」「目的別」です。 Hamilton氏は、アマゾンがAmazonクラウドでMySQLのサービスを開始したところ、以前から提供していたキーバリュー型データストアの「SimpleDB」は終了するのではないかと心配する声があったことを挙げ、 I can understand why some might co

    データベースは目的別に使い分けるべし
  • 1