タグ

databaseに関するmumumu-tanのブックマーク (34)

  • MySQLレプリケーションを安全に利用するための10のテクニック

    MySQLのレプリケーションは非常に簡単に使える割には応用の幅が広いので非常に人気のある機能の一つである。レプリケーションの応用分野は例えば、 バックアップ 参照系の負荷分散 HA(高可用性) ディザスタリカバリ(サイト間レプリケーション) BI(レポーティングetc) という風にとても多くのバリエーションがある。このブログを読んで頂いている皆さんの中にもレプリケーションを使っている方は多いのではないだろうか。ご覧の通りMySQLのレプリケーション機能はミッションクリティカル分野でも利用されているが、レプリケーションの使い方が適切でないとシステムの安定稼働に支障を来してしまってDBAやシステム管理者の肉体的、精神的負担が増大してしまう。逆にレプリケーションを堅牢に運用することが出来ればマクラを高くして眠れるというものだ。レプリケーションはMySQLの代表的な機能であるので、レプリケーション

    MySQLレプリケーションを安全に利用するための10のテクニック
  • エンタープライズ:特集:第2回 実用サンプルコードで理解する「Struts」の基礎 (6/15)

    特集:第2回 実用サンプルコードで理解する「Struts」の基礎 (6/15) DBCPを使ったデータベースへの書き込み データベースへの書き込み処理には、「オープンソースで作るJava+DB」で説明したのと同じ方法でもよいだろう。 しかしここでは、より効率的な方法として、Jakarta Projectの「Commons DBCP」を利用した方法を挙げてみよう。このCommons DBCPは、データベースへのコネクションプーリングをサポートした汎用的なものであり、データベースアクセスのためのコンポーネントだ。 コネクションプーリングとは、データベースへの接続を幾つか持続しておき、使い回すことを意味する。一般的に、データベースアプリケーションでは、ユーザーがWebページにアクセスして何か処理をするたびに、「データベースに接続」→「データベース処理」→「データベースから切断」という流れになるが

    mumumu-tan
    mumumu-tan 2012/02/16
    akarta Projectの「Commons DBCP」を利用した方法を挙げてみよう。このCommons DBCPは、データベースへのコネクションプーリングをサポートした汎用的なものであり、データベースアクセスのためのコンポーネントだ。  コネクショ
  • 匿名による告発「MongoDBは使ってはいけない」 | gihyo.jp

    「PASTEBIN」というコンソールの出力やエラーログ、ソースコードなどを張り付けて共有するWebサイトがあり、そこに投稿された内容が議論を巻き起こしました。「⁠Don't use MongoDB」というタイトルが付けられた文章には、ヘビーにMongoDBを利用しているユーザからの辛辣(しんらつ)な批判が綴(つづ)られていました。 告発者はプロジェクトにて数千万件ものユーザ管理にMongoDBを利用しており、これまで長い間10gen社(MongoDBの開発元)から最高レベルの)有償サポートを受けていたため黙っていたが、少しでも多くの人に警鐘を鳴らすべく立ち上がったそうです。MongoDBの扱いやすさやスキーマフリーなモデル、豊富な実績などに一定の評価をしつつも、大規模な環境で実際に動かさずに判断するのは時に重大な問題となり、MongoDBにはそれが向いていないと言い切っています。 具体的に

    匿名による告発「MongoDBは使ってはいけない」 | gihyo.jp
  • 第25回 MongoDB最前線! 効果的なシャーディングとバックアップ | gihyo.jp

    「MongoDB」は、スキーマレスであることやスケールアウトが容易なこと、さらにレプリケーションのしくみが用意されているといった特徴から急速に人気を集めている、オープンソースのドキュメント指向データベースです。第21回で、MongoDBの基的なしくみや開発時における注意点などをサイバーエージェント技術者に解説していただきました。今回は後編ということで、運用時におけるポイントについて伺っていきます。 Ameba PicoやピグライフでMongoDBを実運用 サイバーエージェントにおいて、MongoDBはすでにいくつかのプロジェクトで活用されていますが、その1つにアメリカ向けのアメーバピグであるAmeba Picoが挙げられます。松下雅和氏は2011年1月に入社し、このAmeba Picoの運用にアサインされたことでMongoDBを使うことになったと話します。 「前職ではMongoDBを使

  • 自己結合の使い方

    はじめに SQLが提供する結合演算には、その特徴に応じて内部結合、外部結合、クロス結合などさまざまな名前が与えられています。普通、これらの結合の多くは、異なるテーブルまたはビューを対象として行われます。しかし、SQLは結合が同一のテーブルまたはビューに適用されることを禁止していません。同一のテーブルを対象に行う結合を「自己結合(self join)」と呼びます。自己結合は、使いこなせば非常に便利な技術ですが、動作がイメージしにくいため敬遠されがちです。そこで稿では、この自己結合の便利さを例題を通して学び、その動作を分かりやすく解説します。 自己結合を理解することは、実務上のテクニックを身につける以外に、もう一つ利点があります。それは、集合指向(set-oriented)というSQLの重要な特徴を理解できることです。オブジェクト指向言語が世界をオブジェクトとして表現するように、SQLは世界

    自己結合の使い方
  • Mongo DBを半年運用してみた

    MongoDBの簡単な概要と、Ameba PicoでMongoDBを半年運用した中で発生した障害など。

    Mongo DBを半年運用してみた
  • iBATISを使ったO/RマッピングによるDBアクセスの実例

    はじめに iBATISはSQLを利用することに注力したフレームワークです。高機能なO/Rマッピングフレームワークに比べて簡単に理解でき、レガシーなJDBC、ResultSetを使ったプログラミングから簡単に乗り換えられます。 特にSQLを多用する人には使いやすいフレームワークです。 SQLは使いたいがJDBCは低レベルすぎる 高機能なO/Rマッピングフレームワークは難しすぎる ソースコードからSQLを分離したいが動的なSQLの実装も必要 このようなケースで、iBATISは特に有効です。 記事では、たくさんのサンプルソースを解説することで、「iBATISを使えばこんな風に書ける」ということが分かるようにしています。環境設定や、設定ファイルについての細かい説明は簡略化してあります。 対象読者 Javaの基をマスターしている人 SQL文を理解している人 必要な環境 iBATIS 2.3.0、

    iBATISを使ったO/RマッピングによるDBアクセスの実例
  • ソーシャルゲームのためのデータベース設計

    ・データベース的な観点でのソーシャルゲームの特徴 ・データモデル ・ソーシャルゲームに従来型RDBMSを使うべきか、�流行りのNoSQLで行くべきか ・負荷対策 (アーキテクチャ面) ・負荷対策 (ツール面) ・インフラエンジニアのキャリアについて

    ソーシャルゲームのためのデータベース設計
  • 優れたMySQL DBAを見分ける27+3の質問

    「優れたPerlプログラマを見分ける27の質問」の日語訳というエントリが人気だったので、MySQL版をやってみた。題して、「優れたMySQL DBAを見分ける27+3の質問(漢バージョン)」。腕に覚えのある人はぜひ試してみて欲しい。 MySQLのサーバープロセスはいくつある? rootユーザーのパスワードを忘れたときの回復手順 MySQLをオンラインバックアップする方法を3つ。(もっとでも可) InnoDBのデータファイルが作成可能な場所はどこか。 InnoDBのデフォルトの分離レベルは? ネクストキーロックについて説明せよ。 ロールバックセグメントにはどのようなデータが格納されるか? InnoDBでデッドロックが発生したときの挙動、および詳細な状態を確認する方法。 MyISAMがサポートしている特殊なインデックス2つ。 MySQLにおけるテーブル1行あたりの最大サイズ。 構成可能なレプ

    優れたMySQL DBAを見分ける27+3の質問
  • MySQLのINSERT/UPDATE時におこる不整合対策 - LukeSilvia’s diary

    先日、作っているアプリケーションにバグが発生しました。バグの内容は次のようなものでした。 同時に存在してはいけないはずのデータが、DB に存在する 整合性のチェックはアプリケーションレベルで行っている 一意制約のような単純なものではないので、アプリケーションレベルで実装 整合性のチェックロジックは正しい これに対し、バグは次のような状況で発生したと仮説を立てました。 ユーザがレコードを一括登録しようとする 登録ボタンを押したがレスポンスが遅い この間、整合性チェックが走っている ユーザはもう一度登録ボタンを押した 2回目の登録の整合性チェックが走り始める 1回目の登録の整合性チェックが完了、INSERTが始まる 2回目の登録の整合性チェックが完了、INSERTが始まる 2回目の登録の整合性チェックの間、DBにはまだ1回目の登録によるINSERTが実行されていないので、チェックを通過した 結

    MySQLのINSERT/UPDATE時におこる不整合対策 - LukeSilvia’s diary
  • MongoDB + node.js で作るソーシャルゲーム

    The document discusses using node.js with MongoDB. It includes examples of basic CRUD operations using the node.js driver and MongoDB native driver. It also discusses ORM libraries like Mongoose that provide an abstraction layer. The document contains code samples for performing inserts, updates, finds and counting documents using the native node.js driver and Mongoose.Read less

    MongoDB + node.js で作るソーシャルゲーム
  • リンギオ - MongoDB で Sharding する

    Sharding とは、 データを複数のサーバーに分割して保持することです。 これによりデータを小さい塊毎に処理することで処理性能の向上が見込めます。 最小構成は、3コンポーネント4台になります。 1. 2つ以上のshardサーバー : 実際にデータが入ります 2. 1つ以上のconfigサーバー : sharding のメタ情報が格納されます 3. mongos ルーティングプロセス : sharding を司ります ということで、まずは shard サーバー を 2 台起動します。 $ bin/mongod --shardsvr --port 27017 --dbpath /var/mongodb/data/s0/ $ bin/mongod --shardsvr --port 27018 --dbpath /var/mongodb/data/s1/ 次に configサーバー を 1

  • NoSQLをRDBの代わりに使うと、どういう恐ろしいことが起こるか。PARTAKEの作者が語る

    データベースの世界でいま注目されているのがNoSQL。特にキーバリュー型データストアは、グーグルのBigTable、FacebookやTwitterが内部で利用しているCassandraやAmazonクラウドが提供しているSimpleDBなど、すでに実際に使われ始めています。 ではそのNoSQLをリレーショナルデータベースの代わりに使ってシステムを構築するとどうなるのか? 身をもって体験したことを記したShinya Kawanaka氏によるプレゼンテーション「間違った方向にCassandraを使ってみた」が公開されています。 NoSQLを用いたシステム構築は、リレーショナルデータベースによる構築どう違うのか? とても分かりやすくまとめられています。ご人の承諾もいただいたので、その内容を紹介しましょう。 NoSQLを使ったときに起こる恐ろしい事例 プレゼンテーションのテーマは「NoSQL

    NoSQLをRDBの代わりに使うと、どういう恐ろしいことが起こるか。PARTAKEの作者が語る
    mumumu-tan
    mumumu-tan 2010/12/21
    最近は NoSQL がパフォーマンスが出ないRDBを代替するものとして、あたかも銀の弾丸であるかのような誤解が広がっているのではないかと思っており(NoSQLを使うほどデータがある人はそんなにいないはずなのに、勉強会など
  • Percona Toolkit

    Comprehensive support to navigate MySQL 5.7 EOL, whether you're looking to upgrade to MySQL 8.0 or stay supported on 5.7.

    Percona Toolkit
    mumumu-tan
    mumumu-tan 2010/12/16
    Most of Maatkit’s functionality is designed for MySQL.  It makes MySQL easier and safer to manage. It provides simple, predictable ways to do things you cannot otherwise do. That’s why Maatkit is now shipping by default with many GNU/Linux distributions such as Debian and CentOS.  You can use
  • Opensource.com

    Guilt is usually considered a negative emotion, but by steering it well, you can achieve surprising success.

    mumumu-tan
    mumumu-tan 2010/12/07
    This storage engine is ideal for applications that process temporary data that is updated rarely but accessed many times. These applications use databases stored in memory to decrease the number of disc operations. An example of such an application is the web-based BitTorrent tracker.
  • 非リレーショナルデータベースを選ぶ(私達がMySQLからMongoDBへ移行した理由) | taro-nishinoの日記 | スラド

    先日のYuval Kogman氏のエッセイ″Why I don't use CouchDB″の私家版和訳(私は略して私訳と呼んでいます)が私の周辺のCouchDBファンに冷や水を浴びせたようです。どうも誤解もあるようで、Yuval Kogman氏は頭からCouchDBを否定しているのではないのです。氏のような一流のPerler(いや、Perlerでなくても)は野心的である反面、非常に現実的です。ですから、現時点においてはCouchDBがかなりスピード面で劣るのであるから、それを補って余りある野心的な(現にロードマップに載せていますよね)フィーチャーを早く見せなさいと、氏は言っているのです。これは叱咤激励でもあると思います。 私はたまたまMongoDBを選びましたが、夢を持ちたい人はCouchDBを選べばいいし、もっと現実路線の人は他のNoSQLデータベースを選べばいいのです。 そんなことよ

  • 大規模SNSのボトルネックとソリューション

    SNSは比較的データアクセスが多いアプリケーションであり、負荷対策が難しい部類に入る。稿では、グリーCTOの藤真樹氏が、GREEというSNSでの経験を基に、SNSの具体的な負荷軽減ソリューションを紹介する。 はじめに 昨今では、地方自治体や企業内でもSNSを導入する動きが活発化しているようです。しかし、SNSは比較的データアクセスが多いアプリケーションであり、負荷対策が難しい部類に入ります。そこで稿では、前回お届けした「大規模SNS実現のためのGREEのアプローチ」の内容からもう一歩踏み込んで、GREEというSNSでの経験を基に、SNSの具体的な負荷軽減ソリューションを紹介します。 SNSのボトルネック 一定以上のユーザー数、データ量、そして機能を持つSNSでは、普通に構築していくと非常に悩ましいボトルネックが2つ顕在化してきます。1つは、「友達の新着」系の情報取得です。もう1つはア

    大規模SNSのボトルネックとソリューション
  • SQL Databases Don't Scale

  • google/protobuf · GitHub

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    google/protobuf · GitHub
    mumumu-tan
    mumumu-tan 2010/11/01
    Protocol Buffers are a way of encoding structured data in an efficient yet extensible format. Google uses Protocol Buffers for almost all of its internal RPC protocols and file formats.
  • CouchDB Implementation

    CouchDB is an Apache OpenSource project. It is Damien Katz's brain child and has a number of very attractive features based on very cool technologies. Such as ... RESTful API Schema-less document store (document in JSON format) Multi-Version-Concurrency-Control model User-defined query structured as map/reduce Incremental Index Update mechanism Multi-Master Replication model Written in Erlang (Erl

    CouchDB Implementation