2024年6月に発表した(https://speakerdeck.com/ktz/duckdbza-shao-jie)内容にDuckDB バージョン1.1の変更点を追記した版
はじめに こんにちは。スタンバイで求人データ管理に関するバックエンドエンジニアをしている池田です。 スタンバイはWEB上に存在する大量の求人を一括検索できるサービスを提供しており、その求人票のマスタのデータは Amazon Aurora を使って運用しております。 以下の記事で説明をしておりますが、2021年に求人取込直後の求人情報を構造化データとして保存するために Amazon Aurora を採用しました。 スタンバイの求人情報取込の仕組みを作り直した話 〜序章〜 DBエンジンとして Aurora ( MySQL 5.7 ) を利用しております。 ストレージエンジンとしてInnoDBを利用しております。 しかし作り直しから時が経ち、求人票の増加や各種機能の追加等によって Aurora のデータ量は想定上の速さで増加していき、それに比例する形でインフラコストも増加し続けていました。 今回
Introducing postgres.new, the in-browser Postgres sandbox with AI assistance. With postgres.new, you can instantly spin up an unlimited number of Postgres databases that run directly in your browser (and soon, deploy them to S3). Each database is paired with a large language model (LLM) which opens the door to some interesting use cases: Drag-and-drop CSV import (generate table on the fly) Generat
こんにちは。大阪楽楽開発課のdaina_rksです。 Laravelのマイグレーションを活用して、テーブル定義を更新しているサービスは多いと思います。 しかしサービスが継続するにつれ、気づけば大量のマイグレーションファイルが存在している、、、なんて経験はありませんか? 私が携わっていたプロジェクトでも同じ悩みに直面していました。 この悩みに対して、私はマイグレーションファイルを全て削除するということを行いました。 今回はそのときの経験について、なぜマイグレーションファイルを削除するに至ったのか、削除するにあたって行なったこと、削除した結果どんな効果があったのかをご紹介します! マイグレーションファイルを全て削除するに至った理由 問題 マイグレーションファイルを全て実行するのに時間がかかる マイグレーションファイルのメンテナンスコストがかかる アイデア アクション ダンプ&リストアの仕組み構
はじめに かれこれ1年以上前のことになりますが、今の開発組織でデータベースに接続するJunitを使ったIntegrationTest1 を開発者のPCとCIで実行できる仕組みを作りました。 トライしたきっかけと想い 仕組みの設計・導入をする時に気を付けたこと 具体的な実現方法 トライしてみて感じたこと を記載します。 トライしたきっかけと想い 私が保守開発を担当しているプロダクトは20年近く運用されているWebアプリケーションです。(サーバーサイドはJava) 単体テストの仕組みと文化が無いまま長期間運用されており、大半のコードがレガシーコードという状態でした。 一部テストが書かれている箇所もありましたが、CIでの実行の仕組みはなく腐ってしまっているものも多い状態でした。 そこに @autotaker1984 さんがCIでの単体テスト実行の仕組みを作ってくれて、単体テストを書くべきというマ
以下の記事が面白かったので、かるくまとめました。 ・Applying OpenAI's RAG Strategies 1. はじめに「Open AI」はデモデーで一連のRAG実験を報告しました。評価指標はアプリケーションによって異なりますが、何が機能し、何が機能しなかったかを確認するのは興味深いことです。以下では、各手法を説明し、それぞれを自分で実装する方法を示します。アプリケーションでのこれらの方法を理解する能力は非常に重要です。問題が異なれば異なる検索手法が必要となるため、「万能の」解決策は存在しません。 2. RAG スタックにどのように適合するかまず、各手法をいくつかの「RAGカテゴリ」に分類します。以下は、カテゴリ内の各RAG実験を示し、RAGスタックに配置する図です。 3. ベースライン距離ベースのベクトルデータベース検索は、クエリを高次元空間に埋め込み(表現)し、「距離」に基
真のサーバーレスアーキテクチャについて語り、最新のエッジコンピューティングや生成系AIのサーバーレス実装を学び、クラウドネイティブで高速な開発プラクティスと向き合う2日間「ServerlessDays Tokyo 2023」。ここで登壇したのは、PingCAP株式会社の関口匡稔 氏。同社が開発する、オープンソースの分散型データベース「TiDB Serverless」について発表しました。全2回。後半は、TiDBを使ったアプリケーションのサンプル「OSS Insight」とChatGPTの機能「Chat2Query」について。前半はこちらから。 TiDBを使ったアプリケーションのサンプル「OSS Insight」 ここまで、TiDB Serverlessをどうやって作っていったかというコンセプトをご紹介してきました。ここから、TiDB Serverlessを実際に使ってみたという話をしたいと
これはエムスリー Advent Calendar 2023の9日目の記事です。 前日の記事はSREチーム後藤の「共有会をより効果的にするために考えたあれやこれ」でした。 エムスリーエンジニアリンググループ データ基盤チームの木田です。 師走です。12月といえば年末に向けて大掃除の季節です。 古来日本では12月に宮中で「煤払い」という行事を行う風習があったことが、今日年末の時期に大掃除をする由来とされているそうです。 私の自宅はまだ何も手をつけられていませんが、せめてBIツールの中だけでもということでRedashのクエリ棚卸しをした話*1をご紹介します。 エムスリーにおけるRedashの活用状況 長年の運用の結果起きた性能問題 問題の特定と発生原因 Workerの増設 クエリの棚卸しと改善 使われていない定期実行クエリの停止 サンプル1 直近参照なしかつ定期実行クエリ クエリの実行時間改善
GitHubの年次イベント「GitHub Universe 2023」が米サンフランシスコで開幕。1日目の基調講演で、GitHub Copilotがサードパーティの開発者向けツールやオンラインサービスなどと統合可能になることが発表されました。 例えば、Copilot Chatのチャットで、Datastax社が提供するNoSQLデータベース「Cassandra」の現在のクエリ性能に問題がないかを質問し、回答を得ることができます。 また、Cassandraの性能を改善するにはどうすればいいか、といったサードパーティ製品が備えるナレッジもCopilotに提供され、回答できるようになります。 Copilotとサードパーティ製品との統合はパートナープログラムを通して行われ、第一段としてDatastax、LaunchDarkly、Postman、Hashicorp、Datadogなどを含む25社以上が
DBeaver最強 DBeaverは無料で使えるDBクライアントツールです。 めちゃめちゃ高機能なので、使っている人も多いのではないでしょうか。 ツールのバグが怖いから、コンソールでのコマンドでしかDBには接続しない 派の人もいるかと思いますが、私の場合は使いやすいSQLエディタや、見やすい結果セットがあった方が作業ミスが起きにくいと思っているので(むしろコマンドの方がミスる)、DBeaverは開発にも本番メンテナンスでもフル活用しています。 本番メンテナンス ある時、イレギュラーな作業で、本番DBを直接いじることになりました。 大した作業ではなかったので手順書も作らずサクッとやることにしました。 エディタでクエリを準備 SELECTで現在のデータを確認と念のため記録 DBeaverの場合、エディタに複数SQLが書いてある場合、全て実行することもできますが、実行したいSQLのどこかにカーソ
Generate query functions by using the --sql flag on prisma generate: Import the query function from @prisma/client/sql … … and call it inside the new $queryRawTyped function to get fully typed results 😎 If your SQL query has arguments, they are provided to the query function passed to $queryRawTyped The Prisma Client API together with TypedSQL provides the best experience for both CRUD operations
これはなに ども、レバテック開発部のもりたです。 もりたはデータベースが好きなんですが、最近は特にAWS RDS/Auroraでのモニタリングとパフォーマンスチューニングについて興味があります。ただ、これらのうちモニタリングは扱っている話題が若干ローレベルであまりピンとこず、またチューニングもどこから手をつければいいのかわかりませんでした。 この記事では、もりたがモニタリング&チューニングを学習する上で役に立った書籍やWeb上の資料をロードマップ形式で紹介していきます。対象読者はDBのモニタリングとチューニングをやりたいけどどこから手をつければいいか分かんないなとなっている人、ゴールはそんな人がモニタリング&チューニングの第一歩を踏み出せることです。 スコープ 今回扱うもの、扱わないものは以下の通りです。 扱う モニタリング&チューニングの概要 モニタリングの前提知識 チューニングの前提知
はじめに こんにちはokodoonです タイミーのデータ基盤に対してデータモデリングを始めてしばらく経ったので、現状の全体構成を紹介したいと思います 全体構成 弊社のBigQueryは以下の4層にレイヤリングされています それぞれの役割は以下のような切り分けになっています レイヤー名 役割 データレイク層 複数ソースシステムのデータを未加工の状態でBigQueryにロードする宛先 dbt snapshotによるソースの履歴化 ステージング層 複数ソースシステムのデータを共通した処理でクレンジングする層 DWH層 ソースシステムのデータ形式を分析に適した形に変換する層 ディメンショナルモデリング/ログテーブルをイベント単位に分割/その他便利テーブル作成 データマート層 特定用途に対して1:1で作成されたテーブル群を格納する層 ダッシュボード用テーブル/Looker用テーブル/GoogleSh
タイトルは釣りです。 この記事は Vim Advent Calendar 2023 16 日目の記事です。 はじめに みなさんは SQL はどんな環境で編集しているでしょうか? Visual Studio Code?それとも Vim?まさか Vim/Neovim の素の状態で編集していたりしませんよね? 僕はしていました。 sqls (SQL Language Server) 以前、lighttiger2505 さんが開発した sqls に少しコントリビュートしていた頃がありました。 既に public archive になってしまっていますが、機能として実用的なままです。コントリビュートしていた頃は、あくまで OSS としての興味の方が大きく、如何に機能的にしていくかだけ着目していたため、常用はしていませんでした。 あらためて常用してみる sqls の導入 Vim から sqls を使う
はじめに 技術評論社様より発刊されているSoftware Designの2024年5月号より「レガシーシステム攻略のプロセス」と題した全8回の連載が始まりました。 ZOZOTOWNリプレイスプロジェクトで採用したマイクロサービス化のアプローチでは、安全かつ整合性のとれたデータ移行が必須となりました。第4回では、このマスタDBの移行について紹介します。 目次 はじめに 目次 はじめに マスタDB移行 マスタDB移行について 要件と課題 テーブル構成を再設計したうえでデータ移行を実施する ダウンタイムなしでデータ移行を実施する 方針 異なるDBおよびデータスキーマ間で移行を実施するためEmbulkを使用する ダブルライトをリリースし、データ移行中に発生するDBへの書き込みを両DBにアトミックに実施する データを一時DBに格納し、一時DBから移行先DBにデータを移行する BulkloadとBac
こんにちは、@hamayanhamayan です。 本稿ではWebセキュリティに対する有用な文書として広く参照されているOWASP Top 10の1つ「インジェクション」について考えていきます。色々なインジェクションを例に挙げながら、どのようにインジェクションが起こるのかという発生原理から、どのようにインジェクションを捉え、より広くインジェクションの考え方を自身のプロダクト開発に適用していくかについて扱っていきます。 SQLインジェクションやコマンドインジェクション、XSSのようなインジェクションに関わる有名な手法について横断的に解説をしながら、インジェクションの概念を説明していきます。初めてインジェクションに触れる方にとっては、インジェクションの実例や基本的な考え方に触れることができ、その全体像を把握する助けになるかと思います。 また、既にいくつかのインジェクション手法を知っている方にと
note ではメインデータベースとして Aurora MySQL を採用し、日々発生する膨大なトラフィックを処理しています。Aurora MySQL v2 (MySQL 5.7 互換) の標準サポートは2024/10/31 に終了するため、これを機に v3 (MySQL 8.0 互換) へのアップグレードを行いました。 アップグレードは無事に完了しましたが、いくつかの問題にも直面しました。これらを共有することで、これからアップグレードを検討している方へ参考になればと思います。 事前に検討した課題アップグレード後に致命的な問題が起きたらどうするかv3 へのアップグレード後に v2 へ切り戻すことは容易ではなく、スナップショットなどからの復元が必要になります。データをロールバックすることになるため、ユーザ影響が極めて大きく避けたい事態です。 そのため、基本的に切り戻しはできないという前提でアッ
タイトルのこともできることを検証した。(ORM で文句ない人は ORM として使えばいい) Prisma は TypeScript の優秀な ORM / QueryBuilder だが、Prisma 以外で運用されていると途中から投入するのが(一応可能ではあるが)面倒だったりする。 だが Typed SQL によって、既に存在するDBに対して、副作用なくクエリビルダとしてのみ導入することができるのでは、と思いついて試したところ、できた。 今回はリモートの Supabase の PostgreSQL に対して行ったが、たぶん他の環境にも使える。 d1 とか。 prisma の最小プロジェクトのセットアップ $ mkdir prisma-qb-only $ cd prisma-qb-only ## 初期化 $ pnpm init $ pnpm add prisma @prisma/client
dbtや同じ系統のDataformなど、ELTの特にTransform部分に強みを持つツールを使い始めて大体3年になる。主観だけど、それなりに使い倒している部類だと思う。 開発効率を計測するデータ基盤の管理にDataformを使ってみた - yasuhisa's blog dbtを触ってみた感想 - yasuhisa's blog dbt カテゴリーの記事一覧 - yasuhisa's blog これらのツールで巷でよく言われる データリネージの可視化ができる データに対するテストが簡単に書ける エンジニア以外の人ともコラボレーションしやすい あたりの話は耳にタコができるくらい聞いていると思うので、ニッチではあるもののそれ以外のdbtの個人的に推しなポイントをダラダラと書いてみたいと思う。データエンジニアやデータガバナンスを推進する人には共感してもらえる内容かもしれない。 推しポイント:
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く