並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 64件

新着順 人気順

DBの検索結果1 - 40 件 / 64件

  • 複数の企業でデータエンジニアとして求められたスキル - yasuhisa's blog

    最近「ああ、これ前職でも前々職でもやったことあるなぁ」という仕事があった。データエンジニア(やその関連職種)として働き始めて約5年、3社でフルタイムとして働いてきて「このスキルは業界や組織規模が変わってもデータエンジニアとしてスキルを求められることが多いな」と感じたものをまとめてみることにした。棚卸し的な意味はあるが、特に転職用などではないです。 前提 どこでも必要とされたスキル データマネジメントに関する概要レベルの知識と実行力 セキュリティや法令に関する知識 事業ドメインに関する興味関心 他職種とのコミュニケーション能力 コスト管理 / コスト削減のスキル ソフトウェアエンジニアとしてのスキル DataOpsやアラートのハンドリング能力 分析用のSQLを書く力 古いテーブルやデータパイプラインを置き換えていくスキルや胆力 あるとやりやすいスキル 関連部署の動きを何となく把握しておく力

      複数の企業でデータエンジニアとして求められたスキル - yasuhisa's blog
    • サブクエリの書き方を2万文字弱かけてすべて解説する

      これはなに ども、レバテック開発部のもりたです。 今回はSQLのサブクエリについてまとめます。仕事でクエリを書く際、サブクエリは頻出の構文だと思うんですが、同時にサブクエリの書き方を完全に理解しているよという人は案外少ないのではないでしょうか?[1] 実際、MySQLの公式ドキュメントを見ると12ページくらいを割かれており、意外と奥深いのがサブクエリです。使いこなせると便利ですし、何よりちょっとSQLのコツみたいなのがわかって面白いよ、ということで記事にしてみました。 前提 この記事は以下の前提を含んでいます。 環境 MySQL8.0系 読者の知識 なんとなくサブクエリが書ける けど相関サブクエリとかになると「あーっ」つってGoogle meetを閉じてしまうくらいのレベル感 記事のボリューム 18,000文字 おれの卒論が20,000文字だった マサカリ 間違ってたら投げてくれ〜〜 それ

        サブクエリの書き方を2万文字弱かけてすべて解説する
      • 本を読むたびに読みたい本がどんどん増え、積読が解消されないがどうすればいいか。 | レファレンス協同データベース

        分類<019(読書、読書法)>の棚をブラウジングした。 (読みたい本を更に増やしてしまうかもしれないが、)読書法に関する資料を、積読に触れているものを中心に紹介する。 (1)本を速く読む方法・通読しなくてもいいという意見 資料1 『超速読力』 「超速読力」とは、本や書類を見た瞬間に内容を理解し、コメントを言えるという新しい力であるとし、その意義とトレーニング法について書いている。 資料2 『大学生のための速読法』 接する文献の多い大学生や大学院生のために、楽にポイントを読み取ることができる速読法を紹介している。 資料3 『読まずにすませる読書術』 読む必要のない箇所を見抜く技法や、本を読まずにすませる技法を紹介している。 資料4 『時間がない人のための即効読書術』 バスで読書する際に酔いにくい席の選び方(p.17-18)など、読書を効率化する具体的な技術を紹介している。 (2)多読や乱読な

          本を読むたびに読みたい本がどんどん増え、積読が解消されないがどうすればいいか。 | レファレンス協同データベース
        • SOLID原則完全に理解した!になるための本

          SOLID原則を学び、完全に理解した!になるための本

            SOLID原則完全に理解した!になるための本
          • PCの操作をすべて録画&文字起こしして過去の操作を丸ごと検索可能にするアプリ「Windrecorder」

            PCを使っていると、過去の操作内容やブラウザで閲覧していた情報を思い出したくなるタイミングが頻繁に発生します。そんな時に役立ちそうなPC操作記録アプリ「Windrecorder」がオープンソースで開発されています。 GitHub - yuka-friends/Windrecorder: Windrecorder is a memory search app by records everything on your screen in small size, to let you rewind what you have seen, query through OCR text or image description, and get activity statistics. https://github.com/yuka-friends/Windrecorder I made an o

              PCの操作をすべて録画&文字起こしして過去の操作を丸ごと検索可能にするアプリ「Windrecorder」
            • SQL滅ぶべし | ドクセル

              SQL • リレーショナルデータベースシステムと会話するための言語 • 1970年 Codd が RDB モデルと同時に提案 (Alpha言語) • 1974年 Chamberlin と Boyce が改良 • 元々は SEQUEL (Structured English Query Language) だったが、商標登録されていた • 読み方は エスキューエル とそのまま読む (Glliespie 2012)

                SQL滅ぶべし | ドクセル
              • 自社サービスのバックエンドを Go から TypeScript へ切り替えるための整理

                切り替える理由 自社の主力製品で利用している技術(WebRTC / WebTransport)がブラウザベースのため TypeScript を利用する Go を採用したのは sqlc が使いたかったという理由 sqlc-gen-typescript が出てきたのでもう Go を使う理由がなくなった 自社サービスチーム全員が Go にまったく興味が無い sqlc 自体は便利 そもそも自社に Go への興味がある人がいない 自社サービスの規模ではボトルネックになるのはデータベースであって言語ではない もしアプリでスケールが必要なときは Rust や Erlang/OTP に切り替えれば良い コネクションプールは PgBouncer を利用すればいい TypeScript からは 1 コネクション 1 接続で問題無い どうせフロントエンドでは TypeScript を書く 自社では React

                  自社サービスのバックエンドを Go から TypeScript へ切り替えるための整理
                • もう人間がクエリを書く時代じゃない!SQLクエリの組み立てを自動化するSlack botを開発・導入しました - Pepabo Tech Portal

                  こんにちは。SUZURI事業部の@kromiiiと申します。 私のメインの業務はWebアプリケーションの開発ですが、大学院時代のスキルを活かして並行してデータ分析業務も行っています。 データ分析業務ではデータベースのクエリを書くことが多いのですが、私自身SUZURI事業部に配属されたばかりで、テーブルの名前やリレーションを覚えるのが大変でした。そこでクエリの設計を自動化するツールをSlackに導入しました。 その名も tbls-ask bot です。どのようなものか先に見てみましょう。 ユーザーはSlackでメンションする形で、どのようなクエリを実行したいのか自然言語で入力します。 メンションされるとSlack botが起動し、どのDBスキーマを利用するかを尋ねます。 ユーザーがDBスキーマを選択すると、自然言語からSQLクエリを生成し、Slackに返答します。 今回はパブリックに公開する

                    もう人間がクエリを書く時代じゃない!SQLクエリの組み立てを自動化するSlack botを開発・導入しました - Pepabo Tech Portal
                  • SQLは滅ぶべきか|ミック

                    でかい釣り針が来たので釣られてみる。とりあえず以下の資料を読んでいただきたい。そんなに長くないのでサクッと読める。 SQLの記述順序と思考の順序が違うので書きにくいし、エディタの補完機能の恩恵が受けられないのが嫌だ、という意見はもう大昔からある。何度も何度も何度も繰り返されてきた議論である。以下の2011年のスレッドでも「SQLはFROM句が最初に来るべきではないか?」という問いが提起されている。すぐに出てこないが、筆者はこれより古い文書も見た記憶がある。

                      SQLは滅ぶべきか|ミック
                    • MySQLのSQLクエリチューニングの要所を掴む勉強会を開催しました! - ANDPAD Tech Blog

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

                        MySQLのSQLクエリチューニングの要所を掴む勉強会を開催しました! - ANDPAD Tech Blog
                      • CockroachDB はどのくらい「しぶとい」のか? / How tough is CockroachDB?

                        CockroachDB はどのくらい「しぶとい」のか? / How tough is CockroachDB?

                          CockroachDB はどのくらい「しぶとい」のか? / How tough is CockroachDB?
                        • WEBアプリケーション開発者です。 特別セキュリティのスペシャリストになりたいというわけでないですが、アプリケーション開発者として徳丸本に記載されている内容レベルのセキュリティ知識はあります。 システムのセキュリティに関してはベンダーの脆弱性診断を通して運用しており、個人的にはセキュリティに関して何か困ったことがいままでありません。 ただ、ふと考えてみると「情報漏洩やサイバー攻撃が発生した際などの有事にどのような行動をとるべきか」という観点ではあまり自信がないなと感じました。社内でもそのような場合の指針が

                          WEBアプリケーション開発者です。 特別セキュリティのスペシャリストになりたいというわけでないですが、アプリケーション開発者として徳丸本に記載されている内容レベルのセキュリティ知識はあります。 システムのセキュリティに関してはベンダーの脆弱性診断を通して運用しており、個人的にはセキュリティに関して何か困ったことがいままでありません。 ただ、ふと考えてみると「情報漏洩やサイバー攻撃が発生した際などの有事にどのような行動をとるべきか」という観点ではあまり自信がないなと感じました。社内でもそのような場合の指針が整っているわけではないです。 徳丸先生は、一般的な開発者には最低限どのレベルのセキュリティ知識を求められていますか? 回答の難しい質問ですが、ここは本音をさらけ出したいと思います。 私が「安全なWebアプリケーションの作り方(通称徳丸本)」を出したのが2011年3月でして、それから13年以

                            WEBアプリケーション開発者です。 特別セキュリティのスペシャリストになりたいというわけでないですが、アプリケーション開発者として徳丸本に記載されている内容レベルのセキュリティ知識はあります。 システムのセキュリティに関してはベンダーの脆弱性診断を通して運用しており、個人的にはセキュリティに関して何か困ったことがいままでありません。 ただ、ふと考えてみると「情報漏洩やサイバー攻撃が発生した際などの有事にどのような行動をとるべきか」という観点ではあまり自信がないなと感じました。社内でもそのような場合の指針が
                          • 存在するはなぜ二階の述語なのか|ミック

                            拙著『達人に学ぶ SQL徹底指南書』の中で、EXISTS述語の使い方を解説している章があるのだが、そこでEXISTS述語だけが唯一SQLの中で二階の述語である、ということを説明している。これはEXISTS述語だけが行の集合を引数にとる述語だからである。それは分かるのだが、なぜ述語論理を考えた人(具体的にはゴットロープ・フレーゲ。タイトル画像のおじさんである)はこんな着想を得たのか、そこが分かりにくいという質問をしばしば受けることがある。確かに、数ある述語の中でなぜ「存在する」だけが二階の述語であるのか、というは直観的にすこし分かりにくい。なぜフレーゲはこんなことを考えたのだろう? この点について、述語論理の創始者でもあるフレーゲの議論を参照しながらかみ砕いて見ていきたいと思う。かなり理論的かつ哲学的な話になるので、興味ない方は読み飛ばしてもらってかまわない。とくにSQLの理解に支障のある話

                              存在するはなぜ二階の述語なのか|ミック
                            • 【魚拓】【番外編】Excelの知識しかない人をRDBの担当者にする:SQLの知識がなくてもJetBrains AIを利用してRDBをノーコード生成!|kintoneにお...

                              ・ 05月02日 07時    取得の修正をアップデートします     ウェブ魚拓をご利用いただき、ありがとうございます。先日のアッ ... ・ 05月01日 19時    【追記】ウェブ魚拓のバージョンアップが終了しました     連携が上手に言ってなかった点から延長が行われてしまい、お手数 ... ・ 04月29日 23時    【重要・緊急】ウェブ魚拓のバージョンアップを行います     ウェブ魚拓のやや大きいバージョンアップを行います。5/1 A ...

                                【魚拓】【番外編】Excelの知識しかない人をRDBの担当者にする:SQLの知識がなくてもJetBrains AIを利用してRDBをノーコード生成!|kintoneにお...
                              • 今更聞けないDBMSのメモリ管理について

                                DBMSのメモリ管理について データベース管理システム(DBMS)の設計では、大量のデータと複雑なクエリを処理するために、ハードウェアの特性を最大限引き出すことが求められます。 この記事では、DBMSがどのようにメモリを使ってデータアクセスの速度を向上させ、同時にデータの安全性を確保しているのかを解説します。 DBMSと記憶装置の関係について DBMSが使う記憶装置は次の2つです。 HDD HDDは磁気ディスクを使用してデータを記録・読み取りする記憶装置です。その主な特徴は大容量であり、コスト効率が良いことです。DBMSでは、データの永続的な保存にHDDが用いられます。これにより、システムがシャットダウンされた後もデータが保持され、必要に応じて再びアクセス可能となります。 しかし、HDDのデータアクセス速度はメモリに比べて遅いため、リアルタイム処理や高速なトランザクションが求められるアプリ

                                  今更聞けないDBMSのメモリ管理について
                                • もっと調べる技術 国会図書館秘伝のレファレンス・チップス2 | 皓星社(こうせいしゃ) 図書出版とデータベース

                                  本書の使い方 第1講 NDLデジタルコレクションは国会図書館のDXである 第2講 国会図書館にない本を探す法 第3講 リニューアルされたNDL サーチを使ってみる 第4講 デジコレの2022 年末リニューアルをチェック! ファミリーヒストリー編 第5講 デジコレの2022 年末リニューアルをチェック! 官報編 第6講 ネット上で確からしい人物情報を探すワザ 現代人編 第7講 推し活! アイドルを調べる 第8講 小さなお店の歴史を調べる ある模型店を事例とした生活史 第9講 分類記号(NDC)を使って戦前の未知文献を見つける 第10講 予算無限大の理想のコレクションから、現役のレファ本を見つけるワザ 第11講 洋書はCiNii。それって常識? 出たはずの本を見つける 第12講 風俗本(成人向け図書)を調べるには 国会図書館の蔵書を中心に 第13講 「ナウい」言葉が死語になる時 第14講 言葉

                                    もっと調べる技術 国会図書館秘伝のレファレンス・チップス2 | 皓星社(こうせいしゃ) 図書出版とデータベース
                                  • Prisma ORMを2年運用して培ったノウハウを共有する

                                    TSKaigi 2024 ref: https://tskaigi.org/talks/tockn

                                      Prisma ORMを2年運用して培ったノウハウを共有する
                                    • Javaで最低限おさえておいてほしいクラス・インタフェース35 - 2024年版 - きしだのHatena

                                      ま、このくらい知っておいてもらわないと&とりあえずこんだけ知ってればだいたいの処理が書けるクラス・インタフェースをまとめてみました。2024年版。 詳しく知りたい人は「プロになるJava」を! java.lang.Class java.lang.Exception <- new java.lang.Integer java.lang.Object <- new java.lang.Runnable java.lang.String java.lang.System java.lang.Thread java.nio.file.Files <- new java.nio.file.Path <- new java.io.InputStream java.io.InputStreamReader java.io.BufferedReader java.io.OutputStream java.

                                        Javaで最低限おさえておいてほしいクラス・インタフェース35 - 2024年版 - きしだのHatena
                                      • クエリのパフォーマンスチューニングの第一歩。実行計画や統計情報について入門する

                                        SQL実行の流れ まずはSQLがどのような流れで実行されるのかを見ていきます。 SQL実行の流れは大まかに捉えると以下のようになります。 パーサ パーサでは、ユーザーから送信されたクエリを受け取り、その文法的な正確さを検証します。SQLクエリが正しくフォーマットされているか、必要な構文要素が全て含まれているかをチェックし、例えばFROM句で指定されたテーブルが存在するかどうかも確認します。 文法的なエラーがある場合、例えばカンマの欠落や存在しないテーブルの参照など、クエリはエラーとして返されます。 エラーがない場合は、クエリは「抽象構文木」というデータ構造に変換されます。これにより、データベースはクエリをより効率的に解析し、次の処理ステップに進めることができます。 オプティマイザ SQLクエリがパーサを通過した後、次にクエリの最適化を行うのが「オプティマイザ」です。オプティマイザの主な役割

                                          クエリのパフォーマンスチューニングの第一歩。実行計画や統計情報について入門する
                                        • なぜSQLiteはバイトコードを使うのか

                                          以前にデータベースを自作しようとして、SQLiteのアーキテクチャを見てみたらVMだったことに疑問を感じ、それをツイートしたところ作者からリプをもらいました。 作者いわく、次のような背景があったとのことでした。 SQLiteを作った当初はデータベースエンジンのことをよく知らないがコンパイラのことをよく知っていた SQLデータベース・エンジンを書くという問題をコンパイラ構築の問題として扱うのは自然なことだった データベースエンジンのコアの部分をVMにするという発想がまったくなかったので、どんなメリットがあるのか?と気になっていました。 それを作者に聞いたら、詳細な説明ページを作ってくれました。 個人的にVMにしたことで、評価&実行のパフォーマンスは多少良くなると思うが、データベースエンジンのパフォーマンスにそれほど寄与していないんじゃないかな?って思ったりしました。 本記事はそのページについ

                                            なぜSQLiteはバイトコードを使うのか
                                          • LLMをWebフレームワークにしたら、未来が見えた #2024

                                            最近、LLMにWeb Backendを書かせて遊ぶ、Hanabiというサービスを作っています。その開発過程で、前に試したLLMをAPIとして振る舞わせるアプローチを再検討したので、記事としてまとめました。 一年ちょっと前、私はChatGPTをWebフレームワークにしようと試みました...が、残念ながら全く実用的ではありませんでした。しかし、あれから一年、LLMは目覚ましい進歩で進化を遂げました。価格は下がり、速度も上がり、記憶容量の増加やRAGの発展など、もはや別物レベルで進化しています。 いまならもうちょっと実用的なヤツが作れるんじゃねってことで、色々な手法を面白がった再検討したまとめです。 余談ですが、一年前はLLM=ChatGPTという状況でしたね...懐かしい。ちょうどvicuna13Bが出た頃ですかね? ↓去年の記事(できれば読んでほしい)↓ 出来たもの 全部プロンプトに入れちゃ

                                              LLMをWebフレームワークにしたら、未来が見えた #2024
                                            • 【番外編】Excelの知識しかない人をRDBの担当者にする:SQLの知識がなくてもJetBrains AIを利用してRDBをノーコード生成!|kintoneにおまかせ!(VIP SYSTEMS 公式)

                                              【番外編】Excelの知識しかない人をRDBの担当者にする:SQLの知識がなくてもJetBrains AIを利用してRDBをノーコード生成! 企業にとってデータは顧客の次に大切なものであり、その保持・管理・活用方法について各社の担当者は日々、頭を悩ませているところだと思います。 2010年代になってから話題になった「NoSQL」はデータベースの一つの選択肢としてすっかり定着し、2020年代になってからはWebブラウザからデータの入力・閲覧がすべてできてしまう「DBaaS(サービスとしてのデータベース)」とでも呼ぶべき製品も多数出てきました。それらを活用したいところですが、社内で運用しているRDBMSをすぐにやめるわけにもいきません。 これらを保守するには、担当者は最低でもSQLは覚えておかなければならないのですが、教育コストが掛かります。そこで今回は「先輩社員がいなくても、SQLを知らなく

                                                【番外編】Excelの知識しかない人をRDBの担当者にする:SQLの知識がなくてもJetBrains AIを利用してRDBをノーコード生成!|kintoneにおまかせ!(VIP SYSTEMS 公式)
                                              • TypeScriptとGraphQLで実現する型安全なAPI実装

                                                この記事はTSKaigi2024での以下の私の発表内容を書き下ろしたものです。 なぜAPIに型をつけたいのか 現代のWebのシステム開発において、クライアント・サーバーともに型のある言語で開発されることが増えてきました。静的な型検査はコードの堅牢性やよりよいメンテナンス性の向上をもたらします。 プログラミング内部だけで型検査をするだけでも十分メリットはありますが、外部I/Oに対する型付けが不十分だとそのメリットを最大限に発揮してるとは言えません。外部I/Oとは、例えばWebフロントエンドだとLocalStorageやDOMからの入力値、それからネットワーク通信(今回はこれをAPIと呼びます[1])などですね。サーバー側でいうとAPIからの入力・レスポンスやデータベースへの読み書きが該当します。 個人的な経験から言うと、Webシステムの開発におけるエラーの多くはAPIやデータベースとのやり取

                                                  TypeScriptとGraphQLで実現する型安全なAPI実装
                                                • Aurora MySQLのメモリ不足の原因を特定する

                                                  シンプルフォーム株式会社でインフラエンジニアをしている守屋です。 本記事では Aurora MySQL の OOM(メモリ不足)エラーについて、原因となるクエリを特定するために役立つ Tips を弊社での実例を交えてご紹介します。 発端 突如 Slack に鳴り響く不吉な通知。 「パターン青!障害です!!」 どうやら本番環境の Aurora クラスターがフェイルオーバーしてアプリケーションが DB コネクションエラーを引き起こした模様です。幸いインスタンスは冗長化していて Aurora のフェイルオーバーは高速であるため、ユーザー目線では瞬断が発生した程度の比較的影響が小さめな障害に留まりました。しかしインフラエンジニアとしては捨ておけない状況です!早速原因の調査を始めました。 フェイルオーバーの原因 結論から言うとメモリ使用量がスパイクして OOM エラーが発生したことが原因でした。根拠

                                                    Aurora MySQLのメモリ不足の原因を特定する
                                                  • Figmaは多大なアクセスをさばくためにどのようにデータベースのスケーリングを行ったのか?

                                                    ブラウザベースのデザインツール「Figma」のデータベース(DB)は2020年以来100倍に拡大しました。当初は単一のPostgreSQLで構築されていたDBをどのようにして分散システムへと移行したのかについて、公式ブログで詳しく説明されています。 How Figma's Databases Team Lived to Tell the Scale | Figma Blog https://www.figma.com/ja-jp/blog/how-figmas-databases-team-lived-to-tell-the-scale/ Figmaではまず、「Figmaファイル」や「組織」などテーブルごとにDBを分割する「垂直分割」を行いました。2022年までに10個のパーティションに分割し、それぞれのパーティションを監視することでスケーリングの優先順位を付けたとのこと。 Figmaの利

                                                      Figmaは多大なアクセスをさばくためにどのようにデータベースのスケーリングを行ったのか?
                                                    • 数百サイトがFirebaseのセキュリティルール設定を誤って合計1億2500万件の機密情報が公開されてしまっていた

                                                      Firebaseのセキュリティルールの設定を誤っていることが原因で数百のサイトが平文パスワードや機密情報を含む合計1億2500万件のレコードを公開してしまっているとセキュリティエンジニアの「Logykk」「mrbruh」「xyzeva」という3人がブログに投稿しました。 900 Sites, 125 million accounts, 1 vulnerability - env.fail https://env.fail/posts/firewreck-1/ セキュリティエンジニアの3人はChattr.aiというサービスでFirebaseの設定が間違っていることを発見しました。Chatter.aiではウェブサイト上の正規ルートで登録するとアカウントの権利が適切に制限されるものの、FirebaseのAPIを直接使用してアカウントを作成するとFirebase上のデータベース全てに対する権限が取

                                                        数百サイトがFirebaseのセキュリティルール設定を誤って合計1億2500万件の機密情報が公開されてしまっていた
                                                      • Amazon RDS ブルー/グリーンデプロイを利用してMySQLのアップグレードをした話 - Pepabo Tech Portal

                                                        こんにちは。技術部プラットフォームグループのharukinです。 この記事では、私たちが提供するネットショップ作成・運用のためのECプラットフォーム「カラーミーショップ」のデータベースを、Amazon RDSのブルー/グリーンデプロイを利用し、MySQLのバージョン5.7.38から8.0.35へアップグレードした経験についてご紹介します。カラーミーショップにおいてはこれが初の試みでした。Amazon RDS固有のファーストタッチレイテンシーの解除方法や、ダウンタイム時間の計測についてもお伝えします。 Amazon RDSのブルー/グリーンデプロイを活用するメリットは、本番環境に準ずるステージング環境を構築し事前検証が可能であることです。ステージング環境は約1分で本番環境に昇格させることができ、昇格時に許容ダウンタイムを超えたり、レプリケーションやインスタンスの問題が生じた場合は、自動的にプ

                                                          Amazon RDS ブルー/グリーンデプロイを利用してMySQLのアップグレードをした話 - Pepabo Tech Portal
                                                        • MySQL 8.4 LTS登場!!

                                                          記事を書くのが遅くなってしまったが、先日MySQL 8.4シリーズが登場したので紹介をしておこうと思う。新機能の解説については機会を改めて書くとして、今回は主にアップグレードにまつわる重要なポイントを書き記しておく。 LTS = Long Term Support 以前の記事でも紹介した通り、MySQL 8.4はLTS = Long Term Supportのバージョンとなっている。長期間サポートするために互換性を最大限保証するバージョンである。前のメジャーバージョンであるMySQL 8.0シリーズのように、シリーズの途中で互換性が破壊されるような変更が入ることは基本的に無い。「バグ修正のためにどうしても仕様を変えなければならない」というような事態が生じる可能性はゼロではない。なので絶対に互換性が保たれるとは言い切れないところであるが、基本的には仕様変更はない方向で今後リリースされていくこ

                                                            MySQL 8.4 LTS登場!!
                                                          • Snowflake の Copilot が優秀すぎる件について

                                                            マーケティングテクノロジーの情報やノウハウ・TIPS、エクスチュア社の情報を発信。【ブログネタ募集】ご興味のある分野を教えてください!ご要望の内容を記事に起こします!メニューの「ブログへの」リクエストよりお送りください。 menu こんにちは、喜田です。 いままでSnowflakeのライトユーザーで一部機能だけに特化して触っている状態でしたが、最近はData Superheroes 2024になったこともあり、いままで関わりの薄かった製品領域も調査したり、海外リージョンでしか出ていないプレビューを触ったりしています。 そのうちの一つがCopilotで、いまは北米など一部リージョンでのみパブリックプレビュー中の、Snowflakeコード開発が一段と捗るAIおしゃべり機能です。 この右側のパネルがCopilotとのチャット。出力が多くてチャットっぽくないですが、上から会話が続いております。 C

                                                              Snowflake の Copilot が優秀すぎる件について
                                                            • pytest でテストケース毎に DB を自動的に初期化して、テスト開発体験を向上させる - SalesNow Tech Blog

                                                              概要 Web バックエンドのテストコードを書く場合、その多くは DB に依存していることが多いです。 DB 関連のテストは、テストデータの準備やテストケース毎の DB 処理化を適切に行うことが重要ですが、手間がかかる場合あるため、Mock で擬似的にテストしてしまうことも多いかと思います。 ただ、Mock を使ったテストは本質的な問題を検知できない意味のないテストになってしまう可能性があり、可能な限り DB の Mock を行わずに、実際の DB を使用してテストすることが望ましいと考えています。 本記事では、pytest、sqlalchemy、PostgreSQL を使った場合に、テストケース毎に DB を簡単に初期化しつつ、テストケース毎の前提データ登録も簡単うことでテスト開発体験を向上させる方法を紹介します。 前提環境 本記事では、以下の環境を前提として説明いたします。 python

                                                                pytest でテストケース毎に DB を自動的に初期化して、テスト開発体験を向上させる - SalesNow Tech Blog
                                                              • リクルートが『スタディサプリ』で Amazon Aurora Serverless v2 を採用。コストを最適化しつつ Aurora の管理工数を大幅削減 | Amazon Web Services

                                                                Amazon Web Services ブログ リクルートが『スタディサプリ』で Amazon Aurora Serverless v2 を採用。コストを最適化しつつ Aurora の管理工数を大幅削減 株式会社リクルートは、日本国内のHR・販促事業及びグローバル斡旋・販促事業をおこなう事業会社です。リクルートでは、『スタディサプリ』というスマートフォンアプリ、パソコンで利用可能なオンライン学習サービスのデータベースとして Amazon Aurora PostgreSQL を採用しています。 2023 年 5 月にこの Aurora PostgreSQL を Aurora Serverless v2 に変更しました。採用検討から 1.5 ヶ月と短期間で導入を決定しましたが、入念な検証の結果 Aurora の運用負荷を大幅に削減し、サービスの安定運用も実現しています。本ブログは、『スタディサ

                                                                  リクルートが『スタディサプリ』で Amazon Aurora Serverless v2 を採用。コストを最適化しつつ Aurora の管理工数を大幅削減 | Amazon Web Services
                                                                • note の Aurora MySQL を v2 から v3 へアップグレードしました|tic40

                                                                  note ではメインデータベースとして Aurora MySQL を採用し、日々発生する膨大なトラフィックを処理しています。Aurora MySQL v2 (MySQL 5.7 互換) の標準サポートは2024/10/31 に終了するため、これを機に v3 (MySQL 8.0 互換) へのアップグレードを行いました。 アップグレードは無事に完了しましたが、いくつかの問題にも直面しました。これらを共有することで、これからアップグレードを検討している方へ参考になればと思います。 事前に検討した課題アップグレード後に致命的な問題が起きたらどうするかv3 へのアップグレード後に v2 へ切り戻すことは容易ではなく、スナップショットなどからの復元が必要になります。データをロールバックすることになるため、ユーザ影響が極めて大きく避けたい事態です。 そのため、基本的に切り戻しはできないという前提でアッ

                                                                    note の Aurora MySQL を v2 から v3 へアップグレードしました|tic40
                                                                  • SNSを通じた「ギブ&テイク型情報収集術」と、後悔しない技術選定を叶える方法【DBエンジニア|こば】 レバテックラボ(レバテックLAB)

                                                                    SNSを通じた「ギブ&テイク型情報収集術」と、後悔しない技術選定を叶える方法【DBエンジニア|こば】 2024年5月8日 データベースエンジニア/DBソムリエ こば -Koba as a DB engineer-(@tzkb/小林隆浩) 基盤担当のエンジニアとして様々なプロジェクトで経験を積み、中でもデータベースに関する設計、運用、トラブルシューティング等を専門とする。得意とするDBMSはOracle DatabaseおよびPostgreSQL。オライリー社刊行・書籍「詳説 データベース」監訳者。itmediaにてクラウドネイティブなDBやNewSQLに関する連載を持つ。 X Zenn Qiita connpass SpeakerDeck 技術や業界など仕事についての情報収集の基盤として多くのエンジニアを支えていたTwitter(現X)が、以前とは異なる姿となってゆく今、必要な情報を過不足

                                                                      SNSを通じた「ギブ&テイク型情報収集術」と、後悔しない技術選定を叶える方法【DBエンジニア|こば】 レバテックラボ(レバテックLAB)
                                                                    • 請求関連テーブルのスキーマ変更をした話 - Feedforce Developer Blog

                                                                      以前に アプリケーションを停止させずにRDBのスキーマ変更する話 を書きました。 developer.feedforce.jp 今日は、その実践編というか、実例として EC Booster というサービスで請求関連テーブルのスキーマを変更した話をしようと思います。 はじまりのテーブル 元々、 EC Booster の請求を管理するテーブルは、このような形でした。 create_table "monthly_charges", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| t.uuid "shop_id", null: false t.integer "year", null: false t.integer "month", null: false t.datetime "created_at"

                                                                        請求関連テーブルのスキーマ変更をした話 - Feedforce Developer Blog
                                                                      • 関数としてのテーブル - 写像と命題関数|ミック

                                                                        拙著の一つに『おうちで学べるデータベースのきほん』というデータベース初心者向けの入門書がある。2015年刊行なのでそれなりに年月が経っているのだが、ありがたいことに今でもコンスタントに読んでいただいている。 この本の中で「リレーショナルデータベースのテーブルは関数として捉えられる」という話をしているのだが、ある読者の方からそこがよく分からなかった、という質問をいただいた。ちょうどよい機会なので、少しこの点を補足説明しておきたいと思う。 テーブルが関数だと言うとき、二つの含意がある。一つは集合から集合への写像としての意味、もう一つが述語論理における命題関数としての意味である。一般的にテーブルが関数だという場合は、前者の意味で言われることが多い。こちらは関数従属性や正規形の概念にも繋がっていくから、関係モデルの理解という点でも広がりのあるオーソドクスな解釈だ。拙著でもこの意味で説明している。し

                                                                          関数としてのテーブル - 写像と命題関数|ミック
                                                                        • BigQuery クエリ - pokutuna

                                                                          BigQuery 関連: Colaboratory 標準 SQL 語彙の構造  |  BigQuery  |  Google Cloud リテラル等の仕様 その場でデータを作ってクエリする 動作確認に便利 code:struct.sql SELECT MIN(status) FROM UNNEST([ STRUCT('unexamined' AS status), STRUCT('unexamined' AS status), STRUCT('ng' AS status) ]) 型ほしい時は型を書く code:complex_struct.sql SELECT * FROM UNNEST( ARRAY<STRUCT<count INT64, time TIMESTAMP>>[ STRUCT(3, TIMESTAMP "2020-07-01 10:00:00"), STRUCT(5, TIM

                                                                            BigQuery クエリ - pokutuna
                                                                          • [Software Design連動企画] 実践クエリチューニング | gihyo.jp

                                                                            この記事は、『Software Design 2024年6月号』(2024年5月17日発売)の第1特集「SQLチューニングする前に知っておきたい 実行計画&インデックスのしくみ」の連動企画です。ぜひ本誌特集1もお読みください。 適切なインデックスを設計する インデックスの調整によるクエリの高速化は、RDBMSを使用する際の数あるチューニングテクニックの中でも最もお手軽なものです。テーブルのカラムの定義を変えるわけではないので、クエリの結果に違いが生じず、アプリケーションを変更する必要性がないからです。適切なインデックスを付与するだけでチューニングが済むというのは極めて効率的です。それでは適切なインデックスとはどのようなものでしょうか。本記事では、まずインデックスを設計する際に重要なポイントを解説します。 インデックスとSQL構文 「どのカラムの組み合わせに対してインデックスを作成すべきか」

                                                                              [Software Design連動企画] 実践クエリチューニング | gihyo.jp
                                                                            • Why SQLite Uses Bytecode

                                                                              1. Introduction Every SQL database engine works in roughly the same way: It first translates the input SQL text into a "prepared statement". Then it "executes" the prepared statement to generate a result. A prepared statement is an object that represents the steps needed to accomplish the input SQL. Or, to think of it in another way, the prepared statement is the SQL statement translated into a fo

                                                                              • Pinterest社で運用されているText-to-SQLを理解する

                                                                                導入 こんにちは、株式会社ナレッジセンスの須藤英寿です。普段はエンジニアとして、LLMを使用したチャットのサービスを提供しており、とりわけRAGシステムの改善は日々の課題になっています。 本記事では、Pinterest社のエンジニアチームが紹介していた、実運用環境におけるText-to-SQLの構築方法に関する記事の紹介をします。 Text-to-SQLを実際の運用レベルで実現するための手法が解説されているので、その内容を解説、そして考察していきたいと思います。 なおこの手法には特に名前などは設定されていなかったので、以降Pinterest社の提案するText-to-SQLをPinterest Text-to-SQLと呼称します。 サマリー Pinterest Text-to-SQLは、RAGのシステムを最適化することで 検索に必要なTableのより正確な抽出 実際に使用されている値に準拠

                                                                                  Pinterest社で運用されているText-to-SQLを理解する
                                                                                • 【SQL】NULL値を制御/SQLマスターへの道「COALESCE」 - Qiita

                                                                                  導入 SQL文でNULL値を扱う際の便利な関数、COALESCEを紹介しようと思います。 SELECT句で、NULL値を置き換えることで、データの可読性を高めることができたり。 ORDER BY句で、NULL値のソートの条件分岐の複雑性を吸収したり。 と、SQL文の簡略化にぴったりです。 今回の記事では、簡単にCOALESCE関数の説明と実践例を2つご紹介します。 COALESCEについて リストの最初の非 NULL 値を返します。非 NULL 値がない場合は、NULL を返します。 つまり、欠損値(NULL)にデフォルト値を指定することができます。 例 SELECT COALESCE(`office`.`locale`, `office`.name`, `リモート勤務`); 上記のクエリを例にすると...。 office.locale(オフィスの場所)を出力。 office.locale

                                                                                    【SQL】NULL値を制御/SQLマスターへの道「COALESCE」 - Qiita