並び順

ブックマーク数

期間指定

  • から
  • まで

161 - 200 件 / 1518件

新着順 人気順

DataBaseの検索結果161 - 200 件 / 1518件

  • DBテーブルのカラムを削除するときにやること・考えること - エムスリーテックブログ

    突然ですが皆様は、稼働済みサービスのDBからテーブルカラムを削除されたりすること、ありますでしょうか? 基本的に削除はまずやらないのではと思います。えっやらないの? と思われた方もいらっしゃるかもしれませんが、きっとこの記事を読めばなぜ多くの方がカラム削除を避けるのかわかることでしょう。 とはいえ、そうして使わないカラムがテーブルに溜まっていくとやがて新規加入メンバーがコードにキャッチアップする妨げとなるレベルにまで溜まってきたりします。いつかは大掃除のときがくるわけです。DBは寿命長いですからね。そうしたときに実際どのような手順でカラムを削除するのか見ていきましょう。エムスリーエンジニアリンググループUnit1(製薬プロモーション)・Unit9(治験臨床研究支援)チームエンジニアの三浦 [記事一覧 ]が、最近実際にやった作業から知見をお届けします。 長いので3行で 考え方 1. そのカ

      DBテーブルのカラムを削除するときにやること・考えること - エムスリーテックブログ
    • 業務でどれだけSQL力がつくのか ~SQLアンチパターンを用いて確認~ 前編

      はじめに こんにちは。 GMOアドマーケティングのKONCEです。 新卒で入社し、数年経ちました。日々の業務で学ぶことは多いですが、今年度は技術の深堀りをテーマにやっていきたいと思っています。 今回は入社してDBやSQLに関しては業務内で学ぶことが多く、特別訓練をしていたわけではなかったのですが、「SQLアンチパターン」を用いて学びながら、改めて自分の現状を見つめ直していけたらと思います。 今回は学習を行う側面と自分自身のレベルについて見直していきたいので 知っていた → ○ 部分的に知っていた → △ 知らなかった → × を付けてみようと思います。 目次 SQLアンチパターンについて Ⅰ部 データベース論理設計のアンチパターン 2-1. [○]1章 ジェイウォーク(信号無視) 2-2. [×]2章 ナイーブツリー(素朴な木) 2-3. [○]3章 IDリクワイアド(とりあえずID) 2

        業務でどれだけSQL力がつくのか ~SQLアンチパターンを用いて確認~ 前編
      • 「分析SQLスタイルガイド」をかなり真面目に考えた - Qiita

        インデントルール 1段目から3段目にかけて徐々に処理の粒度を細かくしていく。同じ階層に異なる粒度の処理を書かない。 【メリット】コードを構造的に読むことができ、理解しやすい 1段目は処理の大区分を示す句だけ(select,from,groupby,with,orderby) 一段目は大区分にすることで、コード全体のどこに何が書いてあるかがすぐに分かる。 2段目は処理関数、列名、テーブル名を並べる(列名、テーブル名、case whenのcase) 2段目を見ることで処理の概要とインプットとアウトプットが理解できる。 3段目は処理の補足を記載する(joinのon、case whenのwhen) 3段目を見ることで、より詳細な処理の内容を詳しく知ることができる 別名ルール SQLの別名は、うまく使えば読みやすくなり、下手に使うと読みづらくもなります。 テーブルの別名は先頭の文字を使う。重複する場

          「分析SQLスタイルガイド」をかなり真面目に考えた - Qiita
        • 悪口で「タコ」と言うのはなぜか。 | レファレンス協同データベース

          事例作成日 2020年06月30日 登録日時 2021/10/13 15:42 更新日時 2021/10/13 15:47 諸説あるようです。 江戸時代、将軍に謁見できない「御目見(おめみえ)以下」である御家人のことをからかって、 旗本の子が「以下」と言ったことに対して、御家人の子が「タコ」と言い返したことからきた、 という説などが確認できました。 1 「以下」に対して「タコ」と言い返したことからきたという説について 下記(1)の図書に詳しく書かれていました。 「タコ」と言い返した話の出典は(2)のようです。 また(4)にも類似したエピソードが載っています。 (1)『知って合点江戸ことば 文春新書』 大野敏明/著 文藝春秋 2000.12 p.32~35 似ていなくても「タコ」 「旗本の子どもたちは御家人の子どもたちをからかって「以下」という。」 「御家人の子どもたちも」(中略)「旗本の子

            悪口で「タコ」と言うのはなぜか。 | レファレンス協同データベース
          • ホーム | 時代別 歴史漫画の本棚

            1600タイトル以上の歴史漫画を時代別に整理してリスト化し、それぞれの地域や時代ごとにどんな漫画作品があるのかわかるようにしています。 ここでいう歴史漫画とは、おおよそ1970年代以前の世界各地のいずれかの時代を舞台とした漫画作品のことです。歴史漫画の舞台となる地域としては日本を扱ったものが最も多いのですが、日本を舞台にした作品は膨大すぎて私が把握しきれませんので今のところ載せていません。 このサイトでは主に日本以外の国と地域を舞台とした歴史漫画作品を紹介しています。

              ホーム | 時代別 歴史漫画の本棚
            • Torishima on Twitter: "まじかよ気象庁公式の天気予報APIができてるぞ、感激して大声で泣いちゃった https://t.co/2HQumqjel8"

              まじかよ気象庁公式の天気予報APIができてるぞ、感激して大声で泣いちゃった https://t.co/2HQumqjel8

                Torishima on Twitter: "まじかよ気象庁公式の天気予報APIができてるぞ、感激して大声で泣いちゃった https://t.co/2HQumqjel8"
              • 高効率なSQLクエリの書き方 - Qiita

                概要 この記事では、SQLクエリをより効率的に記述するためのベストプラクティスとテクニックに焦点を当てています。データベースのクエリはシステム全体のパフォーマンスに直結するため、最適な書き方を知ることは重要です。インデックスの効果的な活用方法、適切な結合の選択、そして条件の効果的な書き方など、SQLの最適化に関する具体的な手法を解説します。各SQL文に関する実行計画の結果も掲載していますので、ぜひご確認ください。 なお、Oracle19cとOracle12cでの利用実績がありますが、他のデータベースやバージョンにおいての検証は行っておりません。 新しい情報は随時追加されますので、お楽しみにしてください。 SQLの最適化に関連する基本的なアイデア 以下の通りと考えています。 1.インデックスの利用 2.正しいJOINの選択 INNER JOIN、LEFT JOIN、RIGHT JOINなど、

                  高効率なSQLクエリの書き方 - Qiita
                • SQLわかんねーーーーーーーー!!!!!!

                  学生時代に独学でVBAやってたのが零細企業でなぜか評価されてDB管理をやらされかけてるけど SQLマジでわかんねーーーーーーーーーーー!!! なんだこれーーーーーーーーーーーーー!! ああああああああああああああ!!!! わかんねーーーーーー!!!!

                    SQLわかんねーーーーーーーー!!!!!!
                  • 排他制御のためだけに Redis 渋々使ってませんか?データベース単独でアドバイザリーロックできるよ!

                    トランザクション分離レベルについての教養があったほうがこの記事の内容を理解しやすいため,必要に応じてまず以下を参照されたい。 背景 以前, Qiita で以下の記事を投稿した。今回の議題に直接的な関係はないが,関連している部分があるため引用する。 MySQL/Postgres とも, MVCC アーキテクチャの恩恵で, SELECT と UPDATE は基本的には競合しない。 単一レコードのシンプルな UPDATE でも排他ロックされ,排他ロック中のレコードへの UPDATE での変更操作は トランザクション分離レベルによらず ブロックされる。UPDATE 文に含まれる WHERE 句での検索もブロックされ,これはブロックされない SELECT による検索とは別扱いになる。 但し UPDATE 文の WHERE 句上で,更新対象をサブクエリの SELECT から自己参照している場合は例外。

                      排他制御のためだけに Redis 渋々使ってませんか?データベース単独でアドバイザリーロックできるよ!
                    • 履歴データテーブルとの向き合い方_PHPerKaigi2024

                      PHPerKaigi2024 の登壇資料です。 履歴データテーブルとの向き合い方 https://fortee.jp/phperkaigi-2024/proposal/47cf9f17-825a-4021-bf33-86e4a62bc222

                        履歴データテーブルとの向き合い方_PHPerKaigi2024
                      • SQL滅ぶべし | ドクセル

                        SQL • リレーショナルデータベースシステムと会話するための言語 • 1970年 Codd が RDB モデルと同時に提案 (Alpha言語) • 1974年 Chamberlin と Boyce が改良 • 元々は SEQUEL (Structured English Query Language) だったが、商標登録されていた • 読み方は エスキューエル とそのまま読む (Glliespie 2012) SQL • SQL は目的別に 4つに分けられる • DCL (データ制御言語) GRANT とか • DDL (データ定義言語) CREATE TABLE とか • TCL (トランザクション制御言語) ROLLBACK とか • DML (データ操作言語) • INSERT, UPDATE, DELETE, SELECT • データ分析者にとって重要なのは SELECT 文

                          SQL滅ぶべし | ドクセル
                        • LEFT JOINの論理削除はWHERE句でしぼるな

                          レバテック開発部ではエンジニアを募集中です! カジュアル面談はこちら ■ 主な開発業務 オウンドメディアの開発 SFAシステムの開発 各システムの改善やリプレイス ■ 最近のトピック TiDB, NewRelicの導入 Devin等のAI導入 ■ エンジニア支援制度 MacBookPro/HHKB/MagicTrackPad/アーロンチェア等の貸与 毎月1万円の技術書購入支援 認定スクラムマスターなどの資格取得支援 外部技術顧問への相談

                            LEFT JOINの論理削除はWHERE句でしぼるな
                          • Amazon DynamoDB の論文を読んでいく - Qiita

                            Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 概要 AWS で人気のサービス DynamoDB についての論文が公表され巷で噂になっていたと思う。 今回は、その論文を読み込んでいき、ざっくりまとめていくという記事になります。 完全趣味な記事なので、興味ある人がいれば幸いです笑 Abstract まず論文のタイトルですが、「Amazon DynamoDB: A Scalable, Predictably Performant, and Fully Managed NoSQL Database Service」と題したものとなっています。 Amazon DynamoDB は、NoSQL

                              Amazon DynamoDB の論文を読んでいく - Qiita
                            • 作って理解する RDBMSのしくみ

                              Kaigi on Rails 2024「作って理解する RDBMSのしくみ」の発表スライド。 #kaigionrails https://kaigionrails.org/2024/talks/ydah/

                                作って理解する RDBMSのしくみ
                              • 初めて MCP を使うなら Docker MCP Toolkit がおすすめ - Qiita

                                Docker Desktop の新機能である Docker MCP Toolkit があれば、非常に簡単な手順で MCP ツールを利用できます。 今回は MCP クライアントに Cline を用いて Docker MCP Toolkit を利用する方法を解説していきたいと思います。 Docker MCP Toolkit で利用できる MCP サーバ一覧 2025/5/10 時点で 109 の MCP サーバが利用可能となっています。 以下、利用可能な MCP サーバの抜粋です。 Filesystem MCP Server(ローカルファイル操作) Fetch MCP Server(Webコンテンツ取得) Playwright MCP Server(ブラウザ操作) LINE MCP Server(メッセージ送信) PostgreSQL readonly MCP Server(データベース取得)

                                  初めて MCP を使うなら Docker MCP Toolkit がおすすめ - Qiita
                                • みんなの校則データベース:広島県内公立高校版【2021年3月公開】|中国新聞デジタル

                                  概要 広島県内の公立高(全日制)と中等教育学校、計88校の校則を一覧できるデータベースです。中国新聞が2020年8月に広島県教委、広島市教委、福山市教委、呉市教委に開示請求した「生徒指導規程」などの資料を基に、服装、頭髪、化粧や装飾品についての決まりを抜き出して整理しています。 使い方 関心のあるキーワードや学校名、地名などで自由に検索できます。複数のキーワードをスペースで区切っての検索も可能です。トップページに表示される「キーワードボタン」を押すことでも利用できます。 注意事項 学校によって開示する資料やその範囲が異なっています。また、「服装」などの分野ごとに整理するため、基とした資料とは記述の順番が変わっていることがあります。そのため「(1)」などの通し番号を「◆」などの記号に置き換えている場合があります。

                                  • データベースの在庫の持ち方をビットで管理してる話 - 一休.com Developers Blog

                                    こんにちは、一休.comスパ(以下、「スパ」)の開発を担当しているshibataiと申します🙏 今回はスパのデータベースの在庫の持ち方で試行錯誤した話をさせていただきます。 背景 2024-03-29追記: 一休.comスパにおける在庫の特徴について 一休.comスパが扱う「在庫」は、「ある日付の特定の時間に対する空き枠」です。以降の説明では、スパ施設ごと、日付ごと、また時間ごとに増えていく「在庫」をいかに効率よく扱うかについて説明しています。 詳細については次のスレッドも参照してください! https://t.co/Y0SPmDE4yZ この記事のコメントみてると、少し我々のシステムの要件が伝わってないというかそこの説明が記事に不足しているように思った。ので以下その補足— naoya (@naoya_ito) March 29, 2024 現在の実装 スパは予約を受け付けるために在庫の

                                      データベースの在庫の持ち方をビットで管理してる話 - 一休.com Developers Blog
                                    • 次世代SQLクライアントArctypeを触ってみる

                                      どうも、株式会社プラハCEOの松原です 先日社内のエンジニアに「このSQLクライアントがイケてそう!」と教わったので早速Arctypeを触ってみました TL;DR クエリの補完が最高 チャートやダッシュボードを通して簡単に可視化できる 操作性に優れていて、見た目が綺麗 クエリやダッシュボードごとに権限管理できる プレースホルダーを使えば非開発者ともクエリを共有しやすい 説明しよう、Arctypeとは なんかイケてるSQLクライアントです セットアップ それぐらいしか分からないので、ひとまずDBを立ち上げて実際に使ってみようと思います。こちらのmysql-employeesを使わせていただきましょう docker run -d \ --name mysql-employees \ -p 3306:3306 \ -e MYSQL_ROOT_PASSWORD=college \ -v $PWD/

                                        次世代SQLクライアントArctypeを触ってみる
                                      • 100億レコード超のDBを“障害ゼロ”でマイグレーション 新卒1年目が考えた2つのアプローチと3つの工夫 | ログミーBusiness

                                        インターネットやAIを駆使しながら、領域に捉われずにさらなる挑戦を行うDeNAの取り組みを紹介する「DeNA TechCon 2023」。ここで成田氏が登壇。PocochaのDBをマイグレーションしたことについて話します。 新卒1年目が100億レコード超のDBマイグレーションをした話成田篤基氏:発表を始めます。みなさんはじめまして。成田と申します。私は2021年にディー・エヌ・エーに新卒で入社して、現在入社から2年が経とうとしています。 私は新卒1年目で、大規模なデータベースマイグレーションを行う貴重な経験ができました。本日はそのマイグレーションプロジェクトについて、体験から得た学びをみなさんにお伝えします。題して「新卒1年目が100億レコード超のDBマイグレーションをした話」です。どうぞよろしくお願いいたします。 目次です。本日はこちらの目次に沿って発表を進めていきます。 まずは私たちデ

                                          100億レコード超のDBを“障害ゼロ”でマイグレーション 新卒1年目が考えた2つのアプローチと3つの工夫 | ログミーBusiness
                                        • ER図の作図について、 Draw.io, PlantUML, Mermaid を比較してみる。(VSCode拡張機能など) - Qiita

                                          はじめに データベース設計のER図について、VSCodeなどで作成する以下3つの方法を比較した記事です。 Draw.io PlantUML Mermaid 以前、Webアプリケーションを作成した際には、 Draw.io を使用して、作図しました。 (そのアプリのER図を今回サンプル図としています) 最近、 PlantUML を利用するようになり、ER図や、シーケンス図、クラス図の作図に利用しているのですが、とても編集しやすいと感じています。 ただ、どのツールにも、一長一短あるかと思いますので、それぞれ以下目次の内容を書いて、ご紹介したいと思います。 目次 1. Draw.io 1-1. VSCodeでの使い方 1-2. ER図 1-3. 感想 2. PlantUML 2-1. VSCodeでの使い方 2-2. ER図 2-3. 感想 3. Mermaid 3-1. VSCodeでの使い方

                                            ER図の作図について、 Draw.io, PlantUML, Mermaid を比較してみる。(VSCode拡張機能など) - Qiita
                                          • はじめに|図解 DB インデックス

                                              はじめに|図解 DB インデックス
                                            • 5分で覚えるトランザクション分離レベル

                                              これはなに ども、レバテック開発部のもりたです。 今回はトランザクション分離レベルについてまとめました。トランザクション分離レベルって基本情報技術者試験とかで学ぶものの、座学だけだとあんまりピンとこずに忘れちゃいますよね。もりたも長らく曖昧な状態で生きていたのですが、よい理解の仕方があったので今回はその解説をします。 トランザクション分離レベルを構成するふたつの変数 トランザクション分離レベルとは まず初めに、概要を掴むところからいきましょう。 トランザクション分離レベルとは、あるトランザクションのデータベースに加えた変更が、他のトランザクションにどの程度影響を与えるか? というもの(分離性、独立性)を一定基準でレベルに分けてまとめたものです。 どの程度影響を受けるか? については三つの影響が定義され、その影響度合いに応じて分離レベルが4つ存在します。これは大体こんな図で解説されます。 よ

                                                5分で覚えるトランザクション分離レベル
                                              • 世界最速レベルの性能を持つリレーショナルデータベース管理システム「劔(Tsurugi)」を開発

                                                日本電気(株)と(株)ノーチラス・テクノロジーズはNEDOの「高効率・高速処理を可能とするAIチップ・次世代コンピューティングの技術開発」(以下、委託事業)において、世界最速レベルの性能を持つリレーショナルデータベース管理システム「劔(Tsurugi)」(以下、劔)を開発しました。 劔は、次世代のデータベースに用いられるハードウエア環境(メニーコア・大容量メモリーなど)に適合したシステムであり、ハードウエアの性能が向上するほどシステムの性能も高まる特性を有しています。32以上のコア数を有するハードウエアにおいては、世界最速レベルの処理性能456万TPSと219ナノ秒の応答遅延を実現しました。 劔の導入によって、複雑なバッチ処理とオンライン処理をハイスピードで同時に行うことが可能となり、例えば画像データをカメラで取り込みながらリアルタイムでの解析や、ペタバイト級データの高速処理を実現するなど

                                                  世界最速レベルの性能を持つリレーショナルデータベース管理システム「劔(Tsurugi)」を開発
                                                • SQL道場 - SQLの実践的な学習サイト

                                                  SQL道場は、実践的なSQLの問題を解きながら学べるオンライン学習プラットフォームです。

                                                  • MySQLロックについて〜基礎編〜 を開催しました! - ANDPAD Tech Blog

                                                    こんにちは!エンジニアの福間(fkm_y)です。 先日、弊社でデータベースの技術顧問をして頂いてる三谷(mita2)さんに開発部向けのMySQLロックのデータベース勉強会を実施したのでそのレポートをお伝えします。 開催背景 弊社では三谷さんによるデータベース勉強会を定期的に開催しています。以前にもロックに関するMySQL勉強会を開催していたのですが、1年半経過しており参加していない開発メンバーのほうが多くなっていたことやプロダクトの成長によりデッドロックなどのロックに起因する問題が目立ち始めていたことから増強版のMySQLロックのデータベース勉強会を開催することになりました。 概要 データベースのロックについて ロックタイムアウトについて デッドロックについて まとめ データベースのロックについて なぜデータベースにロック機構があるのかから知ることが重要です。性能と安全性を両立するためにあ

                                                      MySQLロックについて〜基礎編〜 を開催しました! - ANDPAD Tech Blog
                                                    • 2020年やったこと、考えたこと、触った技術のまとめ - mizchi's blog

                                                      今年の本業は、 3rd party script で、そこから呼ぶウィジェットを最適化するコンパイラを書く、その仕様を考えて、実装するという感じだった。要は Google Analytics と、最適化コンパイラ付き GTM みたいなものを作っていた。その内容は以下に書いた。 サードパーティスクリプトの極限環境向け Svelte パフォーマンス改善に Core WebVitals という大義名分を得た 今年は、 パフォーマンスのエンジニアをやっていた、と思う。サードパーティスクリプトの配信を生業にする会社のエンジニアとしては、来年の Core WebVitals というパフォーマンス関連の大きな変化で、波にのってやりたいことがやれたと思う。 Core WebVitals の導入で実際にどれぐらいの影響がでるか不明だが、パフォーマンスが SEO に影響する、というのは、 若干やりすぎと思いつ

                                                        2020年やったこと、考えたこと、触った技術のまとめ - mizchi's blog
                                                      • WEB+DB PRESS Vol.122に特集「Rustで実装!作って学ぶRDBMSのしくみ」を書いた - Write and Run

                                                        KOBA789 です。 時が経つのは早いもので、気づけば2月末に無職になってから1ヶ月以上が過ぎていました。 その間に何をしていたのかといえば、表題の特集記事の執筆をしていました。 宣伝 このブログ記事は WEB+DB PRESS Vol.122 を読みたくなるためのものです。ぜひ買ってね。買ったらちゃんと読んでね。 作って学ぶ RDBMS のしくみ、書きました。みんな大好き Rust を使って解説してます https://t.co/nm526qQYnm— KOBA789 (@KOBA789) April 8, 2021 gihyo.jp 使用言語は Rust だし、RDBMS はそもそも難しいトピックだしで結構重めの内容ですが、まずは読み物として寝転びながらでもいいので読んでみてほしいです。 ゴールデンウィーク*1の自由研究のお供にもどうぞ。たぶんちょうどいい分量なんじゃないかなぁ。ゴー

                                                          WEB+DB PRESS Vol.122に特集「Rustで実装!作って学ぶRDBMSのしくみ」を書いた - Write and Run
                                                        • 開発者が知るべきキャッシュ設計でよく遭遇する問題

                                                          はじめに 分散システムの設計および開発において、キャッシュはパフォーマンス向上のための非常に重要な要素です。頻繁にアクセスされるデータをキャッシュすることで、アクセス速度が遅いデータベースへのアクセスを削減し、データへの迅速なアクセスを可能にします。これにより、システムの全体的な効率とパフォーマンスが向上します。 しかし、キャッシュは慎重に設計しないとむしろパフォーマンス上のデメリットになるケースが存在します。 この記事ではよく遭遇するキャッシュ設計の問題とその回避策について解説します。 Cache penetration DBに存在しない値を検索したときに、DBから返された空の結果をキャッシュしない場合に発生するシナリオです。 このシナリオではDBに存在しない値を繰り返し検索することにより、その値がキャッシュされていないため検索ごとにDBへのアクセスが必要になってしまいます。 存在しない

                                                            開発者が知るべきキャッシュ設計でよく遭遇する問題
                                                          • RDBアンチパターンと戦う - 削除フラグ 完全攻略ガイド / delete flag

                                                            PHPカンファレンス関西の登壇資料です。 WEB+DB PRESS Vol.134に詳細があります https://gihyo.jp/magazine/wdpress/archive/2023/vol134

                                                              RDBアンチパターンと戦う - 削除フラグ 完全攻略ガイド / delete flag
                                                            • データベース研修(SQL基礎編)【ミクシィ22新卒技術研修】

                                                              22新卒技術研修で実施したデータベース研修(SQL演習編)の講義資料です。 動画:https://youtu.be/dseGQ2MZF1U 演習用Colab Notebook https://colab.research.google.com/github/mixigroup/2022Begi…

                                                                データベース研修(SQL基礎編)【ミクシィ22新卒技術研修】
                                                              • キャッシュを活用するために必要な知識と勘所 - そーだいなるらくがき帳

                                                                PHPerKaigi 2024の登壇資料のほうが図面がわかりやすいので記載する。 ※2024/06/25 追記 speakerdeck.com どうもキャッシュバスターズ、 id:Soudai です。 Cache(以下、キャッシュ)は特定の場面に置いて劇的な効果を発揮し、様々な問題を解決する反面、新たなコンポートやミドルウェアが追加され、複雑性が上がり、運用のレベルが上がるため、扱いに注意する必要があります。 キャッシュを活用することで、パフォーマンスの改善や負荷軽減が行われ、コンピュータリソースの最適化によるサーバコストの削減や、レスポンスの改善によるユーザエクスペリエンスの改善がされます。 反面、その劇的な効果に毒され安易に多用すると、サービスが強くキャッシュに依存してしまい、非常に壊れやすくなり、運用が難しくなってしまいます。これをWeb界隈では「キャッシュは麻薬」と比喩されて、戒め

                                                                  キャッシュを活用するために必要な知識と勘所 - そーだいなるらくがき帳
                                                                • 1文字でSQLを200倍遅くする方法

                                                                  こんにちは、19のSysAd班の翠(sappi_red)です。普段はtraQのフロントエンドの保守を行ったりしています。 こんばんは、19のSysAd班のtemmaです。普段は普段どおりのことをしています。この記事の面白い部分はすべて僕が書いています。面白くないところは翠君が書いています。 この記事では、日々パフォーマンスに頭を悩ませる開発者の方のために、ワンタッチで劇遅SQLを200倍高速でキュートなSQLに劇的ビフォーアフターする方法を紹介します。 「おいおいおい、遅くしたくて記事を読み始めたのに話が違うじゃないか💢」と思ってるそこのあなた👈 早くできるということは遅くもできるんですね。 TL;DR ここにテーブルがあります。 CREATE TABLE messages ( id CHAR(36) NOT NULL PRIMARY KEY, text TEXT COLLATE ut

                                                                    1文字でSQLを200倍遅くする方法
                                                                  • PostgreSQLで時間枠を適切に扱う設計 - そーだいなるらくがき帳

                                                                    はじめに Googleカレンダーのような時間枠を扱うシステムを設計する際、開始・終了時刻を管理するロジックは容易ではない。 しかし、PostgreSQLには 範囲型 があり、この機能を活用することで、開始時刻(begin_at)と終了時刻(end_at)を1つのカラムで扱えるようになる。 そこで本稿では、範囲型を用いた設計と、その利点を紹介する。 時間枠を扱う難しさ まず前提として時間枠の扱いがなぜ難しいかを紹介する。 ソフトウェアデザインでやっている連載、実戦データベースリファクタリングの 【12】厄介な時間枠に向き合う でも紹介したが、時間の範囲を比較するときが難しい。 範囲の重なりには以下の種類がある。 包含:範囲Aが範囲Bを完全に含む 重複:範囲Aと範囲Bに共通点がある 隣接:範囲Aと範囲Bが隣り合う 時間枠の扱いはSQLに限らず、プログラミングの題材として難易度が高い。 特に重複

                                                                      PostgreSQLで時間枠を適切に扱う設計 - そーだいなるらくがき帳
                                                                    • WITH句てんこもりのSQLをデバッグする - エムスリーテックブログ

                                                                      巨大なSQLの出力が意図と違っていたり違っているかもしれないとき、どこから確認しようか頭を抱えてしまうことってありますよね。せめて多段階で作られているたくさんのCTE (WITH句)、これらが一つずつどんな表を出力しているのか簡単にのぞけたら手がかりもあるのだけれど⋯ 今回はそれをわりと現実的な手間でできるようにする小技です。エムスリーエンジニアリングループUnit1(製薬プロモーション)/Unit9(治験臨床研究支援)エンジニアの三浦[記事一覧 ]です。 魔法の一行 デバッグを実現する一行 We are hiring 魔法の一行 SQLの最後に -- */ という無意味なコメント行を付けておいてください。ひと目見て分かる通り、まったく無意味です。ところがこれがあるだけで、デバッグのときにこんなことができるようになります―― デバッグを実現する一行 次のようなCTEの大行列があるとします

                                                                        WITH句てんこもりのSQLをデバッグする - エムスリーテックブログ
                                                                      • 2021年サーバーサイドのエンジニアが使ってよかったもの10選 - KAYAC Engineers' Blog

                                                                        こんにちは! Tech KAYAC Advent Calendar 2021 7日目を担当する荒賀(@ken39arg) です。 カヤックのエンジニアブログには2008年にPHPを使ったガラケー関連の記事を書いたのが最初になります。 それから10年以上たち、ガラケーも弊社でのPHPのプロジェクトもほぼなくなり、メンバーもかなり入れ替わり、私自身も20代だったのがついに40歳になりました。そんな私にとってこのアドベントカレンダーは私は今でもここにいるよというPingのような役割になっているため、年に一度若者に混じってアドベントカレンダーに参加しております。 例年ですと、趣味のマラソンなどに関する実績も書いているのですが、昨年同様、今年も続くコロナ禍により多くの大会が中止となったためこちらに関しては特に特記すべき実績はありません。ただ2020年に走るはずだった東京マラソンは権利は移行を続けてお

                                                                          2021年サーバーサイドのエンジニアが使ってよかったもの10選 - KAYAC Engineers' Blog
                                                                        • Redis互換で25倍高速とする「Dragonfly」が登場。2022年の最新技術でインメモリデータストアを実装

                                                                          Redis互換で25倍高速とする「Dragonfly」が登場。2022年の最新技術でインメモリデータストアを実装 Redisやmemcachedに代表されるインメモリデータストアは、高速なデータアクセスを要求される場面で使われています。 このインメモリデータストアを2022年の最新技術を用いて設計、実装することで、Redis/memcached互換を実現しつつRedisの25倍高速とする「Dragonfly」が登場しています(開発元のアナウンス、GitHub)。 Redisやmemcachedが登場した十数年前と比べて、現在ではCPUのマルチコア化やI/Oの高速化、メモリの大容量化など、ハードウェア技術が大きく進化しています。 これらを最大限活用する設計と実装を取り入れることでRedisやmemcachedよりも大幅な高速化と高効率化を目指したのがDragonflyです。 採用した主な技術

                                                                            Redis互換で25倍高速とする「Dragonfly」が登場。2022年の最新技術でインメモリデータストアを実装
                                                                          • 開発ツール・技術まとめ

                                                                            開発ツール・技術まとめ 今回は様々な開発ツールや技術を分野別にまとめました。主にソフトウェア開発の現場で使われる多種多様なツールや話題の生成AI関連を紹介します。それぞれのリンクも掲載していますので、気になるものがあればすぐにチェックできます! (適宜更新予定) 生成AI系ツール テキスト生成 ツール名 特徴

                                                                              開発ツール・技術まとめ
                                                                            • 自作RDBMSやろうぜ!(Zenn出張版)

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

                                                                                自作RDBMSやろうぜ!(Zenn出張版)
                                                                              • マルチテナントの実現におけるDB設計とRLS / Utilizing RSL in multi-tenancy

                                                                                # 実装の参考資料 - https://soudai.hatenablog.com/entry/2022/11/11/110825 # 類似の登壇内容の動画 - https://www.youtube.com/watch?v=PXy6I-AeI-I

                                                                                  マルチテナントの実現におけるDB設計とRLS / Utilizing RSL in multi-tenancy
                                                                                • WebAssembly化したPostgreSQLをWebブラウザ上で実際に動かして学ぶ「Postgres playground」をCrunchy Dataが公開

                                                                                  WebAssembly化したPostgreSQLをWebブラウザ上で実際に動かして学ぶ「Postgres playground」をCrunchy Dataが公開 オープンソースのデータベースPostgreSQLの商用サービスを提供しているCrunchy Dataは、WebAssembly化したPostgreSQLをWebブラウザ上で実際に動かしながらPostgreSQLの基本から性能分析などさまざまな機能を学べる「Postgres playground」を公開しました。 Webブラウザ上でPostgreSQLを動かすため、サーバを用意する必要もなく、万が一間違った操作でデータベースを壊したとしてもすぐにインストール直後の初期状態に戻せるため、気軽にPostgreSQLを使って動作を学ぶことができます。 WebAssembly化されたPostgreSQLにはあらかじめチュートリアル用のデータ

                                                                                    WebAssembly化したPostgreSQLをWebブラウザ上で実際に動かして学ぶ「Postgres playground」をCrunchy Dataが公開

                                                                                  新着記事