並び順

ブックマーク数

期間指定

  • から
  • まで

121 - 160 件 / 1778件

新着順 人気順

postgresの検索結果121 - 160 件 / 1778件

  • MySQL で使用するメモリサイズの見積もり - 元RX-7乗りの適当な日々

    最近、MySQLのパラメータの調整をする機会があったのですが、特定のパラメータを変更した際に、メモリの消費量にどう影響するのか、というのを調査する際に、インターネッツを彷徨ったところ、サイトによって書いてあることにバラつきがあったので、自分でもまとめてみることにした。 結論から書くと、参考にしたのは以下のオライリーの書籍「MySQLトラブルシューティング」で、記述が一番わかりやすく書かれていた。 このエントリは、この書籍の 「3.9.3 オプションの安全値を計算する」 にて記載がある内容をまとめたものになる。 MySQLトラブルシューティング 作者:Sveta SmirnovaオライリージャパンAmazon 著者について Sveta Smirnova(スヴェータ・スミルノヴァ): Oracle社MySQLサポートグループ・バグ検証グループの主席テクニカルサポートエンジニアとして毎日MySQ

      MySQL で使用するメモリサイズの見積もり - 元RX-7乗りの適当な日々
    • ID生成方法についてあれこれ

      ID生成について聞かれることが多いので、独自の観点でまとめてみます。タイトルは適当です…。 DBはMySQL(InnoDB)を想定しています。あしからず。 ID生成を知りたいなら ID生成に関しては以下の記事がよくまとまっているので参考にしてみてください。値形式など詳しく書かれています。 ID生成大全 Facebook, Twitter, Instagram等がどうやってIDを生成しているのか まとめ ID生成方法 以下のID生成方法は、お手軽に採用しやすいもの順で列挙します。 DB採番/連番型 AUTO_INCREMENT DBのAUTO_INCREMENTで採番する方法。 Pros 数値型で扱える 普通は64ビットの整数型を採用することが多い 単調増加する連番ですので、ソート可能でかつインデックスの空間効率がよい 単調増加するので、キャパシティを予測しやすい 64ビットあればあまり気に

        ID生成方法についてあれこれ
      • スロークエリログをどう使えばいいのかって疑問、全て解決

        これはなに ども、レバテック開発部のもりたです。 今回はMySQLでのスロークエリログについて調査してまとめました。 スロークエリログといえば古くからパフォーマンスチューニングの力強い味方といったふうに語られることも多いですが、最近はクラウドで使える便利なツールも生まれています。この記事ではスロークエリログの一般的な使い方を紹介するとともに、他のツールとの比較や、どんな場面でスロークエリログが役に立つのか、また役に立たない場合はどんなツールを利用することができるのかについてまとめました。 足りないところなどあればおおいにマサカリ投げていただけると幸いです。 記事の流れ 記事の流れ この記事はそこそこ長いので、初めに記事の流れを解説します。適宜読み飛ばしてください。 なぜスロークエリログなのか ここではそもそもスロークエリログをなぜ確認したいのかみたいなところを説明します スロークエリログの

          スロークエリログをどう使えばいいのかって疑問、全て解決
        • 7万人以上のITエンジニアの調査結果、好きな言語は「Rust」、DBは「PostgreSQL」、開発環境はVSCodeを抑えて「Neovim」がトップに。Stack Overflow 2022 Developer Survey

          7万人以上のITエンジニアの調査結果、好きな言語は「Rust」、DBは「PostgreSQL」、開発環境はVSCodeを抑えて「Neovim」がトップに。Stack Overflow 2022 Developer Survey 世界でもっとも大きなITエンジニアのコミュニティサイトの1つである「Stack Overflow」などを運営するStack Overflowは、約7万3000人のITエンジニアにアンケートを行った結果をまとめた「2022 Developer Survey」を発表しました。 The results are in! Our annual developer survey is here with insights from over 73,000 developers. From the most loved and loathed programming langua

            7万人以上のITエンジニアの調査結果、好きな言語は「Rust」、DBは「PostgreSQL」、開発環境はVSCodeを抑えて「Neovim」がトップに。Stack Overflow 2022 Developer Survey
          • idをautoincrementして何が悪いの?

            idをautoincrementしない方が良い理由 こんにちは。株式会社プラハCEOの松原です。 最近プラハチャレンジの参加者とお話している際に 「PKのidはautoincrementするとして...」 とナチュラルにid=autoincrementするものという前提が見えたので、「本当にidをautoincrementしても良いものだろうか?」と気になったことを書いてみようと思います。もしフレームワークが自動的にautoincrementでテーブルを作るからなんとなく使っているという方がいたらご一読いただいた後、それでも連番を使いたい理由があれば教えて欲しいです・・! 不必要に情報を晒すことになる スクレイピングされたり もしも僕が某大手に勤めているエンジニアで「競合サービスAにのってる物件情報、全部コピーして新しいサービス作ろうぜ」と指示されたらですよ?「人としてそれはやっちゃダメで

              idをautoincrementして何が悪いの?
            • MySQLを使っても会社は潰れない

              MySQLを使っても会社は潰れない そんな話は聞いたことがない。AWS Lambdaが再帰実行されて潰れた会社の話は実際に聞いたことがあるが。 つい先日、私が書いた記事がとんでもなく大事になってしまい、大変な賛否を巻き起こした。 まさかこんなに読まれると思っていなかったので、大変驚いたのと同時にインターネッツの恐ろしさを体感した。 その中でも特に物議を醸したのが「MySQLを使うと会社が潰れる」というフレーズだった。 「MySQLを使うと会社が潰れる」とはなんだったのか 私がこのフレーズを選んだ理由は、言うまでもなく単に読者の注意を引く表現を使いたかったからである。 このフレーズがセクションの先頭にあったら、「なにをいってるんだこいつ?」と先を読んでみようという気になると思った。 そして続きを読んでいくと「なんだそういうことか」と意図を汲んで、それで同意するかしないかは人それぞれだろうなと

                MySQLを使っても会社は潰れない
              • サイボウズさんの開運研修(データベース)で話してきました

                2024 ( 30 ) 12月 ( 5 ) 11月 ( 1 ) 9月 ( 4 ) 8月 ( 2 ) 5月 ( 1 ) 4月 ( 3 ) 3月 ( 6 ) 2月 ( 1 ) 1月 ( 7 ) 2023 ( 20 ) 12月 ( 3 ) 11月 ( 3 ) 10月 ( 1 ) 8月 ( 1 ) 5月 ( 2 ) 4月 ( 2 ) 3月 ( 3 ) 2月 ( 5 ) 2022 ( 27 ) 12月 ( 5 ) 10月 ( 1 ) 9月 ( 1 ) 8月 ( 5 ) 7月 ( 4 ) 6月 ( 3 ) 4月 ( 1 ) 3月 ( 3 ) 2月 ( 2 ) 1月 ( 2 ) 2021 ( 22 ) 12月 ( 4 ) 10月 ( 2 ) 9月 ( 6 ) 7月 ( 1 ) 6月 ( 3 ) 5月 ( 3 ) 東京都オープンデータカタログサイトのCSVを使ってLOAD DATA LOCAL INFIL

                • [速報]Google、Amazon Auroraに対抗する高性能DB「AlloyDB for PostgreSQL」発表。通常のPostgreSQLよりOLTPが4倍高速、OLAPが100倍高速と

                  Google Cloudは開催中のイベント「Google I/O 2022」で、PostgreSQLフル互換の高性能な新データベースサービス「AlloyDB for PostgreSQL」のプレビューリリースを発表しました。 Google Cloudは以前からPostgreSQLのマネージドサービス「Cloud SQL for PostgreSQL」を提供しています。今回発表された「AlloyDB for PostgreSQL」は、Googleのクラウドインフラや機械学習の技術を積極的に投入し、より高性能かつミッションクリティカル向けのデータベースサービスとして構築したものです。 AWSと比較するならば、一般用途向けのデータベースサービスである「Amazon RDS」に対抗するのがGoogle Cloudの「Cloud SQL」であり、データベースをクラウドネイティブなアーキテクチャとして

                    [速報]Google、Amazon Auroraに対抗する高性能DB「AlloyDB for PostgreSQL」発表。通常のPostgreSQLよりOLTPが4倍高速、OLAPが100倍高速と
                  • 【Developers Summit 2024フォローアップ】『グランブルーファンタジー』100万行を超える大規模なシステム再構築~10周年のその先へ~

                      【Developers Summit 2024フォローアップ】『グランブルーファンタジー』100万行を超える大規模なシステム再構築~10周年のその先へ~
                    • 顧客が本当に必要だったもの - パフォーマンス改善編 / Make what is needed

                      # 失敗から学ぶRDBの正しい歩き方 - https://amzn.to/4e0CqfH

                        顧客が本当に必要だったもの - パフォーマンス改善編 / Make what is needed
                      • メルカリShops の技術スタック、その後 | メルカリエンジニアリング

                        こんにちは。ソウゾウのSoftware Engineer(CTO)の@suguruです。連載:メルカリShops 開発の裏側 Vol.2の1日目を担当させていただきます。 去年、2021年に開始した メルカリShopsの技術スタック についての記事を書きましたが、今回はリリースまでに採用した技術スタックが、半年通してどのようにアップデートしてきたかを共有したいと思います。 ローンチ時に採用した技術が、実際の運用でどのように変遷したのかを共有することで、技術スタックを考える際の何らかの参考になれば幸いです。 monorepo メルカリShops ではサービスに必要なコードを1つに集約する monorepo を採用しています。リリース後半年たってコード量はかなり増えてきましたが、monorepo に対する満足度は非常に高く、うまく機能しています。 サービス全体の見通しが良くなることと、すべての

                          メルカリShops の技術スタック、その後 | メルカリエンジニアリング
                        • MySQLのSQLクエリチューニングの要所を掴む勉強会を開催しました! - ANDPAD Tech Blog

                          こんにちは!DBREの福間(fkm_y)です。先月、弊社でデータベースの技術顧問をして頂いてる三谷(mita2)さんに開発本部向けの「MySQL SQLチューニング」勉強会を実施していただきました。 今回はMySQLの得意不得意なことの説明やSQLチューニングの流れ、具体的な事例を元にした対応例、また最近話題のHTAPな製品も紹介していただきとても参考になったのでポイントをおさえてレポートをお伝えします! 開催背景 本編 MySQL の得意なこと、苦手なこと データベースのチューニング手段と特徴 SQLチューニングの流れ インデックス SQLチューニング例 インデックスフルスキャンとカバーリングインデックス ソート まとめ 当日の資料 さいごに 過去開催されたデータベース勉強会レポート 開催背景 弊社では三谷さんによるデータベース勉強会を定期的に開催しています。数年前にも同じテーマで勉強会

                            MySQLのSQLクエリチューニングの要所を掴む勉強会を開催しました! - ANDPAD Tech Blog
                          • 毎日本番DBをダンプして、ローカルと開発環境で利用して生産性を上げてる話

                            シードデータで動作確認して大丈夫だったのに、本番反映してみたら想定してなかった挙動・エラーが出た😱そんな経験はありませんか。 恥ずかしながら私は今までに何回もありました。機能開発だけじゃなくバッチやマイグレーションなんかでも発生しがちなコレ。またはシードデータで動作確認できても、本番データでも通用するか検証ができないままプルリクを作る、なんていうこともあると思います。今回はこちらを無くす試みをしたお話です。 「もう本番DBで開発しちゃえばいいじゃない」の問題点 この課題を解決するには、極論すると本番DBで開発するしかないのですが、そうなると言うまでもなく以下の問題が出てきます。 レビュー通過してないコードが本番に影響を与える トライ&エラーができない 個人情報をはじめとするセンシティブな情報が開発者の端末に漏れる データ量が多すぎてローカルに持ってこれない しかし言い換えると、これらをク

                              毎日本番DBをダンプして、ローカルと開発環境で利用して生産性を上げてる話
                            • Do You Really Need Redis? How to Get Away with Just PostgreSQL

                              Do You Really Need Redis? How to Get Away with Just PostgreSQL There’s a tried-and-true architecture that I’ve seen many times for supporting your web services and applications: PostgreSQL for data storage Redis for coordinating background job queues (and some limited atomic operations) Redis is fantastic, but what if I told you that its most common use cases for this stack could actually be achie

                                Do You Really Need Redis? How to Get Away with Just PostgreSQL
                              • はてなリモートインターンシップ2021の講義資料を公開します - Hatena Developer Blog

                                CTOのid:motemenです。2021年8月から9月にかけて開催した「はてなリモートインターンシップ2021」も無事に終了しました。 今年のインターンシップは下記のエントリーで発表したように、前半の1週間が講義、後半の2週間は開発を実践する2部構成で、ともにオンラインで実施しました。 はてなリモートインターンシップ2021のカリキュラムを発表します! このうち講義パートは、Web技術に関するエンジニアリング講義とブートキャンプ、そしてエンジニアリング以外の領域をとりまぜて実施しました。この記事では、それぞれの講義で使用したスライド資料を公開するとともに、内容を簡単に紹介します。 エンジニアリング講義で使用したスライド資料 Web API ─ REST GraphQL gRPC Webサービスインフラ入門 コンテナ技術とDocker Kubernetesの仕組みとハンズオン マイクロサー

                                  はてなリモートインターンシップ2021の講義資料を公開します - Hatena Developer Blog
                                • Repro で遭遇した Aurora MySQL にまつわるトラブル 5 選 - Repro Tech Blog

                                  こんにちは、Platform Team の荒引 (@a_bicky) です。前回は続・何でも屋になっている SRE 的なチームから責務を分離するまでの道のり 〜新設チームでオンコール体制を構築するまで〜という話を書いたんですが、今回は Repro の運用に 7 年以上携わる中で私が遭遇して印象的だった Aurora MySQL 絡みのトラブルについて紹介します。 Aurora MySQL が詰まってデータ処理のスループットが下がるとか、API のレスポンスが遅くなるとか、ALTER TABLE する度にアプリケーションエラーが発生するとか、胃が痛くなる胸が熱くなる話が多いので、Aurora MySQL を利用していなくても楽しんでいただけるのではないかと思います。Aurora MySQL を利用している方であれば参考になる情報もあるでしょうし、通常の MySQL にも適用可能な話もあります

                                    Repro で遭遇した Aurora MySQL にまつわるトラブル 5 選 - Repro Tech Blog
                                  • 2025年現在のNewSQL (最強DB講義 #36 発表資料)

                                    最近勉強を始めたコンテナ技術に関する基礎的な知識をまとめました。 [訂正と注釈] p.27-30: 「Deployment」内の「Version: 1」 => 「Version: 2」 p.37: 「終了コードをから」 => 「終了コードから」 p.39: 「HTTPSが利用できない」=> AWS上では、SSL終端するLBがサポートされています。https://kubernetes.io/docs/concepts/services-networking/service/#ssl-support-on-aws p.40: 「ユーザがingress controllerをmaster上にセットアップする必要」 => master上にセットアップしなければならないという制約はありません。例えばGCEのingress controller(GLBC)はPodとして動作します。https://gi

                                      2025年現在のNewSQL (最強DB講義 #36 発表資料)
                                    • データベースのドキュメント管理を自動化した話 - estie inside blog

                                      こんにちは、今回はデータ基盤構築を担当しているmarushoがお送りします。 今日はestieで実践しているデータベースのドキュメント管理方法をご紹介します。 はじめに 独自成長していくデータベースたち 失われたドキュメント どうすれば低コストなドキュメント管理ができるのか そして生まれた、schema collectorという自動化ツール SchemaSpy Mysql diff Priv Page ECS タスクスケジューラ ドキュメントを腐らせない おわりに はじめに estieはオフィスを中心とした不動産データを取り扱うスタートアップ企業です。 estie(オフィス探しサービス)とestie pro(不動産事業者向けデータプラットフォーム)の2つのサービスを運営しています。 詳しくは、こちらの記事をご覧ください。 inside.estie.co.jp estieでは、不動産に関する

                                        データベースのドキュメント管理を自動化した話 - estie inside blog
                                      • 技術選定の成功 2年間を振り返る TypeScript,Hono,Nest.js,React,GraphQL

                                        技術選定の成功 2年間を振り返る TypeScript,Hono,Nest.js,React,GraphQL 技術選定に失敗はない 技術選定に失敗はありません。 仮説を立て、検証し、結果の分析からNext Actionを考える。検証の結果がどうであれ、それは過程に過ぎません。 机上の空論だけで全てを理解できるほど、我々人間は賢くないのです。(注意: これは人類全体を誹謗中傷する意味ではありません。) この記事では、この2年間で行った技術選定の成功例をその理由と共に紹介していこうと思います。 申し訳遅れましたが、私、YadaYadaKonnanYadaといいます。私は今回初めて記事を書いたので、どうぞお手柔らかに。 Twitterエンジニア垢作りました。エンジニアのお友達がいません。 @uncode_jp 前提 技術選定に結論はありません。組織毎に前提が違うのだから当然のことです。みんな違っ

                                          技術選定の成功 2年間を振り返る TypeScript,Hono,Nest.js,React,GraphQL
                                        • MonotaROのデータ基盤10年史(前編) - MonotaRO Tech Blog

                                          おしらせ:12/23 に後編記事がでました! tech-blog.monotaro.com こんにちは、データ基盤グループの香川です。 現在モノタロウではBigQueryに社内のデータを集約し、データ基盤を構築しています。 およそ全従業員の6割が日々データ基盤を利用しており、利用方法や目的は多岐に渡ります。 データ基盤グループはこれまでデータ基盤システムの開発保守と利用者のサポートを主な業務として取り組んできましたが、これら多岐にわたる社内のデータ利用における課題の解決及びさらなるデータ活用の高度化を目的として、今年の5月よりデータ管理を専門に行う組織として新たに体制を再構築しました。 そこで改めて組織として取り組むべき課題や方向性を決めるために、まず自分たちの現在地を知ることが重要と考え、データ基盤の歴史を振り返り、社内のデータ活用における課題やそれを取り巻く状況がどう変わってきたのかを

                                            MonotaROのデータ基盤10年史(前編) - MonotaRO Tech Blog
                                          • RDBの限界とNoSQLの登場

                                            事実世界のインターネット人口が増えたのは1990年代からだ。 [引用] http://www.soumu.go.jp/johotsusintokei/whitepaper/ja/h10/html/98wp2-3-1f.html [引用] http://www.soumu.go.jp/johotsusintokei/whitepaper/ja/h29/html/nc144210.html __NoSQL__の登場 1990年に入るとインターネットの利用人口が急激に増加することになる。 この頃からトランザクションに最適化されて設計されたDBでは性能劣化が始まり、システムはデータベースに対しスケール性能を必要とし始める。 多くの開発者は、単一の強力なサーバーでリレーショナル・データベースを実行するのではなく、リレーショナル・データベース管理システム (RDBMS) のパーティショニング (シャー

                                              RDBの限界とNoSQLの登場
                                            • MySQL/Aurora/TiDBロック入門 – 第1回トランザクション分離レベル|技術ブログ|北海道札幌市・宮城県仙台市のVR・ゲーム・システム開発 インフィニットループ

                                              MySQL/Aurora/TiDBロック入門 – 第1回トランザクション分離レベル MySQL InnoDB および AWS Aurora や PingCAP TiDB におけるロックの仕組みやトランザクションの動作を全11回のシリーズで解説します! 最初はベースとして重要な MySQL 8.0 InnoDB 前提でユーザー視点でのロックの仕組みを学び、後半第10回以降では MySQL 互換 DB として人気の高い AWS Aurora や PingCAP TiDB と MySQL InnoDB との違いについて学びます。 1回目の今回はロック機構と切っても切り離せないトランザクションとその分離レベルについて、実際に挙動を確かめながら解説します。ライブ感のある説明も理解に役立ちますので、解説動画も付けてみました。合わせてご覧ください! ★ 第1回 トランザクション分離レベル ★ 第2回 ロ

                                                MySQL/Aurora/TiDBロック入門 – 第1回トランザクション分離レベル|技術ブログ|北海道札幌市・宮城県仙台市のVR・ゲーム・システム開発 インフィニットループ
                                              • PostgreSQLにあるSQLインジェクションの脆弱性が9年以上発見されずアメリカ財務省への侵入に使用されてしまう

                                                2024年12月30日、「中国政府が支援する高度で持続的な脅威攻撃者」がアメリカ財務省の機密データを管理するシステムを侵害しました。この侵入にはPostgreSQLに9年以上存在していたのに誰も気付いていなかったSQLインジェクションの脆弱(ぜいじゃく)性が使用されたことが判明しており、ソフトウェアエンジニアのニック・アグリアーノ氏が記事にまとめています。 Hidden Messages in Emojis and Hacking the US Treasury https://slamdunksoftware.substack.com/p/hidden-messages-in-emojis-and-hacking SQLインジェクションは多くのセキュリティの教科書の冒頭に載っているような非常に有名な攻撃手法で、SQLインジェクションを通して攻撃者はSQL文を書き換えられるためシステムに重

                                                  PostgreSQLにあるSQLインジェクションの脆弱性が9年以上発見されずアメリカ財務省への侵入に使用されてしまう
                                                • PostgreSQL設計ガイドライン | Future Enterprise Arch Guidelines

                                                  本規約は、世の中のシステム開発プロジェクトのために無償で提供致します。 ただし、掲載内容および利用に際して発生した問題、それに伴う損害については、フューチャー株式会社は一切の責務を負わないものとします。 また、掲載している情報は予告なく変更することがございますので、あらかじめご了承下さい。 はじめに ​本規約はPostgreSQLを使用する開発者向けに、DBのテーブルやカラムの命名・型桁・制約などのスキーマ管理に加え、履歴・排他制御・マルチテナント対応などアプリケーション設計を含む内容についての設計標準を紹介する。 以下の目的・意図で作成するものとする。 DB設計の主な論点/設計項目/設計観点を提供することで、開発者の考慮漏れを防ぐとともに、チームでの設計上の合意形成を手助けするシステム開発における標準ラインとなる設計手法を提供することでナレッジやツールの横展開を容易にする適用範囲 ​作成

                                                  • 受取期限の過ぎたデータをMySQL上から削除する話 | GREE Engineering

                                                    こんにちわ。せじまです。今回は地味で泥臭い話をします。ただ、割と平易な内容かと思いますので、初学者の方にもオススメです。 はじめに ゲームでは、受取期限のついたログインボーナス的なものがよくあります。ユーザが期限までに受け取らないと、ユーザからそのデータは不可視になりますが、必ずしも、不可視になった瞬間にデータベースから直ちに削除される、というわけでもありません。バッチジョブか何かで、ガベージコレクションのように削除するケースが多いのではないでしょうか。 また、論理削除という概念もあります。論理削除についてはいろいろ意見や考え方があるかと思いますので、ここでそれについては論じませんが、「削除フラグが立ってユーザから不可視になった後、三ヶ月以上経過したデータを削除したい」みたいなことは、ゲームに限らず、しばしばあるんじゃないかなと思います。 こういった、ユーザから不可視になってしばらく経過し

                                                      受取期限の過ぎたデータをMySQL上から削除する話 | GREE Engineering
                                                    • Docker Composeの環境変数ではなくsecretsで秘密情報を扱う - Qiita

                                                      概要 Dockerの本番環境で秘密情報を使う際に、環境変数を使うことは推奨されてません。 秘密情報を扱うには、コンテナオーケストレーションのsecret supportを使うことが推奨されてます。 Docker Composeには秘密情報を扱うために、secretsがあります。(Docker ComposeのsecretsはDocker Swarmと併用することが前提の機能です) 環境変数で秘密情報を扱う時の問題点 秘密情報を扱う時に、よくある方法として、環境変数を使う方法があります。 (この記事において、秘密情報とはパスワード、APIキーを想定します。) しかし、Dockerのドキュメントhttps://docs.docker.com/get-started/07_multi_container/ には While using env vars to set connection set

                                                        Docker Composeの環境変数ではなくsecretsで秘密情報を扱う - Qiita
                                                      • Go(Echo), Gorm, Mysql, Docker, Swaggerで、クリーンアーキテクチャなAPIサーバーを作ったメモ

                                                        自分の本業は10年物のMVCプロジェクトなのでClean Architecture忘れがちです。 なので、慣れてるGoでパッとClean Architectureの復習を行ってみました(2年前にPythonでやった事はあるんだけど・・・)。 このスクラップでは単語とか作りどころとかを整理するのですが、また後でRustで作ってそっちは前例がほぼないので記事にします。 Go + Clean Architectureは結構記事あるんですが、Swaggerつけたしたのと自分なりに納得いくディレクトリ構成にオリジナリティを出しました。ちなみにgo-swagger使うと本当は凄く楽に作れるのですが(ついでにフロントはopenapi-generator)、今回はClean Architectureを理解するのが主目的なので、サーバーは手書きでopenapiのyamlも1から自作しました。 ↑ postに

                                                          Go(Echo), Gorm, Mysql, Docker, Swaggerで、クリーンアーキテクチャなAPIサーバーを作ったメモ
                                                        • OracleからPostgreSQLに乗り換えたい人に送る何か - なからなLife

                                                          Calendar for PostgreSQL | Advent Calendar 2021 - Qiita の10日目の記事です。 思い当たる節がある人は、今の見積もりの数倍の時間と予算を確保してからキックオフして欲しい。 多分、そのまま走ると誰か倒れるから。。。 で終わりにするわけにはいかないので、いくつか書きます。 もちろん、SQLがDBMSによって「方言」があるので、使える構文、関数名が違うってのは当然あるのですが、それ以外のところを中心に。 PostgreSQLのサーバーサイドエンコーディングはShiftJISをサポートしていない 今どき、新規で立てるデータベースはUTF8を選ぶよねーキャハハ、と思っても、何世代もバージョンアップしてきたOracleや、塩漬けされたOracleなんかは、ShiftJISを使っているところも多いのではないでしょうか。 自分で文字コードマッピングの処

                                                            OracleからPostgreSQLに乗り換えたい人に送る何か - なからなLife
                                                          • Google、大規模分散DB「Spanner」にPostgreSQL互換インターフェイスを実装。強い一貫性で秒間10億以上のリクエストを処理可能。Google Cloud Next '21

                                                            GoogleはGoogle Cloudで提供している大規模分散データベース「Cloud Spanner」に、PostgreSQL互換のインターフェイスを実装したと発表しました。 At #GoogleCloudNext, we've announced the preview of Cloud Spanner’s PostgreSQL interface—combining the scalability & reliability of Spanner that enterprises trust with the familiarity & portability of PostgreSQL that dev teams . Take a deeper dive ↓ https://t.co/Y3xD1lDPLg — Google Cloud Tech (@GoogleCloudTech

                                                              Google、大規模分散DB「Spanner」にPostgreSQL互換インターフェイスを実装。強い一貫性で秒間10億以上のリクエストを処理可能。Google Cloud Next '21
                                                            • 日本語の問いをChatGPTでSQLに変換、実行する「Chat2Query」を搭載。MySQL互換のTiDB Cloud

                                                              日本語の問いをChatGPTでSQLに変換、実行する「Chat2Query」を搭載。MySQL互換のTiDB Cloud MySQL互換のオープンソースデータベース「TiDB」(タイデービー)を提供しているPingCAP社は、日本語を含む自然言語の問いをChatGPTを用いてSQL文に変換し、実行する「Chat2Query」機能を、クラウド上でTiDBのマネージドサービスを提供する「TiDB Cloud」にβ版として搭載したことを発表しました(日本語のプレスリリース) Introducing #Chat2Query, our AI-powered natural language querying tool that will release you from tedious manual SQL writing and change the way of #DataExploration

                                                                日本語の問いをChatGPTでSQLに変換、実行する「Chat2Query」を搭載。MySQL互換のTiDB Cloud
                                                              • Zendesk、DynamoDBからMySQLとS3へ移行し、コストを80%以上削減

                                                                Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。この本では、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

                                                                  Zendesk、DynamoDBからMySQLとS3へ移行し、コストを80%以上削減
                                                                • PostgreSQLをWebブラウザ上で動かす「Postgres-WASM」、オープンソースで公開。Webブラウザ上のx86仮想マシンで実行、レプリケーションも可能

                                                                  PostgreSQLをWebブラウザ上で動かす「Postgres-WASM」、オープンソースで公開。Webブラウザ上のx86仮想マシンで実行、レプリケーションも可能 WebAssemblyを用いてWebブラウザにx86の仮想マシンを構成することで、PostgreSQLをWebブラウザ上で実行可能にした「Postgres-WASM」がオープンソースで公開されました。 Today we're open sourcing postgres-wasm with our friends at @_snaplet Discover how we built it, and the extra features we've added: https://t.co/6kmfXBBhCS#postgres #wasm #opensource — Supabase (@supabase) October 3,

                                                                    PostgreSQLをWebブラウザ上で動かす「Postgres-WASM」、オープンソースで公開。Webブラウザ上のx86仮想マシンで実行、レプリケーションも可能
                                                                  • 小さなテーブルへのALTER TABLE一撃でサービス停止。そこから学んだ惨事を繰り返さないためのルール作り - Qiita

                                                                    こちらは NewsPicksアドベントカレンダーの9日目の記事です。 はじめに こんにちは。NewsPicks エンジニアの鶴房です。 フロントエンドの刷新プロジェクトにおいて、主にインフラとバックエンドを担当しています。 今回は私が以前起こしてしまったサービス全停止の障害の原因と、その再発防止策に関して記載します。 尚、弊社ではRDBMSとしてMySQLを利用しているので、この記事はMySQLに関する内容になります。 障害事象 今年の夏頃、約30分の間、NewsPicksのほぼ全てのサービスが停止してしまいました。 ユーザーは、その間、ログインも、記事を読むことも、記事にコメントすることもできない状態でした。 アプリを開くと、エラーメッセージが表示されるだけの状態で、障害の解消までずっとその状態が続いていました。 障害の直接原因 障害の直接の引き金になったのは、タイトルにある通りALTE

                                                                    • 今まで生き残ってきたRDBMSとこの先10年戦えるデータストア戦略 / Database now and in the past

                                                                      Developers Summit 2022の登壇資料です。 # 参考リンク - https://eh-career.com/engineerhub/entry/2018/12/11/110000 - https://soudai.hatenablog.com/entry/2017/12/27/080000 - https://soudai.hatenablog.com/entry/2021/12/31/114009

                                                                        今まで生き残ってきたRDBMSとこの先10年戦えるデータストア戦略 / Database now and in the past
                                                                      • どのレイヤー(層)でトランザクションを実装すべきか

                                                                        このように、層ごとに関心事の分離を行うことで、保守性の高い(変更容易性や再利用性等)アプリケーションを実現できます。 しかし、「トランザクション」においてはどうでしょうか。 トランザクションはビジネス領域においても、技術領域においても関心事がある内容です。 そういう曖昧なものは「ひとまず usecase 層に入れてしまえ」という方針になりがちです。 ですが、DB 固有の知識を usecase 層の関心事にしてしまっては、関心事の分離をするメリットが得られません。 そのため、関心事の分離を実現しつつトランザクション実装をする方法を模索してみました。 前提 1. クリーンアーキテクチャを採用している(オニオンアーキテクチャやレイヤードアーキテクチャも含む) そもそもビジネス知識と技術知識を分離していないアーキテクチャを採用している場合、メリットは得られません。 そのため、オニオンアーキテクチャ

                                                                          どのレイヤー(層)でトランザクションを実装すべきか
                                                                        • できるだけ無料で作る個人開発のための技術スタックと注意点

                                                                          最近思いつきで身内向けにTwitterクローンを開発していて、そこでの知見をゆるく共有したいと思います。技術選定の段階で以下の記事を参考にさせていただいたのですが、この記事の内容を前提として代替案としてこれもいいんじゃない?という話をしたいと思います。 フロントエンド 元々私は個人的にずっとNuxtを使っていたのですが、やはり現状はNext.js (+ Tailwind CSS)が一番良い気がします。一度勉強してみたら全然アリだな、と思いました。 バックエンド こちらもNext.jsでフロントエンドと同時に開発できます。Next.jsのServer Actionsはサーバーコンポーネントとクライアントコンポーネントどちらからでも呼び出すことができ、DBにアクセスしたりといったことができます。 Server Actionsの注意点 便利なServer Actionsですが、セキュリティの観点

                                                                            できるだけ無料で作る個人開発のための技術スタックと注意点
                                                                          • DBスキーマ変更管理ツール sqldef を試してみた - Qiita

                                                                            1. sqldef とは sqldef は "The easiest idempotent MySQL/PostgreSQL/SQLite3/SQL Server schema management by SQL." と謳っているDBスキーマ変更管理ツールです。 通常の開発において DDL 文を管理する場合、環境を1から作るように CREATE TABLE 文など新規作成 DDL 文を準備すると共に、既に作成済みの環境でテーブルを変更するために ALTER TABLE 文など差分適用 DDL 文を準備する必要があります。この2種類の DDL 文を二重管理しないといけないというのは DBA にとっては頭の悩ましい問題でした。(差分適用 DDL 文のみ準備し、1から環境を作る場合も全ての変更を適用するという手もありますが…) sqldef を利用すると、変更適用先 DB の現在の状況と新規作成

                                                                              DBスキーマ変更管理ツール sqldef を試してみた - Qiita
                                                                            • WHERE 条件のフィールドを UPDATE するのって,明示的にロックしてなくても安全?全パターン調べてみました! - Qiita

                                                                              WHERE 条件のフィールドを UPDATE するのって,明示的にロックしてなくても安全?全パターン調べてみました!MySQLSQLPostgreSQLDatabaseQiitaEngineerFesta2022 TL; DR MySQL/Postgres とも, MVCC アーキテクチャの恩恵で, SELECT と UPDATE は基本的には競合しない。 単一レコードのシンプルな UPDATE でも排他ロックされ,排他ロック中のレコードへの UPDATE での変更操作は トランザクション分離レベルによらず ブロックされる。UPDATE 文に含まれる WHERE 句での検索もブロックされ,これはブロックされない SELECT による検索とは別扱いになる。 但し UPDATE 文の WHERE 句上で,更新対象をサブクエリの SELECT から自己参照している場合は例外。トランザクション分離

                                                                                WHERE 条件のフィールドを UPDATE するのって,明示的にロックしてなくても安全?全パターン調べてみました! - Qiita
                                                                              • Wiki.js + Heroku を使って、無料で高機能の情報共有 wiki を簡単に作る

                                                                                背景: GitHub wiki への不満 私の所属する研究室では、メンバー全員が1つの GitHub Organization に所属しており、情報共有はその Organization 上のリポジトリの GitHub wiki で行われています。 研究室がコンピュータサイエンス系であることもあってメンバーは GitHub や Markdown に慣れており、普段 GitHub wiki を使っていて困ることはそんなになかったのですが、それでも時々不満が出ることがありました。 不満として多いのは、色々記事を書いているうちに全体構造がよくわからなくなってしまうという点にあると思います。GitHub wiki ではディレクトリ構造を持てないので、全ての情報がリンクを経由してアクセスされることになり、段々と整理がつかなくなってしまいます。 複数のリポジトリにそれぞれ wiki を書くこともできます

                                                                                  Wiki.js + Heroku を使って、無料で高機能の情報共有 wiki を簡単に作る
                                                                                • MySQLのロックに起因するブロックタイムアウト撃退記 - inSmartBank

                                                                                  こんにちは。スマートバンクのサーバーサイドエンジニアをやっておりますid:moznionです。 すっかり秋めいてきましたね。秋といえばMySQL*1、ということで今回は先日解消した「MySQLのロックに起因するブロックタイムアウト」のトラブルシューティングついて記していきたいと思います。 事の発端 ある時を境にSentryに ActiveRecord::LockWaitTimeout というエラーがしばしば報告されるようになっていました。 SentryにActiveRecord::LockWaitTimeoutが上がってきている様子 Mysql2::Error::TimeoutError: Lock wait timeout exceeded という文言から、MySQL上でロックを取っている他のクエリにブロックされ、そのブロックが長時間に渡ったため自クエリがタイムアウトしてabortしてし

                                                                                    MySQLのロックに起因するブロックタイムアウト撃退記 - inSmartBank

                                                                                  新着記事