SQL • リレーショナルデータベースシステムと会話するための言語 • 1970年 Codd が RDB モデルと同時に提案 (Alpha言語) • 1974年 Chamberlin と Boyce が改良 • 元々は SEQUEL (Structured English Query Language) だったが、商標登録されていた • 読み方は エスキューエル とそのまま読む (Glliespie 2012)
![SQL滅ぶべし | ドクセル](https://cdn-ak-scissors.b.st-hatena.com/image/square/27e9e6c53f9e77c5d36dc257056120f45f4e5c87/height=288;version=1;width=512/https%3A%2F%2Fbcdn.docswell.com%2Fpage%2F972Y96N17R.jpg%3Fwidth%3D480)
切り替える理由 自社の主力製品で利用している技術(WebRTC / WebTransport)がブラウザベースのため TypeScript を利用する Go を採用したのは sqlc が使いたかったという理由 sqlc-gen-typescript が出てきたのでもう Go を使う理由がなくなった 自社サービスチーム全員が Go にまったく興味が無い sqlc 自体は便利 そもそも自社に Go への興味がある人がいない 自社サービスの規模ではボトルネックになるのはデータベースであって言語ではない もしアプリでスケールが必要なときは Rust や Erlang/OTP に切り替えれば良い コネクションプールは PgBouncer を利用すればいい TypeScript からは 1 コネクション 1 接続で問題無い どうせフロントエンドでは TypeScript を書く 自社では React
はじめに 本稿では分析用クエリをスラスラ書けるようになるまでの勉強方法や書き方のコツをまとめてみました。具体的には、自分がクエリを書けるようになるまでに利用した教材と、普段クエリを書く際に意識していることを言語化しています。 想定読者として、SQLをガンガン書く予定の新卒のデータアナリスト/データサイエンティストを想定しています。 勉強方法 基礎の基礎をサッと座学で勉強してから、実践教材で実際にクエリを書くのが望ましいです。 実務で使える分析クエリを書けるようになるためには、実務経験を積むのが一番良いですが、だからといって座学を御座なりにして良いというわけではありません。SQLに自信がない人は、一度基礎に立ち返って文法の理解度を確認した方が良いと思います。 書籍 SQL 第2版: ゼロからはじめるデータベース操作 前提として、SQLに関する書籍の多くがデータベース運用/構築に関する書籍がほ
Recently, I’ve been interested in the DuckDB project (like a SQLite geared towards data applications). And one of the amazing features is that it has many data importers included without requiring extra dependencies. This means it can natively read and parse JSON as a database table, among many other formats. I work extensively with JSON day to day, and I often reach for jq when exploring document
All you want is here Cell Editing: Directly click and edit content within cells. Formula Support: Input mathematical and logical formulas to auto-calculate values. Data Sorting and Filtering: Sort data based on a column or multiple columns; use filters to view specific rows of data. Aggregation Function: Automatically summarize statistics for each column, providing instant calculations like sum, a
前から気になっていた Litestream を Cloud Run で使ってみたので、そのメモです。 Litestream とは? サンプルコード 手順 動作確認してみる 制限事項 おまけ まとめ 参考 Litestream とは? Litestream は、 SQLite のデータベースファイルを Amazon S3 や Google Cloud Storage などのオブジェクトストレージにリアルタイムでレプリケートすることができるオープンソースのツールです。 例えば通常 Cloud Run で DB エンジンとして SQLite を使用しようとしても、コンテナが破棄されると同時に毎回 SQLite のデータベースファイルも消えてしまうため、データを永続化することができません。 しかし Litestream を使用すれば、 SQLite のデータベースファイルをオブジェクトストレージに
Notionには同期データベースとしてGitHubやJiraなどを同期できるDBがありますが、任意のサービスには対応していません。 もっと色々なサービスと同期するNotionのデータベースが欲しかったので、bluenotiondbというツールを作りました。 azu/bluenotiondb: Sync Bluesky/GitHub/Calendar/RSS to Notion. bluenotiondbは、色々なサービスからデータを取得してそのデータをNotionのデータベースに追加するツールです。 現状では次のサービスに対応しています。 Bluesky Pull Posts from Bluesky and push to Notion GitHub Activity Pull events of GitHub user and push to Notion Open/Close/Com
SolanaのPublic DataをBigQueryで取得したかった# えー、お笑いを一席. ブロックチェーンSolanaのデータがGoogle Cloud BigQueryで使えるようになったというニュースをたまたまネット推薦記事でみかけた1. おや, 面白そうだ. ちょっとやってみようかな… BigQueryはさわるのが1年以上つかってないかも, どうやるんだっけ… とりあえずカラムとかサンプルでちょっとデータをみたいよな, こんな感じだっけか? とりあえず動かしてみよう, ポチッとな. … 5秒でレスポンスが帰ってくる. おー、速い. えーっと, あれ課金データ309TB?! いちげきひっさつ、ハサンギロチン2. BigQueryでクエリ一撃5 秒で29万円溶かした人の顔# 話題の画像生成AI, DALL・Eをつかって BigQueryでお金溶かした人の顔を表現してもらった3. あ
SmartHRで届出書類という機能を担当しているプロダクトエンジニアのsato-sと申します。 今日は、以前私が調査にとても苦労したパフォーマンス上の問題の話を紹介したいと思います。 TL;DR PostgreSQLのアップグレードを実施した アップグレード後、今までは問題のなかった特定のクエリの実行に1時間超かかり、DBのCPU使用率がピッタリ100%に張り付くようになった 色々調査した結果、PostgreSQL上の型キャストの場所のせいで、良くないクエリプランが選択されることが原因だった 型キャストの場所には気をつけよう PostgreSQLのアップグレードと挫折 SmartHRでは基本的にWebアプリケーションのデータベースとしてGoogle CloudのCloudSQLによって提供されるPostgreSQLを利用しています。 私の担当している届出書類機能では、利用中のPostgre
Directus Marketplace Customize your data experience with extensions.
GitHub、1200台以上のMySQL 5.7を8.0へアップグレード。サービス無停止のまま成功させる GitHubが提供するGitHub.comは、世界最大のソースコード管理システムを始めとするソフトウェア開発者向け支援サービスを提供しています。 そのGitHub.comはRuby on Railsで構築されており、同社はつねにRubyとRuby on Railsをアップデートし続けていることを今年(2023年)4月に明らかにしています。 参考:GitHubは200万行規模のRailsアプリケーションであり、毎週RailsとRubyを最新版にアップデートし続けている そして同社はこのGitHub.comを支える1200台以上のMySQL 5.7を、GitHub.comのサービスレベルを維持したまま1年以上かけてMySQL 8.0にアップグレードしたことをブログで明らかにしました。 Up
はじめに 最近エンジニア界隈では「リーダブルコード」が話題なっていますね。 リーダブルコードでは、このような定理が紹介されています。 「コードは他の人が最短時間で理解できるように書かなければいけない。」 Dustin Boswell リーダブルコード P.3 より引用 SQLでも同じことが言えそうです。 リーダブルなSQLを書いてないと結婚できない時代が今まさに到来しようとしています。 皆さん、クソSQL1を読んだことがありますね? クソSQLを書いたことがありますね? 僕は、あります。 そこで、本記事ではどうしたらリーダブルなSQLが書けるかというアイデアを紹介します。 処理の流れの順に上から読めるようにする 人間のメンタルモデルは、問題やタスクを小さなステップに分割し、それぞれを順番に実行することに適しています。 サブクエリを使ったSQLでは、処理の流れは上から下ではなく、ネストされた
n番煎じ、今更ながら…。 ChatGPTは過去遊びでしか使ったことがなかったのですが、 今、超長文SQL群を改修してまして、何重にもなった副問合せと集計関数を読み解くのに疲れて…ChatGPTに手を出しました。 そして、 え!!ChatGPTやばい!! 介護は必要だけどすぐ形にしてくれるしなんなら私より知識あるわ!! 只今、職を失いました!! ってなったので、この衝撃を書き残しておこうと思います。 やりたいこと 作るSQLの要件はざっくり、 dba_hist_sysstatから、physical readsなど各統計情報のvalueの増分値を取得する 統計情報種別毎・1日毎に、1ヶ月間集計 日時判別のために、dba_hist_snapshotと結合する valueには累積値が入っている。ただし、インスタンス再起動があるとリセットされる。 つまり、「累積だから」と直前のスナップショットのva
「最近は、データベースもB/Gデプロイできるらしいよ?」 「そりゃそうやろ。B/Gデプロイなんて、最近当たり前……… へ?DBが?無理でしょ?ほぇ?どういうこと?」 最初アップデートのタイトルを見たときの、ハマコーの率直な感想です。 Blue/Greenデプロイは、現行バージョンのトラフィックを活かしたまま新バージョンを動作確認し、問題なければ新バージョンをリリースするという、最近の安全なデプロイの概念において無くてはならないものです。 同時に新旧バージョンを稼働させるため、基本的にはステートレスなアプリケーション・サーバーにおいて利用するものという固定概念があったのですが、それをデータベースに対して既存のAWSの技術を組み合わせつつAWSらしいマネージドな仕組みで解決しようという、意欲的なリリースです。制約事項もそれなりにあるので、皆さんの運用ワークロードに当てはまるかは、事前の検証が必
DBMS に依存するロジックのテストを書く時、主に2つの手法があると思います。 Repository 層などを mock する Service 層のテストをする時は、その下位の Repository 層を mock して、DBMS に依存しない形にしてからテストする レイヤードなアプリケーションで適用できる手法 テスト実行時も DBMS を裏で動かして、それを使う 本番と同じスキーマを持つ DBMS に対して、実際に insert したり select してテストする DBMS は docker-compose upとかで事前に立ち上げておく 双方にそれぞれ良さがあって、プロダクトによってどっちでやるか変わってくると思います。 この記事では 2 の手法を Prisma でどうやるかについて紹介します。 前提 実際のテストコードの例 テストヘルパーを作る 別解: ヘルパーを自動生成する je
WebAssembly化したPostgreSQLをWebブラウザ上で実際に動かして学ぶ「Postgres playground」をCrunchy Dataが公開 オープンソースのデータベースPostgreSQLの商用サービスを提供しているCrunchy Dataは、WebAssembly化したPostgreSQLをWebブラウザ上で実際に動かしながらPostgreSQLの基本から性能分析などさまざまな機能を学べる「Postgres playground」を公開しました。 Webブラウザ上でPostgreSQLを動かすため、サーバを用意する必要もなく、万が一間違った操作でデータベースを壊したとしてもすぐにインストール直後の初期状態に戻せるため、気軽にPostgreSQLを使って動作を学ぶことができます。 WebAssembly化されたPostgreSQLにはあらかじめチュートリアル用のデータ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く