タグ

databaseに関するpenpen-0704のブックマーク (11)

  • 型キャストの場所のせいで、秒で終わっていたクエリに1時間超かかるようになってしまった話 - SmartHR Tech Blog

    SmartHRで届出書類という機能を担当しているプロダクトエンジニアのsato-sと申します。 今日は、以前私が調査にとても苦労したパフォーマンス上の問題の話を紹介したいと思います。 TL;DR PostgreSQLのアップグレードを実施した アップグレード後、今までは問題のなかった特定のクエリの実行に1時間超かかり、DBCPU使用率がピッタリ100%に張り付くようになった 色々調査した結果、PostgreSQL上の型キャストの場所のせいで、良くないクエリプランが選択されることが原因だった 型キャストの場所には気をつけよう PostgreSQLのアップグレードと挫折 SmartHRでは基的にWebアプリケーションのデータベースとしてGoogle CloudのCloudSQLによって提供されるPostgreSQLを利用しています。 私の担当している届出書類機能では、利用中のPostgre

    型キャストの場所のせいで、秒で終わっていたクエリに1時間超かかるようになってしまった話 - SmartHR Tech Blog
  • ANAシステム障害の発端はDB両系ダウン、原因特定へ「書き込み処理を絞り込み中」

    全日空輸(ANA)は2023年4月4日、4月3日午後に発生した旅客系基幹システム「able-D」の障害について記者会見を開いた。この中で同社は、障害の発端はable-Dに連なるデータベースが2系統同時にダウンしたことだと明らかにした。同社ではソフトウエアに何らかの原因があるとみて、引き続き原因の特定を進めている。 続報(2023年4月7日) ANAシステム障害の原因判明、DB並列参照時にパッチ未適用の既知バグでフリーズ ANAではable-Dについて、障害対策の観点で同一構成の「A系」「B系」の2系統を用意しており、番系と待機系を定期的に入れ替えている。またA系、B系のそれぞれについて、「DB1」「DB2」という2系統のデータベースを接続しており、DB1とDB2は常にデータが同期されている。 今回のシステム障害が発生した4月3日の午後2時16分ごろ、番運用中だったA系の基幹システムに

    ANAシステム障害の発端はDB両系ダウン、原因特定へ「書き込み処理を絞り込み中」
  • 自作RDBMSやろうぜ!(Zenn出張版)

    Disclamer 記事は自作DBMSやろうぜ! のページの 22/05/27 JST 22:38 の時点での内容をZenn記事向けに修正して作成したものです 元コンテンツのライセンスについては以下をご参照ください LICENCE 元コンテンツの方は更新が継続されていますので、よろしければそちらもご覧ください この記事の目的 RDBMS(いわゆるリレーショナルデータベース)というものはプログラミング言語の処理系や、OSなどと同様に、世の中で広く使われているソフトウェアであるにも関わらず、いざ自作してみようと思うと日語で記述されている必要な情報・情報源がまとまったサイトやブログ記事がないことに気づきました そこで、叩き台として、筆者および数名のコミッタで開発している自作RDBMSである SamehadaDB が軌道に乗るまでの経験をベースに、自作RDBMSに関する情報をある程度整理して書

    自作RDBMSやろうぜ!(Zenn出張版)
  • 決済システムの残高管理周りの DB 設計と戦略 - カンムテックブログ

    エンジニアの佐野です。今日はカンムの決済システムでユーザの残高管理をどうやっているかについて書きます。 カンムの製品であるバンドルカードはプリペイド方式のカードです。ユーザによる入金、店舗での利用、運営事由の操作などによりユーザの残高が増減します。このような残高の管理について単純に考えると user_id と balance と updated_at あたりをもったテーブルを用意して balance と updated_at を更新していく方法があるかもしれません。しかしながらカンムでは残高を管理するテーブルを持たず、これらイベントの履歴のみで残高を管理しています。以下、記事ではこれらユーザの残高が増減するイベントのことをトランザクションと呼びます。ここでは DB の Transaction Processing を意味しません。 記事のポイントは 残高を管理をするテーブルは作らず、ト

    決済システムの残高管理周りの DB 設計と戦略 - カンムテックブログ
  • データベースを遅くするための8つの方法

    はじめに Twitterのタイムラインを見ていたらバッチ系のプログラムで逐次コミットをやめて一括コミットにしたら爆速になったというのを見ました。当たり前でしょ、と思ったけど確かに知らなければ分からないよね、と思って主に初心者向けにRDBを扱うときの注意点をまとめてみました。 プログラミングテクニック的なところからテーブル設計くらいの範疇でDBチューニングとかは入ってないです。 自分の経験的にOracleをベースに書いていますが、他のRDBでも特に変わらないレベルの粒度だと思います。 大量の逐次コミットをする バッチアプリケーションでDBにデータをインサートすると言うのはかなり一般的な処理です。しかしデータ量が少ない時はともかく大量のインサートを逐次コミットで処理するとめちゃくちゃ遅くなります。数倍から十数倍遅くなることもあるので、10分程度のバッチが1時間越えに化けることもザラにあるので原

    データベースを遅くするための8つの方法
  • 注目すべき最新データベース技術(パート1)

    この記事は、著者の許可を得て配信しています。 https://blog.pragmaticengineer.com/the-developer-culture-test/ 私はデータベースの大ファンで、いわゆる「NoSQL」データベースに関するを書いたり、影響力の高い分散型データベースRiakに携わったりと、技術職として最も実りある年のいくつかを過ごし、昨年は楽しみのためにPurpleというデータベースを構築したりもしました。 当然のことながら、私はTwitterやReddit、HackerNewsなどをさらっと読む場合、データベースやDB関連ツールの新しくて刺激的な開発に常に気にして見ています。今回の記事では、私が興味をそそられる最近登場した3つのデータベース技術についてお話したいと思います。 TileDB Materialize Prisma 後半では次の3つについてお話したいと思っ

    注目すべき最新データベース技術(パート1)
  • mysqlをdisる会 - Qiita

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

    mysqlをdisる会 - Qiita
    penpen-0704
    penpen-0704 2017/03/15
    ブクマ数が256
  • Twitterが、Cassandraの本採用を断念。「いまは切り替えの時期ではない」

    「いまは新しい技術への大規模な移行をする時期ではないと確信している」。Twitterは、サービスの核となるツイートを保存するデータベースを、MySQLによる大規模分散データベースから、NoSQLデータベースであるCassandraへ移行しようとしていました。しかしCassandraへの移行作業を中止し、引き続きMySQLでの運用を継続すると、Twitter Engineering Blogへのエントリ「Cassandra at Twitter Today」で明らかにしました。 これは戦略の変更だ Twitterは利用者からのツイートを、Scalaによって独自開発したミドルウェア「Gizzard」とMySQL、そしてmemcachedを用いた大規模分散データベースに保存しています。 しかしこうした複雑なシステムによる運用は非常に手間がかかり、人的コストを中心としたコストの増加が非常に大きくな

    Twitterが、Cassandraの本採用を断念。「いまは切り替えの時期ではない」
  • HDDをSSDにしたらデータベースはどれだけ速くなるか? オラクルと富士通が実験

    リレーショナルデータベースを利用する際には、高い性能を引き出すために物理設計をし、スキーマを工夫し、パラメータのチューニングを行うことがつねに行われてきました。 性能のボトルネックはたいがいHDDにあり、いかにそのボトルネックを回避するかがチューニングのポイントですが、最近では性能向上のための武器として、HDDよりもずっとアクセス性能の高いSSDが注目されています。SSDはHDDと置き換えるだけで、アプリケーションにまったく手を加えずに性能向上を可能にする手段として非常に魅力的です。 HDDの代わりにSSDを利用したら、リレーショナルデータベースの性能はどれだけ向上するのでしょうか? オラクルと富士通が共同検証を行い、その結果をホワイトペーパーとして先週発表しました(参考「日オラクルと富士通 フラッシュ技術活用によるデータベース高速化を共同検証」)。 ホワイトペーパーでは、HDDの代わり

    HDDをSSDにしたらデータベースはどれだけ速くなるか? オラクルと富士通が実験
  • SQLインジェクションとは何か?その正体とクラッキング対策。

    世間では、今Gumblar祭りが勃発中であり、SQLインジェクションがニュースに出てくることは少なくなったが、だからと言ってSQLインジェクションの脅威がなくなったわけではない。SQLインジェクションはGumblarを仕掛ける手段としても利用されることがあり、Webアプリケーションを提供する全ての人にとって、対策を講じなければいけない驚異であることに変わりはない。SQLインジェクションという攻撃手法が認識され、大いに悪用されているにも係わらず、その質に迫って解説している記事は少ないように思う。従来のWeb屋だけでなく、今やアプリケーション開発の主戦場はWebであると言っても過言ではなく、そういう意味ではSQLインジェクションについて理解することは、全てのプログラマにとっての嗜みであると言えるだろう。 というわけで、今日は改めてSQLインジェクションについて語ってみようと思う。 SQLイン

    SQLインジェクションとは何か?その正体とクラッキング対策。
  • 社会実情データ図録 Honkawa Data Tribune

    最も高く、7割近くが病院で亡くなる日韓国。一方、オランダやノルウェーでは病院死は3割以下。新型コロナの影響だけでなく、日を含む多くの国で病院死は低下傾向。

  • 1