タグ

データベースとプログラミングに関するwkubotaのブックマーク (3)

  • データベースの値をちょっとだけ書き換えたら検索に数十分かかる様になって障害になった裏話 - STORES Product Blog

    はじめに 2024年1月にリテール(ネットショップ・レジ)部門からサービス(予約)部門に異動になった @ucks です。 異動してからはスマートリストという機能の開発を行っていて、5月6日に無事リリースできたのと、開発途中で障害に至ってしまった部分があるので、裏側を少し紹介しようかなと思います。 はじめに スマートリストとは スマートリストの設計 検索の仕様変更 高負荷時のハンドリング そして障害へ 見逃した点 DBの実行計画確認時の見逃し 動作確認時の漏れ 監視先の漏れ ログの損失 おわりに スマートリストとは スマートリストの開発についての話を行う前に、まずはスマートリストについて簡単に説明しておきます。 スマートリストとは、特定の条件の顧客をラベリングする機能です。 早い話、最終予約日がいつ、予約回数が何回以上等の顧客の検索条件を保存しておいて、閲覧時にラベリングして、視認しやすくし

    データベースの値をちょっとだけ書き換えたら検索に数十分かかる様になって障害になった裏話 - STORES Product Blog
  • 現場で役立つシステム設計の原則・データベースの設計 - ROBOT PAYMENT TECH-BLOG

    こんにちは!株式会社ROBOT PAYMENTの林です。 弊社の請求管理ロボシステムの機能がどんどん増えていて、成長しています。今後機能の開発またはメンテナンスのために、「現場で役立つシステム設計の原則」のを読んで、輪読会を引き続き開催しています。前回は「現場で役立つシステム設計の原則」のことを紹介しましたが、今回もそのの中に印象が残る感想を共有いたします。 データベース設計が悪いとプログラムの変更が大変になる プログラム開発を行う際には、データベースを利用することが避けられません。しかしながら、設計が不適切なデータベースを利用すると、以下のような問題が発生しやすくなります。 - データの重複が発生しやすく、データの取得が混乱する - カラムの用途が分かりにくく、理解に時間がかかる - テーブル間の関係性が分かりにくく、参照が困難 このような問題のあるデータベースを利用すると、データの

    現場で役立つシステム設計の原則・データベースの設計 - ROBOT PAYMENT TECH-BLOG
  • データベースと向き合う決意 | フューチャー技術ブログ

    秋のブログ週間の9目のエントリーになります。この企画もこんなに書く人が出てくるように育っていいですね。 「中間層を増やして柔軟性を高めるのがソフトウェアの歴史」 これは大学時代に2つ上の先輩が言っていた言葉です。例えばマシン語を直接書くのではなく、アセンブラで書けば、変換(コンパイル)の手間はかかりますが、他のCPUへの移植はしやすくなります。高級アセンブラと名高いC言語を使えばさらに移植性は上がります。C言語で書かれたVMを使う言語、例えばJavaPythonRubyなんかはさらに移植性は上がります。 ストレージもそうです。最終的にストレージはビット列を保存するものですが、それにOSのファイルシステムというレイヤーがあり、そこにスキーマで管理されたデータを入れるDBMSが乗っかり、SQLなどの問い合わせ言語でデータ取得できるようにします。DBMSを挟むことで、レプリケーションでバッ

    データベースと向き合う決意 | フューチャー技術ブログ
  • 1