タグ

sqlに関するwindscapeのブックマーク (23)

  • レプリケーションが追いつかないときに試すこと - Hatak::Techlog

    MySQL Casual Advent Calendar 2011” 7 日目を担当させていただく、hatak (@hisashi) です。 普段はモバイルゲームのインフラをメインにみているのですが、今回はそんな業務で経験したことを基に記事を書かせていただきます。 カジュアルすぎる内容かもしれませんが、お付き合いいただければと思います。 MySQL のレプリケーション MySQL のレプリケーションは、安定稼働やバックアップ、負荷分散などの目的に利用できる優れた機能です。 bin-log (バイナリログ) を利用して Master サーバから Slave サーバに更新を伝播させ、データの複製を行います。Slave サーバでは、2 つのスレッドが動作しています。 IO_THREAD – Master から送られてきたデータを受け取り、relay-log (リレーログ) として書き出す SQ

    windscape
    windscape 2012/01/11
    "レプリケーションで送られてくるクエリの流量が多すぎる場合、つまり Master の更新が激しすぎて追いつかないケースでは、そもそも Master での更新を止めてしまうという方法があります。"
  • SQL Server の初回データベースバックアップとログの切り捨てについて - Windows Live

    SQL Server のデータベースバックアップですが、完全バックアップではトランザクションログの切り捨てはされません。 トランザクションログの切り捨てを行うためには、トランザクションログのバックアップまたは、復旧モードを [単純] に 設定する必要があります。 ただし例外が一つだけあり、初回のデータベースバックアップ時にはトランザクションログが切り捨てられるようです。 まずはデータを挿入して、トランザクションログが使用されている状態にしてみました。 – トランザクションログの使用状況の取得 – DECLARE @logspace TABLE( DatabaseName sysname, LogSize int, LogSpaceUsed int, Status int ) INSERT INTO @logspace EXEC (‘DBCC SQLPERF(”LOGSPACE”)’)SEL

    SQL Server の初回データベースバックアップとログの切り捨てについて - Windows Live
  • SQL Serverへの勘違い トランザクションログの圧縮について | Jumboのブログ!

    たわいのない事をメモ的に残す日記のような技術ブログです。 お役に立つかは自信がありません。 ここの内容を少しずつホームページに反映していきたいと思います << July 2011 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 >> 私は仕事柄、データベースは基的にORACLEを使います。だからSQL Serverを格的に使ったのが今回のTFSで初めてと言うマイクロソフトには大きな声で言えない元MVPです。 で、何を勘違いしていたかと言うとトランザクションログについてです。 WSSとTFSでしか使っていないデータベースなので毎日完全バックアップを行っています。当然、完全バックアップを行えばトランザクションログはコミットされてバックアップ後からのログを採取し

  • SQLのイメージと他の言語のイメージ - SQLer 生島勘富 のブログ

    Twitterで検索したりすると、SQLが分からないという人が相も変わらず非常に多い。おそらく、分からないという人は文法から入っているよね、いや、ほぼ間違いない。しかし、遠回りに見えてもイメージから入るべきです。 初めのうちは、AccessなどGUISQLが書けるツールを利用して、FROM句だけを徹底的にやってみてはどうかと思う。 SQL以外の言語はボトムアップ できない人のほとんどは、文法を元にバラして考えているから出来ないし、理解に時間が掛かる。他の言語をやった後に、文法から理解しようとすると、あまりのギャップに苦労することになる。挫折する人のほとんどが、そこで挫折してしまうようです。 他の言語は、プラモデルを組み立てるかのごとく作っていきますから、ある程度の規模になると設計書が必要であったりします。SQL以外の言語をやっているときは積み上げ型(ボトムアップ)の思考回路になっています

    SQLのイメージと他の言語のイメージ - SQLer 生島勘富 のブログ
  • リンク サーバー (データベース エンジン) - SQL Server

    適用対象: SQL ServerAzure SQL Managed Instance リンク サーバーを使用すると、SQL Server データベース エンジンおよび Azure SQL Managed Instance では、リモート データ ソースからデータを読み取ったり、SQL Server のインスタンスの外部にあるリモート データベース サーバー (たとえば、OLE DB データ ソース) に対してコマンドを実行したりすることができます。 通常、リンク サーバーは、SQL Server の別のインスタンスまたは別のデータベース製品 (Oracle など) のテーブルを含んだ Transact-SQL ステートメントをデータベース エンジンから実行できるように構成されます。 サードパーティのデータベース プロバイダーや Azure Cosmos DB など、さまざまな種類の OLE

    リンク サーバー (データベース エンジン) - SQL Server
  • 最終回 治療としてのパフォーマンスチューニング―システムの病気はどう治す?(1) | gihyo.jp

    前回のおさらい&今回の概要 前回では、ユーザから受け取ったSQLに対して、DBMSがどのような手順を踏んでデータを取り出す(または更新する)か、という一連の流れを解説しました。今回は、そこから一歩進んで、実際にシステムに性能問題が発生したとき、どのように対処するか、という実践的なところに踏み込んで解説したいと思います。 前回の内容を前提とするものではありませんが、オプティマイザを中心とするクエリ評価エンジンの機能については、知っていたほうが理解しやすいでしょう。忘れてしまったという方は、第4回(1)で簡単におさらいしてください。 パフォーマンスチューニングは医療に近い 筆者は、仕事でパフォーマンスチューニングを引き受けることがよくあります。性能試験の一環として遅延が発生した処理のチューニングを行うこともあれば、すでにカットオーバーされて運用に入っているシステムが遅延を起こして、お祭りの会場

    最終回 治療としてのパフォーマンスチューニング―システムの病気はどう治す?(1) | gihyo.jp
  • https://blogs.oracle.com/oracle4engineer/post/column/technical/026176.html

  • SQL Serverのインデックス設計基準

    RDBMSのボトルネックは99%ディスクI/Oにある。CPUや物理メモリに比べて、ハードディスクの速度はかなり遅い。気が遠くなるぐらい遅い。インデックスを効果的に設計すれば劇的にディスクI/Oコストを減らすことができる。 インデックスって何だ?まず簡単に基礎知識。インデックスには、クラスタ化インデックスと非クラスタ化インデックスがある。 大雑把に言えば、クラスタ化インデックスとはレコードデータ自体のディスク上での順序を表す。だから、テーブル毎に一つしか作れない。クラスタ化インデックスの順序が隣接しているという事は、データが物理的に隣接されてディスクに格納されているという事である。 SQL Serverは、データを「ページ」という概念で格納する。I/Oは全てこの8KBのページが最小単位である。レコードをたった一行取得する場合でもページ毎に読み出される。クラスタ化インデックスの順序が近いデータ

    SQL Serverのインデックス設計基準
  • 第4回 クエリ評価エンジンと実行計画―“シェフおまかせ”はいつも美味しいのか(3) | gihyo.jp

    実行計画を取得する対象のクエリは、次のような予約の存在する店舗を選択するSELECT文です。 SELECT shop_name FROM Shops S INNER JOIN Reservations R ON S.shop_id = R.shop_id; 結合のアルゴリズム 一般的に、DBMSが結合を行うアルゴリズムは3種類あります。最も基的でシンプルなのがNested Loopです。片方のテーブルを読み込み、その1つのレコードに対して、結合条件に合致するレコードをもう一方のテーブルから読み込みます。手続き型言語で書くと二重ループで実装するので、この名前があります。 2つ目は、Sort Merge[9]です。結合キー(今のケースでは店舗ID)でレコードをソートしてから、順次アクセスを行って2つのテーブルを結合します。結合の前処理として必ずソートを行うので、そのための領域を必要とします。

    第4回 クエリ評価エンジンと実行計画―“シェフおまかせ”はいつも美味しいのか(3) | gihyo.jp
  • データベース管理者にとって今年の課題とは? これからインパクトがある技術とは? クロスプラットフォームの管理とクラウドでの運用

    データベース管理者にとって今年の課題とは? これからインパクトがある技術とは? クロスプラットフォームの管理とクラウドでの運用 データベース管理者にとって、今年最大の課題は複数のプラットフォームに分散したデータベースの管理。これからの技術でもっともインパクトがあるのは、クラウド対応のデータベース。米エンバカデロ(旧ボーランド)が昨年、1000人以上のデータベース管理者や開発者を対象に行った調査で、このような結果が明らかになりました。 エンバカデロが公開した「Database Trends Survey」は、データベース管理者を中心に1230人以上の回答をまとめたもの。データベース管理者中心の調査はあまり聞いたことがありません。いまデータベース管理者がどのような状況に置かれているのかが分かる資料といえます。一部抜粋して紹介しましょう。 企業の重要なシステムはOracleSQL Server

    データベース管理者にとって今年の課題とは? これからインパクトがある技術とは? クロスプラットフォームの管理とクラウドでの運用
  • DBの「トランザクション分離レベル」が必要な理由  (PostgreSQLで,ファントム・リードを防止すべきサンプル事例) - 主に言語とシステム開発に関して

    データベースには,「トランザクション分離レベル」というものがある。 以下では,それが なぜ必要なのか? デフォルトのレベルでは,どうして駄目なのか? PostgreSQLでは,どうやってレベルを変更・確認するのか? などを取り上げる。 トランザクション分離レベル トランザクション分離レベルとは: 複数のトランザクションが同時に実行された場合に、他のトランザクションからの影響がどのくらい「分離」するか,のレベル。 ANSI規格では,4つのレベルがある。 READ UNCOMMITTED (一番低い) READ COMMITTED REPEATABLE READ SERIALIZABLE(一番高い) 徹底比較!! PostgreSQL vs MySQL 第3回:トランザクションの比較 http://thinkit.co.jp/free/article/060... トランザクション処理に詳しく

    DBの「トランザクション分離レベル」が必要な理由  (PostgreSQLで,ファントム・リードを防止すべきサンプル事例) - 主に言語とシステム開発に関して
  • 日本マイクロソフト

    すべての Microsoft 製品 Global Microsoft 365 Teams Copilot Windows Surface Xbox セール 法人向け サポート ソフトウェア Windows アプリ AI OneDrive Outlook Skype OneNote Microsoft Teams PC とデバイス Xbox を購入する アクセサリ VR & 複合現実 エンタメ Xbox Game Pass Ultimate Xbox Live Gold Xbox とゲーム PC ゲーム Windows ゲーム 映画テレビ番組 法人向け Microsoft Cloud Microsoft Security Azure Dynamics 365 一般法人向け Microsoft 365 Microsoft Industry Microsoft Power Platform W

  • Ruby on RailsでMySQLに画像を格納する - yuumi3のお仕事日記

    訳あって、Ruby on RailsMySQLに画像を格納し使う実験をした。 migrationでの指定 画像を格納するカラムは migration では binary を指定します。ただし、そのままでは 64Kbyteまでしか格納出来ない blob型になってしまいます。これを mediumblob型にするには、 migrationファイルで :limit => (16*1024*1024 - 1) を指定します。 def self.up create_table :table_name do |t| t.binary :column_name, :limit => (16*1024*1024 - 1) t.timestamps end endネットを検索すると、mediumblob指定の為に execute でMySQLSQL文を書くような記事が見つかりますが、そんな面倒はいりません

  • MySQLでSLAVEサーバを作る方法 - sanonosa システム管理コラム集

    今回は、いわゆるMySQLでレプリケーションを行う方法を記してみます。非常に今更感がありますが、自分にとってかゆいところに手が届く文献がなかったので、自分でも一度まとめてみようと思いました。 【MySQLにおけるレプリケーションとは】 MySQLにおけるレプリケーションとは、マスターサーバでの更新情報がほぼリアルタイムにスレーブサーバに同期化される仕組みのことを指します。 マスターサーバ上で更新が起こると、バイナリログ(更新ログとも呼ばれる)に更新情報が記録されていきます。スレーブサーバは随時マスターサーバ上の更新情報を追いかけることでマスターサーバ上のデータをスレーブサーバ上で再現していきます。 レプリケーションにはシングルマスタ構成とマルチマスタ構成があり、通常はシングルマスタ構成を使います。シングルマスタ構成は1台のマスターサーバの下に複数台のスレーブサーバがぶらさがっているイメージ

    MySQLでSLAVEサーバを作る方法 - sanonosa システム管理コラム集
  • DB管理者がいますぐ確認すべき3つの設定

    DB管理者がいますぐ確認すべき3つの設定:真・Dr. K's SQL Serverチューニング研修(4)(1/3 ページ) 管理者の力量があらわれる3つの設定 前回、設定された値を見るだけでDB管理者の力量が見える、ということに触れました。今回も必ず押さえておきたいパラメータを、なぜそのように設定すべきかという理由と併せて解説していきます。 設定すべきポイントは大変シンプルです。 tempdbの数をCPUコア数にあわせよ x64環境なら「メモリ内のページロック指定」を変えよ OLTP環境では、並列処理の最大限度(Max DOP)はCPUコア数の「4分の1」に設定せよ もちろん、これだけ変更すれば、その部分における最低限のチューニングは完了します。しかし1つ上のエンジニアを目指すなら、その理由まできっちり知っておくべきでしょう。その理由を知ることで、監視ツールや動的管理オブジェクトが発する「

    DB管理者がいますぐ確認すべき3つの設定
  • MySQLの複合INDEX - 憂鬱なプログラマの形而上学

    MySQLMySQLの複合インデックスについて。MySQLを使いこなしている人には常識の範疇にはいる知識だと思うのですが、かつての私のように、知らないとドツボにはまるので、ここにまとめておきます。タイトルでどういう内容か、もしかしたら大体、想像がつくかなと思うのですが、MySQLは1つのクエリーで1つのテーブルに対し、1つのインデックスしか機能しないということです。ようするに、あるテーブルに対して、普通に大量のインデックスを張ってもあまり意味がありません。そこで、今回は、最適な複合インデックスはどのようにしてはることができるか考えていこうじゃないか、という趣旨で書いていきたいと思います。まずは分析。テスト環境でインデックスが使われていないSQLを集めるまずは、/etc/my.cnfのパラメータを以下のように設定し、インデックスが使われていないSQLをスロークエリーに吐き出します。 slow

  • Archived MSDN and TechNet Blogs

  • NTTと米EnterpriseDB、PostgreSQLクラスタ技術を開発

    電信電話株式会社(NTT)と米EnterpriseDBは5月19日、トランザクション処理性能をスケールさせるPostgreSQLクラスタ技術「Postgres-XC(eXtensible Cluster)」を共同開発し、オープンソースとして公開した。 従来のオープンソースデータベース(DB)のクラスタ技術では、「DBサーバーを複製してデータ参照性能を向上することはできたが、ノードをまたがったトランザクション管理の仕組みが不十分なため、データ更新性能の向上は困難だった。つまり、データ変更を伴うトランザクションの多い業務アプリケーションでは性能向上に限界があり、クラスタ構成用にアプリケーションの変更や再設計が必要となるケースがあった」(NTT)という。 Postgres-XCでは、DBサーバー間で共通してトランザクションを管理する技術を導入することで、データ更新性能を向上。アプリケーション

  • 【PostgreSQL】チューニングとautovacuum

    PostgreSQL8.3からデフォルトでautovacuumが有効になり、vacuum analyzeとかしなくてもよくなりましたが、8.2までの場合は気にしないといけません。 8.1と8.2の場合はautovacuumの機能を有効にします。 [PostgreSQLウォッチ]第19回 ベータ・リリースを間近に控えたPostgreSQL 8.1 - オープンソース:ITpro 7.4まではcronなどで定期的にvacuumしてあげないといけない。 PostgreSQLのチューニングに関しては、下記記事が分かりやすい。 SQL Power - Tuning PostgreSQLを遅くしている犯人はどこだ?(1/3) - @IT 今までSQL Serverでの開発が多かったで、統計情報に関しては特に気にしていませんでしたが(SQL Serverは統計情報の収集を自動でやってくれる)、統計情報に

  • Microsoft Azure: クラウド コンピューティング サービス

    Azure を探索 Azure について 安全かつ将来を見据えた、オンプレミス、ハイブリッド、マルチクラウド、エッジのクラウド ソリューションについて調べる グローバル インフラストラクチャ 他のどのプロバイダーよりも多くのリージョンを備える持続可能で信頼できるクラウド インフラストラクチャについての詳細情報 クラウドの経済性 Azure の財務上および技術的に重要なガイダンスを利用して、クラウドのビジネス ケースを作成する 顧客イネーブルメント 実績のあるツール、ガイダンス、リソースを使用して、クラウド移行の明確なパスを計画する お客様事例 成功を収めたあらゆる規模と業界の企業によるイノベーションの例を参照する