[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

タグ

dbに関するWackyのブックマーク (381)

  • SQL アンチパターン、落とし穴と転ばぬ先の杖 - yujioramaの日記

    SQLアンチパターン 作者: Bill Karwin,和田卓人,和田省二,児島修出版社/メーカー: オライリージャパン発売日: 2013/01/26メディア: 大型購入: 9人 クリック: 698回この商品を含むブログ (46件) を見る impression 攻撃力高いですね。 普段の仕事ではそんなに複雑な SQL を書くことはほとんど無くなってしまっているのです。 ですが、過去にやってきたことを振り返ると胃が痛くなるような、そんな内容が節々に転がっており、読んでて楽しいです。 「インデックスショットガン」とか「リーダブルパスワード」とか、そんなの自分の目の届く範囲では絶対ないわ―という内容も あったりするんですが、きっと自分は恵まれている。 テクニカルな内容が多いのですけど、これは逆にシステムのほうで都合を悪くしてしまっている例なんだとも思えます。 業務のドメインを正しく表現するのが

    SQL アンチパターン、落とし穴と転ばぬ先の杖 - yujioramaの日記
    Wacky
    Wacky 2013/01/27
  • レプリケーションを使わないMySQLの冗長化

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは、DBMSチームの三谷です。 ヤフーでは多くのサービスでMySQLを利用しています。MySQLはヤフーを支える重要な技術の1つです。 私のチームではヤフーのさまざまなサービスのデータベースを集約して管理・運用しています。 集約することでコストの削減やノウハウの蓄積といった効果を生み出しています。 今回はこの集約環境の冗長化方法についてご紹介します。 集約環境の構成 集約環境ではマスターの冗長化にレプリケーションを利用せず、エンタープライズ向けの共有ストレージを利用したアクティブ・パッシブ型のHA構成を採用しています。 データファイルを共有ストレージに置き、どのマスターサーバーからでも同じデータに対してアクセスできるように

    レプリケーションを使わないMySQLの冗長化
    Wacky
    Wacky 2013/01/14
  • PostgreSQLに興味がある人向けにまとめてみた。|PostgreSQL|お仕事メモ|Pictnotes

    PostgreSQL9.2がでたのと、一部で?またPostgreSQLを使いたいと思ってる人が多くなったとかあるみたいなので 4〜5年触ってなかったか、全然知らない人向けとおさらいとしてまとめてみた。 ざっくり書いてるので、詳しい人からみるとおかしい点もあるかと思いますが、気になった点はより詳しい記事が あると思うので、調べてみてください。 明らかな間違え等々は、修正加筆したいので、コメントか twitterの @itm_kiyoまで、御願いします。 Q. なんて読むの?書くの? A. PostgreSQL(ぽすとぐれすきゅーえる)、PとSQLは大文字。ちなみにMySQL(y以外は大文字)なんで、小文字と大文字の区別をきちんとするとその界隈の人がよろこびます。 でも、「postgres」 とか 、「Postgres」や「ポスグレ」とか書かれてることも多いです。 Q. どのバージョンを使うの

    Wacky
    Wacky 2012/09/16
  • Rails で、Controller に定義されている action を一度に取得する方法はありますか? - QA@IT

    平素よりQA@ITをご利用いただき、誠にありがとうございます。 QA@ITは「質問や回答を『共有』し『編集』していくことでベストなQAを蓄積できる、ITエンジニアのための問題解決コミュニティー」として約7年間運営をしてきました。これまでサービスを続けることができたのは、QA@ITのコンセプトに共感をいただき、適切な質問や回答をお寄せいただいた皆さまのご支援があったからこそと考えております。重ねて御礼申し上げます。 しかしながら、エンジニアの情報入手方法の多様化やQAサービス市場の状況、@ITの今後のメディア運営方針などを検討した結果、2020年2月28日(金)15:00をもちましてQA@ITのサービスを終了することにしました。 これまでご利用をいただきました皆さまには残念なお知らせとなり、誠に心苦しく思っております。何とぞ、ご理解をいただけますと幸いです。 QA@ITの7年間で皆さまの知識

    Rails で、Controller に定義されている action を一度に取得する方法はありますか? - QA@IT
    Wacky
    Wacky 2012/09/13
  • 便利なスクリプト集 MySQL Utilities - rkajiyama’s diary

    実は1.0.0が2010年12月にリリースされていたのに全く知名度の無い"MySQL Utilities"。実は便利な機能が複数用意されているので、スクリプトを手作りしなくても済む可能性大です。またリリースに向けて新たなマイルストーンリリースが出てきたMySQL 5.6でのレプリケーションの追加機能と組み合わせる便利機能もあります。 MySQL UtilitiesはPythonで書かれたスクリプト集で、MySQL Workbenchに同梱されて配布されています。ライセンスは「もちろん」GPLです。2012年7月上旬時点での最新版は1.0.5です。また実行可能なスクリプトの他に、ライブラリとして細かな機能が用意されているため、独自のスクリプト作成にも役立ちます。 起動にはMySQL Workbenchのメニューの【Plugins】から【Start Shell for MySQL Utilit

    便利なスクリプト集 MySQL Utilities - rkajiyama’s diary
  • “ドラゴンクエストXの舞台裏”サーバ・データベース開発のプロが語る、数十万人がいっしょに遊べるゲームができるまで【CEDEC 2012】 - ファミ通.com

    “ドラゴンクエストXの舞台裏”サーバ・データベース開発のプロが語る、数十万人がいっしょに遊べるゲームができるまで【CEDEC 2012】 数十万人の冒険者を支える“バックエンド”とは 2012年8月20日~22日、パシフィコ横浜にて開催されている、日最大のコンピュータエンターテインメント開発者向けカンファレンス“CEDEC2012”。3日目の2012年8月22日に行われた、“ドラゴンクエストXの舞台裏”と題したセッションをリポートしよう。 非常に胸躍るタイトルが付けられたこのセッション。CEDECに訪れたクリエイターたちの興味も高く、立ち見どころか、会場に入りきらないほどの多くの聴衆が詰めかけた。スピーカーは、スクウェア・エニックス開発部 プログラマの森山朋輝氏。森山氏は、「サーバサイドのマニアックなテーマなので、まさかこれほど多くの方が集まるとは……」と驚いた様子を見せつつも、極めて興

    “ドラゴンクエストXの舞台裏”サーバ・データベース開発のプロが語る、数十万人がいっしょに遊べるゲームができるまで【CEDEC 2012】 - ファミ通.com
    Wacky
    Wacky 2012/08/25
  • MySQLのDRBD構成におけるネットワーク遅延の影響について - SH2の日記

    今さらですが、Amazon RDSのマルチAZデプロイメントについて調べていました。マルチAZデプロイメントとは、独立した電源、空調、ネットワーク、セキュリティを備えた物理的に異なるロケーションに対して同期レプリケーションを行うことで、データベースの耐障害性を高める機能です。AZはAvailability Zoneの略です。 異なるロケーションに対する同期レプリケーションと聞くと、性能が出ないのではないかという懸念がどうしても出てきます。そこで、どの程度性能が落ちるものなのか検証を行いました。なお、すでに実際のAmazon RDSを利用して検証を行った方がいらっしゃいましたので、今回は手元の環境を利用して、ネットワーク遅延やMySQLパラメータと性能との関連性を確認していきたいと思います。 Amazon RDS MYSQL Performance Benchmarking - Cloud

    MySQLのDRBD構成におけるネットワーク遅延の影響について - SH2の日記
    Wacky
    Wacky 2012/07/07
  • http://www.2ch-search.net/blog/3

    Wacky
    Wacky 2012/07/07
  • NoSQLデータモデリング技法

    NoSQLデータモデリング技法.markdown #NoSQLデータモデリング技法 原文:NoSQL Data Modeling Techniques « Highly Scalable Blog I translated this article for study. contact matope[dot]ono[gmail] if any problem. NoSQLデータベースはスケーラビリティ、パフォーマンス、一貫性といった様々な非機能要件から比較される。NoSQLのこの側面は実践と理論の両面からよく研究されている。ある種の非機能特性はNoSQLを利用する主な動機であり、NoSQLシステムによく適用されるCAP定理がそうであるように分散システムの基的原則だからだ。一方で、NoSQLデータモデリングはあまり研究されておらず、リレーショナルデータベースに見られるようなシステマティック

    NoSQLデータモデリング技法
    Wacky
    Wacky 2012/04/21
  • 第32回 SQLiteでRDB再入門[その2] | gihyo.jp

    前回紹介したように、しばらくPythonからSQLiteをイジってみたところ、格的なRDBの機能を思ったよりも簡単に使えることがわかりました。そこで、実際にバイナリファイルの依存性情報を扱うためのコードを書いてみることにしました。 ざっと考えて、必要な機能は以下の3つになるでしょう。 ①システム上の全てバイナリファイルの依存性情報を調べる ②その情報をデータベースに登録する ③バイナリファイルや共有ライブラリの名前からデータベースを検索する このうち、①と②は一連の処理なので一つのスクリプト、③は別のスクリプトにしておくのが便利そうです。 もっとも、最終的には2のスクリプトにするにしても、筆者がPythonのオンラインドキュメントを首っぴきでないとコードを書けないレベルなので、もう少し小さな部分から書き出すことにしました。 依存性情報データベースの設計 前回紹介したように、あるバイナリ

    第32回 SQLiteでRDB再入門[その2] | gihyo.jp
    Wacky
    Wacky 2012/04/02
  • AWS-CloudDesignPattern CDP2.0候補

    AWSクラウドデザインパターンとは? AWSクラウドデザインパターン (AWS Cloud Design Pattern, 略してCDPと呼ぶ)とは、AWSクラウドを使ったシステムアーキテクチャ設計を行う際に発生する、典型的な問題とそれに対する解決策・設計方法を、分かりやすく分類して、ノウハウとして利用できるように整理したものである。 これまで多くのクラウドアーキテクト達が発見してきた、もしくは編み出しきた設計・運用のノウハウのうち、クラウド上で利用が可能なものをクラウドデザインのパターンという形式で一覧化し、暗黙知から形式知に変換したものであるといえる。 パターンの中には、クラウドでなくても実現できるもの、今まででも実現されていたものも含まれているが、クラウド上でも今まで通りのアーキテクチャが実現でき、かつクラウドを利用する事で、より安価にそしてより容易に実現できるものは、CDPとして収

    Wacky
    Wacky 2012/03/10
    AWSクラウドデザインパターン (AWS Cloud Design Pattern, 略してCDPと呼ぶ)とは、AWSクラウドを使ったシステムアーキテクチャ設計を行う際に発生する、典型的な問題とそれに対する解決策・設計方法を、分かりやすく分類して、ノ
  • Amazon CTOに聞く、NoSQLデータベース「DynamoDB」がクラウドに何をもたらすのか?

    Amazon Web Serviceが提供する、SSD上に構築された高速でスケーラブルなNoSQLデータベース「Amazon DynamoDB」が、東京データセンターでも利用可能になりました。 DynamoDBは、単にNoSQLの持つ高いスケーラビリティを提供するだけではなく、一貫性の制御が可能で、必要なスループット性能も自由に設定できるなど、従来のNoSQLとは一線を画す高性能を、メンテナンスなどの管理の手間をまったく必要とせずに提供するサービスです(関連記事「Amazonクラウド、SSD上の新NoSQLデータベース「DynamoDB」を公開。性能をダイナミックに上げ下げ可能」)。 このDynamoDBの開発経緯や技術について、Amazonのバイスプレジデント兼最高技術責任者(CTO) ヴァーナー・ボーゲルズ(Werner Vogels)氏に、テレビ会議を通じてインタビューを行いました。

    Amazon CTOに聞く、NoSQLデータベース「DynamoDB」がクラウドに何をもたらすのか?
    Wacky
    Wacky 2012/03/10
  • 分散リアルタイムデータベース「SenseiDB」がオープンソースで公開。LinkedInのインフラとして開発

    テキストなど非構造化データのデータベース機能とサーチエンジン機能を兼ね備えた分散リアルタイムデータベース「SenseiDB」が、オープンソースとして公開されています。 SenseiDBとは先生DBの意味らしく、「Sensei (先生) means teacher or professor in Japanese」と説明があり、ロゴにも「師」の文字が使われています。なぜ先生なのか、その意味について以下のように説明があるのですが…… This name indicates that the system can be used in place of Oracle database in many applications. この名前が示しているのは、このシステムが多くのアプリケーションにおいてOracleデータベースで使われているところで利用可能だということです。 TeacherやProfe

    分散リアルタイムデータベース「SenseiDB」がオープンソースで公開。LinkedInのインフラとして開発
    Wacky
    Wacky 2012/01/25
  • MySQLにおけるレプリケーション遅延の傾向と対策

    レプリケーションはMySQLで最もよく使われる機能のひとつだ。レプリケーションは基的に非同期でデータの複製を行う仕組みになっているのだが、非同期故にどうしても逃れられない問題がある。そのひとつが今回のテーマ、遅延である。というと、MySQLのレプリケーションはすぐに遅延が生じてしまうように感じてしまうかも知れないが、そのようなことはない。ほとんどの場合は即座にスレーブの更新が行われる。 なぜ遅延は発生するのか、どのように遅延が起きていることを調べるのか、どのように回避するのかということをエントリでは解説したい。うまく遅延と付き合って、MySQLのレプリケーションをより快適に運用してもらえればと思う。 そもそも遅延とは何かMySQLのレプリケーションは非同期で行われる。これは準同期でも同じであり、スレーブにおいて更新が起きるのはマスターよりも一瞬遅れてしまう。これは非同期であるが故に逃れ

    MySQLにおけるレプリケーション遅延の傾向と対策
    Wacky
    Wacky 2011/12/22
  • オラクルがNoSQLに本気。エンタープライズ向け「Oracle NoSQL Database 11g」公開。オープンソース版も登場

    米オラクルはエンタープライズ向けNoSQLデータベース「Oracle NoSQL Database 11g」の公開を発表。評価版の無償ダウンロードを開始しました。オープンソースライセンスに基づくコミュニティ版も準備中(10月26日現在、ライセンス承認待ち)とのことです。 Oracle NoSQL Databaseは、同社のキーバリューストアであるOracle Berkeley DB Java Editionをベースに、分散処理機能、ロードバランス、管理機能、マルチノードバックアップ機能などを追加したもの。大規模なデータを高速に扱うことができ、高い可用性とスケーラビリティを実現すると説明されています。 分散キーバリューストアで単一障害点を排除 NoSQL Databaseの基的なアーキテクチャは、プライマリキーのハッシュによって指定されたノードにキー/バリューのペアを書き込む分散キーバリュ

    オラクルがNoSQLに本気。エンタープライズ向け「Oracle NoSQL Database 11g」公開。オープンソース版も登場
    Wacky
    Wacky 2011/10/26
  • DBサーバーの負荷分散

    MySQLアクセスを負荷分散する ユーザーからのアクセス数が非常に多いWebサイトにおいて、MySQLのSLAVEサーバーを複数台並べて負荷分散させるということがよく行われています。ただ、Webアクセスの負荷分散は一般的なテーマなのでいろいろなところで語られているのに対し、DBアクセスの負荷分散というテーマは一般的でないのかあまり語られていないように感じます。 DBアクセスを負荷分散するにあたって一番荒っぽい方法は、Webサーバー上のプログラムの中でどのSLAVEサーバーに接続するかをランダムで決める方法です。ランダムと言っても長時間アクセスしているとほぼ接続先が均等化されるので、一見この方法でも問題ないように見えます。しかしこの方法だと、接続しに行こうとしたSLAVEサーバーが高負荷もしくはサービス停止中であっても構わず接続しに行ってしまうという問題があります。 このような問題を解決する

    Wacky
    Wacky 2011/07/24
  • はじめての MySQL で100万件のデータを管理する時に行ったチューニングまとめ

    MySQL の勉強をせずにフレームワーク等で SQL を書かずに Web サイトを構築していました。データ数も2万件程度でしたので、そこまで困ることはありませんでしたが、今回100万弱の商品データを扱う機会ができたので、MySQL のチューニングや発行する SQL について見直す機会がありました。 この記事では MySQL を高速化するのに行った対策など勉強したものを自分用にメモしておきました。 条件式で比較するカラムにインデックスを使用して高速化 商品コードで存在しない商品を見つけて、商品をDBに登録するという処理を行っている場合、4万件超えたころから処理に2秒以上かかるようになってきます。12万件超えた頃には10秒程度かかるようになってしまいましたが、商品コードのフィールドに対してカラムインデックスを貼ることで0.2秒に短縮することができました。 MySQL のリファレンスにも以下のよ

    Wacky
    Wacky 2011/07/24
  • Debian(Squeeze) + IronPythonでMySQLとSQL Serverに接続する

    DebianからMonoでMySQLSQL Serverに接続してみました。 Debian(Squeeze) + MonoでMySQLに接続する Debian(Squeeze) + MonoでSQL Serverに接続する ということは、IronPythonからも簡単に接続できるはず。 まず、IronPythonのインストールを行いました。 Debian(Squeeze)にIronPythonをインストール Debian + IronPythonMySQLに接続 Debian(Squeeze) + MonoでMySQLに接続する ここでやったようにdllを登録して、MySql.Data名前空間が使えるようにしておきます。 動作するサンプルはこんな感じになりました。 #!/usr/bin/ipy # -*- coding:utf-8 -*- # MySQL接続サンプル # clrをインポ

    Debian(Squeeze) + IronPythonでMySQLとSQL Serverに接続する
    Wacky
    Wacky 2011/07/24
    DebianからMonoでMySQLやSQL Serverに接続してみました。
  • データベースの内部動作を知る

    SQLのプログラミングは奥が深い。特にパフォーマンスの観点から、そう言えるだろう。 みなさんご承知の通り、同じ結果を出すプログラムでも、SQLの書き方次第で処理時間に何倍もの差が生じ得る。効率の悪いSQLを書いてしまう原因は、多くの場合、リレーショナルデータベースの内部動作やアプリケーションに関する理解不足である。両者をよく知った上で最適なSQLを書けるようになることは、システムエンジニアとしての重要なスキルの一つである。 特集『基礎から理解するデータベースのしくみ』では、リレーショナルデータベースの内部動作について、基的な部分を分かりやすく解説している。SQLプログラミングに役立つことはもちろん、SQLチューニングやデータベース設計のための基礎知識としても不可欠だ。 イントロダクション ブラックボックスのままでいいの? Part 1:SQL文はどのように実行されるのか SQL実行までの

    データベースの内部動作を知る
    Wacky
    Wacky 2011/07/03
  • NoSQLとしてMySQLを使うDeNAが、memcachedよりも高速な75万クエリ/秒を実現

    モバゲーで知られるDeNAは、バックエンドデータベースにNoSQLを使っていません。なぜか? それはMySQL/InnoDB 5.1の環境で秒間75万クエリという、多くのNoSQLでも実現できないような高性能を実現しているから。DeNAの松信嘉範(まつのぶよしのり)氏は、自身のブログにこんな内容のエントリ「Using MySQL as a NoSQL - A story for exceeding 750,000 qps on a commodity server」(英語)をボストしています。 Yoshinori Matsunobu's blog: Using MySQL as a NoSQL - A story for exceeding 750,000 qps on a commodity server 松信氏が指摘するように、大規模なネットサービスを提供している企業の多くは分散環境で

    NoSQLとしてMySQLを使うDeNAが、memcachedよりも高速な75万クエリ/秒を実現
    Wacky
    Wacky 2011/04/20
    MySQLのSQLレイヤが非常にコストの高いものであり、それをスキップすることが確実に性能向上につながることをはっきりと示しています