SQL Server Backup Playbook: From Basics to Advanced StrategiesText by Takafumi Endo SQL Server backup represents a critical component of database management, serving as the primary defense against data loss and system failures.

この記事は、Magic Moment Advent Calendar 2024 2日目の記事です。 こんにちは、 Magic Moment で QAE をやっている yano です。 今年は Cloud Infra におけるコスト最適化や節約を実施することが多かった一年でした。 インフラコスト削減施策の一環で、本番環境ではない環境で利用している Cloud SQL インスタンスは夜間停止することを実施しました。 そこで本記事では、コスト削減のために Cloud Scheduler だけを用いて簡単に Cloud SQL インスタンスを自動停止する方法を紹介します。 コスト削減効果 まず、Cloud SQL インスタンスを夜間停止することによって得られるコスト削減効果について説明します。 Cloud SQL の料金において主にコストに影響のあるものは、CPU とメモリの料金、そしてストレージ
Prisma界隈で話題沸騰中(自分調べ)のTypedSQLだが、自分の中ではかなりアツいと思っているので、その理由を語ろう。なおTypedSQLの機能とか仕組みについては記述しないのでドキュメントや以下の記事を参照するとよい。 Prismaの難しさ 複雑なクエリを組み立てるのが特に難しい。複雑といっても何10行もあるようなクエリとかではなく、joinとか集計関数がいくつかあるくらいで十分複雑になる。たとえば特定のユーザーに紐づく記事をコメントの数を含めて取得したいとする。クエリは雰囲気こんな感じ。SQLとしては全然難しくない。 SELECT posts.id, count(comments.id) AS cnt FROM posts INNER JOIN users ON posts.author_id = users.id LEFT JOIN comments ON posts.id =
DuckDB Foundationは2024年6月3日、オープンソースのインプロセス分析データベース「DuckDB」の正式リリースバージョン1.0.0(コードネーム“Snow Duck”)をリリースした。 Announcing DuckDB 1.0.0 DuckDBは高速に動作するインプロセス分析データベース。ビルドする際に外部依存関係がなく、インストールとデプロイが簡単で、ホストアプリケーション内でインプロセスで実行したり、単一のバイナリとして実行できる。Linux、macOS、Windowsや、すべての一般的なハードウェアアーキテクチャ上で実行可能で、 Python、Rに深く統合されているほか、Java、C、C++といった主要なプログラミング言語用のクライアントAPIを備えている。また豊富なSQL方言が利用可能で、CSV、Parquet、JSONなどのファイル形式で、ローカルファ
お久しぶりです。GMO NIKKOのharuです。 私が担当するサービスGood!Appsは、GCPを用いて本番環境をクラウド上に構築しております。当然データベースもCloud SQLを使用しているのですが、次のような用途でローカルからCloud SQLに接続したいことがあります。今回は、公式が提供しているCloud SQL Auth ProxyというCloud SQLコネクタを使用した方法をお伝えします。 主な用途 データ確認: 開発中にCloud SQL内のデータを確認したい場合。 データ修正: 何らかの理由でCloud SQL内のデータを直接修正する必要がある場合。 データベースマイグレーション: Cloud Runなどのコンテナ環境からCloud SQLにデータを移行したい場合。 注意点 本番環境のデータベースに接続するため、操作は慎重に行ってください。 不要な時は接続を閉じること
SmartHRで届出書類という機能を担当しているプロダクトエンジニアのsato-sと申します。 今日は、以前私が調査にとても苦労したパフォーマンス上の問題の話を紹介したいと思います。 TL;DR PostgreSQLのアップグレードを実施した アップグレード後、今までは問題のなかった特定のクエリの実行に1時間超かかり、DBのCPU使用率がピッタリ100%に張り付くようになった 色々調査した結果、PostgreSQL上の型キャストの場所のせいで、良くないクエリプランが選択されることが原因だった 型キャストの場所には気をつけよう PostgreSQLのアップグレードと挫折 SmartHRでは基本的にWebアプリケーションのデータベースとしてGoogle CloudのCloudSQLによって提供されるPostgreSQLを利用しています。 私の担当している届出書類機能では、利用中のPostgre
私は日付時刻の処理が大好きです。 タイムゾーンの問題でデータ抽出が9時間分漏れていたとか、朝9時の始業前のログが昨日付けになってしまっていたなんていう問題が起こると喜んじゃうタイプ。 そんな私にとって、各プログラミング言語が標準で持っている日付時刻型クラスにはそれぞれ思うところがあり、今日はちょっとその品評会をしてみたいと思います。 エムスリーエンジニアリンググループ、Unit1(製薬企業向けプラットフォームチーム)三浦(@[email protected]) [記事一覧 ]がお送りいたします、エムスリー Advent Calendar 2023の2日目です。 至高の日付時刻型を持つ言語、BigQuery SQL 不足はないが蛇足、Java 8 日付時刻で画竜点睛を欠いたC# C#よりややまし、Python 型は良い構成、なのに命名と処理関数で損しているPostgreSQL まとめ We ar
困った時はドキュメント、どうもかわしんです。最近、諸事情で SQLite のドキュメントを読んでいます。 前回の記事 で紹介した通り SQLite を Rust で再実装しています。おかげさまで 300 を超える Github Star もいただき嬉しいです。 github.com SQLite は全ての仕様が ドキュメント にまとめられているので、そのドキュメントと本家の実装を読み比べながら実装しています。 SQLite を再実装する上で特に以下のドキュメントは役にたちます。これらだけで最小限の SQLite の実装は作れると思います。 Overview Documents > About SQLite いかに SQLite がすごいかを自慢しているドキュメント。使おうとしている人には安心を、再実装しようとする人には絶望を与えてくれます。 Programming Interfaces >
セキュリティを盾に一点突破。どうもかわしんです。最近 Rust で SQLite を実装してます。 以前の記事で HTTP Parser を Rust で実装しようとしたものの、すでに実装されていたので断念しましたが、いい題材を見つけました。SQLite です。開発中のリポジトリはこれです。 github.com 今の時点では、Read Only で1つの WHERE 句を持った SELECT 文しか処理できないですが、以下の機能を実装しています。 sqlite3 で生成された database ファイルの読み取り (cursor.rs, btree.rs, record.rs) SQL 文の解析 (token.rs, parser.rs) テーブルとインデックスのメタデータのパース (schema.rs) 動的なファイルの読み込み (pager.rs) SQL クエリとスキーマ情報を元に
このエントリーは Classi developers Advent Calendar 2022の18日目。 ネタはなんでもいいよ!とのことなので、Claasiに全く関係なく、MysqlからPostgreSQLに移行する際の注意点を書く。 なお、まだRDSにPostgreSQLがなかった頃のような昔の記事だがこちらに無いことを書いていく。 soudai1025.blogspot.com soudai1025.blogspot.com MySQL から PostgreSQLにデータ移行する際の注意点 MySQLとPostgreSQLは互換性がもちろんありませんので、細かいところで違いが発生します。 よく踏むデータ移行の注意点は以下の通り。 timestampやdatetimeを移行する先はtimestamp型になるが、timestamp型はタイムゾーン付きと無しがある timestamp wi
Shekhar Gulati Writings on Software Engineering, Software Architecture, Generative AI and LLMs I spent some time going over the Postgres schema of Gitlab. GitLab is an alternative to Github. You can self host GitLab since it is an open source DevOps platform. My motivation to understand the schema of a big project like Gitlab was to compare it against schemas I am designing and learn some best pra
爆速のアイコン検索サイトを作ったので、遊んでみてください。 (1) まずは自分が使いやすいアイコン検索サイトを作りたかったので作りました。(2) 様々なアイコンを爆速で横断検索し、サクッとアイコンをコピーできるようにしました。単純ながら意外とその部分が面倒なサイトは多い気がします。(3) また応用とメンテがしやすい実装にして、非常にサポート範囲の広い DB を GitHub Pages 上で構築しました。公開時点では 120+ のアイコンセットと、130,000+ のアイコンをサポートしており、サポート数も観測範囲では No.1 です。 開発動機 アプリ/サイト開発ではまずお世話になるであろうアイコン。私はこれまで Material Icons と Bootstrap Icons ばかり使っていました。これは検索が面倒だったからです。検索が面倒だと知名度の高いものだけに閉じてしまうので、良
昨日僕の Twitter タイムラインで q というツールが話題に上がっていました。 GitHub - harelba/q: q - Run SQL directly on CSV or TSV files Text as Data q is a command line tool that allows direct execution of SQL-like q... https://github.com/harelba/q 標準入力を SQL で抽出できるという物です。ただ個人的には「こういうの python じゃなくて Go でビルドされてると助かるよなー」と思ったので q と同じ様な動作になるツールを作ってみました。 GitHub - mattn/qq Select stdin with query https://github.com/mattn/qq 例えば msys2 のシ
こんにちは、クラウド請求書受領サービス「Bill One」の開発に携わっているソフトウェアエンジニアの加藤です。Bill OneはB2BのマルチテナントSaaSであり、データベースとして Cloud SQL 上のPostgreSQLを利用しています。従来はマルチテナントのデータを分離するために、テナントごとにPostgreSQLのスキーマを分けていましたが、2020年12月にRow-Level Securty(行レベルセキュリティ。以降RLSと表記)による分離に移行しました。 本稿では、移行の背景とRLS組み込みにあたって考慮したポイントをご紹介します。 マルチテナントSaaSのテナント分離 マルチテナントSaaSにおけるテナント分離方法はいくつか知られており、大きく次の3つに分けられます。 アプリケーションの実行環境ごと完全に分離する データベースのみをインスタンスやスキーマで分離する
注意 このページにアクセスするには、承認が必要です。 サインインまたはディレクトリの変更を試すことができます。 このページにアクセスするには、承認が必要です。 ディレクトリの変更を試すことができます。 適用対象:Azure SQL データベース この記事では、マルチテナント SaaS アプリケーションに使用できるさまざまなテナント モデルについて説明します。 マルチテナント SaaS アプリケーションを設計するときは、アプリケーションのニーズに最適なテナント モデルを慎重に選択する必要があります。 テナント モデルでは、各テナントのデータをストレージにマップする方法を決定します。 選択したテナント モデルは、アプリケーションの設計と管理に影響します。 後で別のモデルに切り替えると、高コストになる場合があります。 A. SaaS の概念と用語 サービスとしてのソフトウェア (SaaS) モデ
はじめに LiteStream がアツいですね。LiteStream は SQLite データベースのレプリカを作るシステムです。これを使う事で、アプリケーションが更新した SQLite データベースを S3 ストレージに瞬時にバックアップする事ができます。 はい... LiteStream を使ったサイドカー構成 LiteStream を使い、コンテナの起動前にデータベースをリストアし、アプリケーションが起動した後にレプリカを行えば、コンテナは何時でもホストから消し去る事ができる様になります。 以下に、/data ボリュームにリストアを行い、アプリケーションの起動後にレプリカを開始する docker-compose.yaml を示します。 version: '2' services: restore-container: image: litestream/litestream cont
個人でWebサービスを継続的に運用するのは金がかかってかなわんという問題がある 「個人開発」だと定義が曖昧なので自己資金かつ赤字のプロジェクト(Webサービス)ということにする。 そういうプロジェクトではプロダクトオーナー=自分、開発者=自分、予算管理者=自分というロールになるので予算管理者としてコストを図る必要がある(ここでいうコストはWebサービスを実現するアプリケーションのランニングコストのこと)。 通常はみんな自分の人件費を0として計算していると思う(逆にいうとそれが負債という考え方もできると思う)。 ただしメンテナンス時間とコストのトレードオフもあるので、人件費0ではあるけど有限の時間は別軸として管理しているのが普通だと思う。極端な例だと「コスト削減できるけどメンテナンス時間10倍になる」というのは避けられる。 仮に個人開発のプロジェクトの予算を月数千円から高くても1万円ぐらいか
This blog post inspired the creators of Left on Read — a free and open source iMessage analyzer that uses SQLite under the hood! Check out Left on Read SQLite is an often overlooked flavor of SQL engines. Some have suggested it is the most prolific SQL engine in existence due to its highly flexible nature and ability to run on almost any platform with limited resources. Unlike other SQL engines li
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く