タグ

MySQLに関するnharukiのブックマーク (31)

  • PostGISとMySQL8のGIS機能の違い - Qiita

    記事はPostgreSQL Advent Calendar 2019の7日目となります。 はじめに 私は普段PostGISを使っていますが、最近MySQL 8.0.xのGIS機能について調査する機会がありました。 記事は筆者が調査の中で気づいた両者の違いをまとめたものです。 PostGISは2.x〜3.x、MySQLは8.0.17を対象としています。 両者は共にOpenGIS1やSQL/MMなどの標準に基づく実装を進めているため共通している部分も多いものの、独自拡張や実装の違いによりいくつかの違いもあります。 記事の目的は両者の優劣をつけることではありません。 両者の違いを理解して、場面に応じた適切な使い方を選択するための一助となることが目的です。 所感 文に入る前に、私の所感を述べておきたいと思います。 まず、普段PostGISを使っている人が、MySQLGIS機能に乗り換える

    PostGISとMySQL8のGIS機能の違い - Qiita
  • MySQLとPostgreSQLコマンド比較表 - Qiita

    \x select * from t; ※mysql同様、1回のクエリだけ\xしたい場合は select * from t \gx psql 9以前の場合はこちら

    MySQLとPostgreSQLコマンド比較表 - Qiita
  • Aurora MySQL のバックアップは本当にそれでいいのだろうか? | CyberAgent Developers Blog

    技術部 サービスリライアビリティグループ(SRG)の長谷川 @rarirureluis です。 #SRG(Service Reliability Group)は、主に弊社メディアサービスのインフラ周りを横断的にサポートしており、既存サービスの改善や新規立ち上げ、OSS貢献などを行っているグループです。 また Amazon Aurora MySQL(以下:Aurora MySQL)の話です。何でこんなに Aurora MySQL に関する記事ばっか書いてるのか僕も分かりません。 前回の Aurora MySQL のアップグレード方法のベストプラクティスはこちらです。 RDS Graviton2 に少ないリスクで切り替える方法を考えてみる【アップグレード編】 | CyberAgent Developers Blog 今回はバックアップについてです。 そのクラスター、間違ったクエリ流したときに

    Aurora MySQL のバックアップは本当にそれでいいのだろうか? | CyberAgent Developers Blog
  • ちょっと待って!Auroraを使う時にMulti-AZが本当に必要ですか?

    ウィスキー、シガー、パイプをこよなく愛する大栗です。 Auroraへ移行するお話を頂くことが増えてきました。そこでAuroraへの移行時における冗長化のポイントを考えてみました。 RDSのSLA定義はMulti-AZが前提である旨を追記しました。 そもそもMulti-AZって? ここではMySQLの場合のMulti-AZについて述べます。 Single-AZでは、以下の問題があります。 耐久性: ストレージボリュームで障害が発生した時には、「最新の復元可能な時刻」以降のデータ更新が失われる。 可用性: ハードウェア障害が発生した時に、インスタンスを再作成するため再接続までの時間が必要になる Auroraを除くRDSではストレージボリュームにEBSと同等のものが使用されているようなので通常のディスクに比べて高い可用性と信頼性を備えています。 補足すると、EBSについての具体的な数字としては「

    ちょっと待って!Auroraを使う時にMulti-AZが本当に必要ですか?
  • MySQL 8.0登場!立ち止まることを知らない進化はこれからも続く。

    ゴールデンウィークはいかがお過ごしされただろうか。今年は天気も良く、行楽日和が続いたように思う。 さて、先日MySQL 8.0が正式にリリースされた。少し時間が経ってしまったが、今回はMySQL 8.0の新機能について紹介したい。コミュニティ版のダウンロードはこちらから可能だ。 ひとつ前の正式バージョンはMySQL 5.7だったのだが、MySQL 8.0は非常に大きなリファクタリングが含まれており、5.x台のバージョン番号を捨て去ろうという話があった。そこで、次のメジャーバージョンは最初の桁を増やすということになったのだが、MySQL 6.0は過去に既に存在し、買収などの騒ぎで開発が頓挫してしまった経緯がある。7.xはMySQL NDB Clusterと被っている。というわけで、5.7の7の部分の次という意味合いもあって、8.0というバージョン番号を引っさげ、満を持しての登場となった。その

    MySQL 8.0登場!立ち止まることを知らない進化はこれからも続く。
  • mysqlをdisる会 - Qiita

    はじめに やあ (´・ω・`) ようこそ、バーボンハウスへ。 このmysqlはサービスだから、まずsystemctl start mysqld して落ち着いて欲しい。 うん、「また」なんだ。済まない。 仏の顔もって言うしね、謝って許してもらおうとも思っていない。 でも、このタイトルを見たとき、君は、きっと言葉では言い表せない 「ときめき」みたいなものを感じてくれたと思う。 殺伐とした世の中で、そういう気持ちを忘れないで欲しい そう思って、この記事をかいたんだ じゃあ、注文を聞こうか。 というわけでmysqlをdisります。disるだけなので内容はありません。いいね? mysql には罠がいっぱい そうなんですよ罠がいっぱいなんですよ奥さん。 いやこれはおそらくmysqlに限った話ではないんですけど例えばこういうの! MySQLのチューニングなんてしたらパフォーマンス落ちるだけだし、デフォル

    mysqlをdisる会 - Qiita
    nharuki
    nharuki 2017/03/16
    大体書いてあることは同意。マジ初回起動前の設定命なのは初見殺しポイント
  • ルーク!MySQLではkamipo TRADITIONALを使え! | おそらくはそれさえも平凡な日々

    よくMySQLはゆるふわだから 値が勝手に切り詰められる エラーが起きずに変な値/日付が入る 不正なスキーマが入ってしまう など言われることがあります。ただそれは、そもそもの設定が悪いのです。(確かに昔デフォルトがゆるふわなのはいけなかったんですが) ということで、データベースには不正な値が入らないように設定はとにかく厳しくしておくのがオススメです。 じゃあどうするか。 MySQLSQL Modeによって、その辺りの制約をコントロールすることができます。以前、MySQLsql-modeで一番厳しいやつはTRADITIONAL、というのを書いたのですが、実はそれだけでは不十分で、TRADITIONAL,NO_AUTO_VALUE_ON_ZERO,ONLY_FULL_GROUP_BYとするのがより安心なようです。 これはkamipoさんに教えてもらいました。 @songmu TRADITI

    ルーク!MySQLではkamipo TRADITIONALを使え! | おそらくはそれさえも平凡な日々
    nharuki
    nharuki 2015/07/16
    カッチカチやで!
  • MySQLパーティショニングの設定、追加、削除、再構成 - Qiita

    まずこんなテーブルを作るとします。ここに毎月10万件以上のレコードが入ってくる予定です。 1レコードが57byteなので、月に5.7Mbyte、プライマリーキーを入れると60Mbyteくらいが入ってきます。 年間にすると720Mbyteなので、まぁデータ量的には余裕だと思うのですが、 100万レコードを超えるとレスポンスが鈍化するという印象があります。 というわけで、MySQLにあるパーティショニング機能を使い、データを振り分けたいと思います。 【参考】DB設計時のサイズ見積もり | よねのはてな テーブル作成 注意する点として、パーティショニングのキーにしたいカラムを、プライマリーキーに含める必要があるようです。 なので、オートインクリメントのカラムがあるテーブルだと辛い。構成を考えなおした方がいいかも。 CREATE TABLE `list_rtx` ( `member_id` var

    MySQLパーティショニングの設定、追加、削除、再構成 - Qiita
  • MySQLレプリケーションをMHAとHAProxyでフェイルオーバさせてみた - Tech-Sketch

    MySQL には標準でレプリケーション機能が組み込まれており、下図の様なシステム構成とすることで、データの冗長化と参照処理の負荷分散を容易に実現できます。この構成では更新処理はマスタサーバで行うことになりますが、 参照処理は全てのサーバに分散して行えます。 ここでサーバの1台が何らかの障害で停止した場合を考えましょう。スレーブサーバの1台が停止した場合、マスタサーバや他のスレーブサーバで参照処理を継続できるため、停止したサーバへクライアントが参照クエリを送信しないように変更する必要はありますが、システム全体に大きな影響を与えません。 一方、マスタサーバが停止した場合、更新処理が停滞して業務継続に影響します。そのためマスタサーバは手厚く監視する必要があり、もしマスタサーバが停止した場合には業務を継続するため以下の作業が必要です。 最も最新に近い更新内容が反映されているスレーブサーバを選択し、

  • 『アメーバピグにおけるDB構成&対応記』

    2ヶ月前にインフルエンザとウィルス性胃腸炎でひどくダメージを受けた増田(@masudaK)です。アメーバピグは2009年2月に始まったサービスで、FLASH・Javaで作られています。そして、データストアにMySQLを用いてます。記事では、わたくしが2年ほど見続けているアメーバピグのDB環境について構成や、日々どのようにして問題と向き合っているかを紹介したいと思います。インフラ寄りの内容が多いため、アプリ寄りの話は弊社生沼の資料を御覧ください。 1. 構成と規模 1.1. 構成 まず構成ですが、読み書きはすべてマスターへ行うようにしています。そのため、スレーブには参照を向けず、ホットスタンバイとして使っています。バージョンに関しては2012年中旬までは5.0を使ってましたが、DC移転にあわせて5.5にあげました。ロック機能を用いたシャード構成をしてまして、2014年3月現在6シャードにな

    『アメーバピグにおけるDB構成&対応記』
  • MySQL ODBCが接続できない!?Windows7 64bitの落とし穴? | INFITH VBA Lab

    おはようございます!INFITH VBA Lab管理人の藤原です。 先日Microsoft OfficeからMySQL ODBCが接続できないという恥ずかしい経験をしましたで今後の戒めのためにメモを残します。 あるシステムをお客様企業までセットアップに訪問した際の事です。システム構成はAccess2007をインターフェースにしてDBMySQLを使ったクライアントサーバ型システムです。 プログラム開発もサクサク進み内部テストもOK。客先と同じWindows7の環境でも問題無し! さて現場に行ってサクっとセットアップするかと意気揚々と向かったのですが思わぬトラブルに遭遇。 テスト接続できるのにOfficeからODBC接続出来ない? ODBCが接続できない!? 何度見直してもデータソースも、サーバーネームも、ユーザーも、パスワードも、どう見ても正しい。 しかもODBCの画面からはテスト接続も問

    MySQL ODBCが接続できない!?Windows7 64bitの落とし穴? | INFITH VBA Lab
    nharuki
    nharuki 2014/01/23
    まじで今しがたはまった出来事orz
  • 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
    nharuki
    nharuki 2012/09/13
    回答が大変わかりやすい!
  • タブUIが便利そうなPHP製MySQL管理ツール「DbNinja」:phpspot開発日誌

    DbNinja | Online MySQL database manager タブUIが便利そうなPHPMySQL管理ツール「DbNinja」。 ブラウザベースのMySQL管理ツールといえばphpMyAdminが定番ですが、DbNinjaはインタフェースが綺麗かつモダンで、タブUIを使ってテーブルを切り替えて便利に使えそうなのが特徴です。 ユーザの追加なんかにしても結構インタフェースが分かりやすくて良い感じです。 SQLはシンタックスハイライトされたりします。 phpMyAdminもいいのですが、「俺はDbNinja派」とかいうとカッコいいかもしれません。 とにかくかなり作りこまれているので一度ためしてみるとよさげです 関連エントリ phpMyAdminクローラーの恐怖 1ファイルで動作する設置が超簡単なphpMyAdmin「Adminer」

  • MySQLでサービス停止のないALTER TABLEの検討 - SH2の日記

    MySQLでテーブルへのカラム追加、インデックス追加やテーブルの再編成などを行うと、その間テーブルに共有ロックがかかってしまいます。そのためこれらのメンテナンス処理は、通常利用者の少ない深夜早朝帯にサービスを止めて実施する必要があります。日はそれを無停止、オンラインのままでできないかという話題です。 基的なアイデア メンテナンス対象の元テーブルをコピーして、作業用の仮テーブルを作ります 仮テーブルに対して、カラム追加などの変更を加えます その間、元テーブルに対して行われる更新処理について差分を記録しておきます 仮テーブルの変更が終わったら、記録しておいた差分データを仮テーブルに反映します 差分データの反映が終わったら、元テーブルと仮テーブルを入れ替えます これと似たようなことを考えた方は結構いらっしゃるのではないでしょうか。ただ、言うは易し、行うは難しです。整合性がきちんと取れるかどう

    MySQLでサービス停止のないALTER TABLEの検討 - SH2の日記
  • ソーシャルゲームのためのMySQL入門その2 | BLOG - DeNA Engineering

    こんにちはこんにちは。11インチMacBook Airが欲しくてたまらないiwanagaです。 前回の記事 が幸いにもご好評を頂けた様で非常にうれしいです。嬉しくなって、ついがんばって第2弾を書いてしまいました。引き続き、ソーシャルゲームでよく使われるテーブルタイプ毎にちょっとしたテクニックを紹介していきます。 今回はちょっとライトな感じ&読み物になってしまっていますが「ユーザID単位で1つだけ持つデータ」と「パラメータなどのマスターデータ」についてご説明したいと思います。ちなみに次回はInnoDBのデータ構造の簡単な説明と複合プライマリーキーのデータについて、その次で紹介し損ねたちょっとマニアックなテクニックや性能管理のための手法を紹介することを予定しています。 その前に。。。 先日行われた JAPAN INNOVATION LEADERS SUMMIT で弊社松信が「ソーシャルゲーム

    ソーシャルゲームのためのMySQL入門その2 | BLOG - DeNA Engineering
  • MySQLパーティショニングでパフォーマンスアップ! | QK

    mysqlには、レンジパーティションってものがありまして、うーなんでしょ?ある規則にしがったデータをおのおののデータファイルに振り分けてくれる機能です。 ・データ領域が分割されるため、大量のデータを処理することによる性能上のボトルネックの発生を抑えられる ・MyISAMなど、テーブルサイズに上限がある場合でもそれ以上のデータを格納することが可能になる といった点です、少ないデータですとこれといった利点はないかと思いますが、数百万規模データですと、このデータ分割が、大きな効果を呼ぶ。。かもしれないですし、そうでないかもしれません(汗 ただ、はっきりといえるのが、ある規則に従ったデータを、SELECTする際にそのSELECTで必要の無いデータまで、mysqlがシークする必要がないっていったところでしょうか?ただし、データをまたぐ検索が発生する場合は、パフォーマンスは非パーティションテーブルと比

    nharuki
    nharuki 2012/06/06
    既存テーブルに対してデータの整合性は保ちつつ後からパーティショニングを有効化することも可能。便利!
  • MySQL 日付別パーティショニングの運用 - 130単位

    MySQL :: MySQL 5.1 リファレンスマニュアル :: 15 パーティショニング http://dev.mysql.com/doc/refman/5.1/ja/partitioning.html 実験的にやってみただけでノウハウとして固まってはいないのですが、現状の知識をまとめてみたいと思います。 前提 MySQL 5.1以降 検証した環境は5.1.47 日付ごとにパーティショニング カラムは一意な"id"と作成日付の"created"があるとする 準備 idとcreatedを複合でプライマリキーにする パーティショニングの条件はプライマリキーに含める必要がある idがAUTO_INCREMENTであればPRIMARY KEY (id, created)の順のみ createdをTO_DAYS()してパーティショニングする 大枠と個別のパーティションの両方でTO_DAYS()す

  • maatkitを一通り使ってみたメモ - はまさき

    #hbstudy11でid:marqsさんがMaatkitに関する発表をしていて,僕も仕事でちょこちょこ使っていたので ダイアリーあたりに書きますね と云ったきり,書く書く詐欺になっていたので,さすがに書こうと思います. 割とみなさん知っているツールだと思うのですが,ウェブ上で日語の情報がなかなか見つからないので,何かのお役に立てればと思います.というか英語読めってことなのかもしれませんが. Mattkit 公式 MySQL Tools and Management Software to Perform System Tasks by Percona Maatkitは「実践ハイパフォーマンスMySQL」の著者であるBaron Scheartzによって作り始められた,MySQLやPostgreSQLのようなオープンソースのデータベースのための高品質なコマンドラインツールです. 実践ハイパ

    maatkitを一通り使ってみたメモ - はまさき
  • MySQL 初めてのチューニング

    PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)Hironobu Suzuki

    MySQL 初めてのチューニング
  • 優れた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の質問