「ポストグレス」「ポストグレスキューエル」などとも読む。 オープンソース系RDBMS(Relational Database Management System) のひとつ。 最近のバージョンでは(SQL99の仕様に近い)オブジェクト指向リレーショナルデータベースとしての機能も充実してきており、その高機能さが特徴となっている。 同じオープンソース系RDBMSでも、機能よりも速度と扱いやすさを選んだMySQLとは対照的である。
はじめに こんにちは! 株式会社インダストリー・ワンのエンジニア、角田です。 インダストリー・ワンでは、クライアントのサービス開発以外にも様々な取り組みを行っていますが、その中の一つにプロダクトのベースとして使うための、スターターキットの開発があります。 今回はその中で私が担当した、GitHub Actions で Prisma の DB マイグレーションを実行するようにした改善について、試行錯誤の中で得られた知見を共有したいと思います。 はじめに 開発環境(一部) 背景・目的 As Is To Be 成果物 ハマった箇所 GitHub Actionsを動かすには GitHub Actions…
はじめに GLB事業部Lakehouse部の阿部です。 今年のData + AI SUMMITで発表されたLakehouse Federation(レイクハウスフェデレーション)をさわってみました。 https://learn.microsoft.com/ja-jp/azure/databricks/query-federation/postgresql 注意 記事執筆時点では、この機能はパブリックプレビュー段階です。 Lakehouse Federationとは 複数の外部データベースからデータをLakehouseに移行せずに、Lakehouseからアクセスできる機能です。 データベースを外…
はじめに ベクタストアとは? ベクタを使ったユースケース ベクタストアを使うメリット pgvectorについて pgvectorとは? なぜpgvectorか? 構成 始めかた 1. Amazon RDS for PostgreSQLの起動〜EC2で接続 2. vector拡張機能の有効化 2-1. 上記手順で構築したEC2、またはお使いのpsgl実行環境から、PostgreSQLにログイン 2-2. vector拡張機能を有効化 2-3. PostgreSQLへ接続するユーザーへTableへのアクセス権権付与 3. Amazon Bedrockの有効化 4. Google Custom Se…
はじめに エキサイト株式会社 バックエンドエンジニアの山縣(@zsp2088dev)です。 エキサイトブログでは、DBコスト削減に取り組んでおり、これまでにいくつかの改善を行ってきました。 取り組んだこととその効果については、下記記事をご参照ください。 tech.excite.co.jp その記事の中で、PostgreSQLのイベントトリガの活用について簡単に触れました。 本記事では、イベントトリガのより具体的な活用方法について紹介します。 はじめに エキサイトブログのタグ機能 PostgreSQLのイベントトリガを採用した理由 実際に作成したテーブルとイベントトリガ 追加・更新時のトリガ関数…
はじめに 今回はDockerとdocker-composeについて学習したので既存のrailsアプリをdocker化する方法についてまとめます。 前提としてDocker、docker-composeはインストール済みとして進めていきます。 docker化までの流れ 以下の流れでdocker化を行います。 Dockerfile、docker-compose.ymlファイルを作成&編集 database.ymlファイルの編集 コンテナの立ち上げ&起動 アクセスできるかを確認 Dockerfile、docker-compose.ymlファイルを作成&編集 railsのプロジェクト直下にDockerf…
はじめに 祝・壮瞥町コラボ👏 英国コラボもきっとあるよね? nikkieです。 DBだけでなく、Djangoアプリもdocker compose upで動かすというテーマに取り組みました。 まだまだ突き詰められる余地があるのですが、一度セーブポイントを作ります 目次 はじめに 目次 これまで:DBだけdocker compose up ドキュメントの例 仮想環境で動かしていたDjangoアプリをdocker compose upで動かせるようにする マルチステージビルドする、でしょ! docker-compose.yml 宿題事項 終わりに これまで:DBだけdocker compose up…
【ポイントだけ!時短!初心者必見!】楽しく学ぶ!Javaオブジェクト指向はじめの一歩 10/4まで!14800円が無料! https://www.udemy.com/course/java-object/?couponCode=JAVAOBJECT_FREE_1004 なかなかとっつきにくいオブジェクト指向を楽しく学ぼう! 【1時間以内で基礎を習得しよう!】はじめてのMyBatis入門講座(Springboot・PostgreSQL使用) 10/4まで9800円が1700円! https://www.udemy.com/course/mybatisbasic/?couponCode=MYBAT…
CI/CD環境の構築手順を簡単に抑えると次のようになる※コンテナ環境で実施する場合 Gitlabコンテナを作成 Gitlab Runnerコンテナを作成 Gitlabにアクセスし、対象のプロジェクトを作成 Gitlabのプロジェクトからrunner登録必要な情報を取得する Gitlab Runnerコンテナにアクセスし、runnerの情報を登録する
英語回文 回文と私 島楽狂 - 回文自選集 2003年 2004年 2005年 ちょっと長めの怒りの注釈 それって転載じゃなくて盗s… え?実はオレが盗s…したの? 大人げない投稿の真意 蛇足:逆引きSQL比較(←これもパクられたことがあります) 1週間DTM 2回目「涼し」 後ろに貼った1週間DTM。お題は「涼し」なんですが、副題で「俳句」と言うのがありまして。 「涼し」を入れて一句、捻れと。 で、ワタクシ、たまさかにこのブログにも書いていますが、回文の人なので、久々に回文俳句に挑戦しました。 しかし、まったく思い浮かばず、と言うか「すずし」の逆読み「しずす」を入れるとなった時点で五七五は困…
healthcheckとサンプルコード 以下のコードではappはdbに依存しており、dbが起動していなければエラーが出てしまうため、その問題を解決するべくhealthcheckを使用しております。 version: '3' services: app: image: koda/docker-knowledge volumes: - ./volumes/knowledge:/root/.knowledge ports: - "8080:8080" restart: always depends_on: db: condition: service_healthy ##### here #####…
2023/11/28分のコミットです。 CHANGELOGへの追加はありませんでした。 add missing preposition in sentence rails guideのGetting Started with Railsの修正です。 Starting Up the Web Serverの項のグラマーの修正を行っています。 Separate bundle lock from bundle install railties/lib/rails/generators/app_base.rb、 railties/lib/rails/generators/rails/app/app_ge…
github.com PGAuditのissueとcommitを眺めていて、 個人的に悩みだった下記の問題が解決してそうだったのでバージョンごとの違いを確認する INSERT時の外部キーの監査ログがWRITEとして出てしまう問題 正直あまり意味のあるログではないので、出来る限り取りたくない SELECT FOR UPDATEがWRITEのログとして出てしまう問題 WRITEだけログに出したいのに、キューとして使用しているテーブルのポーリングログ(SELECT FOR UPDATE)が出て邪魔になったりしている 検証結果 PostgreSQLの13以降を使用していて、且つ pgaudit.log…
はじめに 少し早いですが、今月の学習記録をまとめます。 今月は、Goの学習と読書がメインでした。 バックエンドの学習を続けていてよく思うことですが、考えた上で実装することが多いと感じます。 特にOSやLinuxコマンド、DB・APIなどについて手を動かすことが相変わらず大事ですが、反面インプットして考える作業が必要だと感じます。 Goの学習だけではなく、バックエンド全般を中心に、書籍による学習をしていました。 ある程度学習が進むたびに、定期的に「Go言語プログラミングエッセンス」を読んでいます。 gihyo.jp 書籍 新人エンジニアのための データベースのしくみと運用がわかる本 SQLの書き…
マネージドサービス部 佐竹です。 Amazon Aurora I/O-Optimized オプションを本番環境に適用することで、Aurora のコストを年間200万円超も下げることに成功しました。そのために行った調査・対応とその結果をまとめてご報告します。 はじめに Amazon Aurora I/O-Optimized とは何か I/O リクエストが請求で問題になる場合 Aurora I/O-Optimized で I/O リクエストのコスト削減が可能に Cost Explorer で切り替えの判断を行う 設定方法 1. 対応 DB インスタンス 2. 対応 DB エンジンバージョン 3. …
TerraformというIaCのためのツールがあります。割とディレクトリ構成から管理の仕方までいろいろと自由がきくツールであります。 最近これでAWSのVPCやEKS、RDS、ElastiCacheをコードにしたのだけれど、個人的に今まで他の方が書いたコードを読み解いたりもしてきた経験から、なんとなく「こう書いた方が他人には優しいだろう」「将来的なメンテナンスコストが抑えられるだろう」と思いつつ書いていることに気づいたので、自分がどういうことに気を付けているかを書き留めてみます。 …といってもそんなに奇をてらったようなテクニックを使っているわけではないので(むしろそういうことをするとメンテナン…
↓↓クリックして頂けると励みになります。ランキング参加中プログラミング インストールしたRails7.1を使ってアプリケーションを作成します。 アプリケーション名は「StreamAcademe」とします。 コマンド rails _7.1.2_ new StreamAcademe -d postgresql アプリケーション作成 ターミナルで作成された「StreamAcademe」フォルダに移動します。 コマンド cd StreamAcademe Visual Studio Codeでディレクトリを開く 左上の「エクスプローラ」をクリックし、「開く」を選択します。 ディレクトリを開く 「Stre…
↓↓クリックして頂けると励みになります。ランキング参加中プログラミング Ruby on Rails(通称Rails)は、ウェブアプリケーションの開発に使用するオープンソースのWebアプリケーションフレームワークです。 Rubyというプログラミング言語で記述されており、開発者に使いやすい環境を提供し、生産性を高めることを目的としています。 Railsは、Web開発の一般的なタスクやパターンを簡素化し、標準化することで、効率的で迅速なアプリケーション開発を可能にします。 Rails7.1サブスクリプションすることでアップロードした動画を見て学習が行える機能を備えたサイトをRuby on Rails…
ISUCON13に参加した。 我々のアプローチ、当日の話なんかはチームメイトが書くだろうから自分はざっくり、ここまで1年間チームを組んでくれたチームメイトとの歩みについて書いて行こうと思う。 とはいえ、気になる人もいるかもしれないから置いておく。 github.com チームの始まり 2022/07/23 ISUCON12に出場した自分と @tetsuzawa はFailでscore無しとなり予選敗退した。 新卒1年目の@tetsuzawaが「来年も出ましょう。準備、できることは全部やるんで。」と言って来年も出るか。ってことが決まった。 二人で出たチームの課題は自律したガンガンコードを書けるG…
目次 目次 はじめに 自己紹介 Cotomemoryについて Cotomemoryの使い方 【名言の登録について】 【招待機能について】 Cotomemoryをつくったきっかけ ユーザーへのヒアリング 名言は突然生まれて、生まれた側から忘れられていく ユーザーの目線でつくる 苦労したところ 技術選定の難しさ 自作サービスはやること盛り沢山 リリースまで終えた感想 自信がついた 英語を読むのが苦ではなくなった 子育てとの両立は大変だ さいごに はじめに こどもの面白い名言を記録できるサービス「Cotomemory(コトメモリー)」をリリースしました。 cotomemory.com github.…
2023-11-18に開催されたJAWS-UG金沢 #94 & Kanazawa.rb 『Ruby on Rails on App Runner ハンズオン』に参加しました。久しぶりの参加記というかメモみたいなものを書き残しておきます。 jawsug-kanazawa.doorkeeper.jp フルマネージド型のコンテナアプリケーションサービスであるApp RunnerでRuby on Rails製のWebアプリケーションを動かすという内容です。App Runnerについては以下のリンクでどのようなものかが説明されています。 aws.amazon.com 内容を掻い摘むとこんなところでしょう…
Ruby on Rails の Active Record を再学習した。チーム内の LTで話した。 railsguides.jp Active Record MVC の モデルに相当し、ビジネスデータとビジネスロジックを表す。データベースに恒久的に保存される必要のあるビジネスオブジェクトの作成と利用を円滑に行なえるようにする。モデルとデータベースのテーブルは 1 対 1 の関係にある。データの操作を簡素化してくれている。 モデルクラスを作成して、それにデータベースのテーブルのカラムを属性として追加して、モデルのインスタンスがを通じてデータベースのレコードにアクセスするイメージ。 -> Boo…
最後に書いたのがポケモンの記事だったので、なんかタイトルがそれ寄りになってしまった 概要 ISUCON13にソロで出た。30位を目標にしたら36位になっててしまい、賞品が得られず残念だった ソロチームだけで数えると5番目らしい。ぼっち賞をください(物的証拠に飢えている) 全盛期のキャプチャ。2時間半で終わっていたら3位だった ENABLE_NESTLOOPというのはPostgreSQLのクエリプランを強要するパラメータのことで、ISUCONとは何の関係もない。まさかDB移行なんて考えていたなんてことがあるなんてことはない。まさかね 経過(抜粋) 10:10:17: 売上: 3677 初期ベンチ…
Azure 東日本リージョンにデプロイした Azure Linux 仮想マシンをDR (ディザスタリカバリ) 目的などで別リージョンに複製(コピー) したいことがあるのではないかと思います。 今回は、Azure Linux 仮想マシンを複製して別リージョンでデプロイする方法について、自分の整理も兼ねてまとめてみようと思います。 【前提条件】 Azure Linux 仮想マシンがデプロイされている。 Microsoft Azure Storage Explorer がインストールされた環境より、複製元、複製先の Azure サブスクリプション (Azure Storage アカウント) へアクセ…
前編の続きです。 hmatsu47.hatenablog.com 参加セッション(続き) 【T2】VACUUM Simulator を使って VACUUM をもっと理解しよう(pganalyze / 織田さん) speakerdeck.com 象使いとしては必須科目(?)ともいえる VACUUM について理解するセッション。個人的に 【T2】かつてVACUUMに負けてMySQLに移った者としては、VACUUMとたたかう術を身につけて帰らねば。#pgcon23j— hmatsu47(まつ) (@hmatsu47) 2023年11月24日 と意気込んで参加したものの、 【T2】アプリケーション実行…
去年に続いての参加です。今回は朝から参加しました。 www.postgresql.jp 終わった後の感想を一言でまとめるとこれ。 今日は結構頭を使う話が多かったな、という顔をしながらクロージングセッションを聞いている。#pgcon23j— hmatsu47(まつ) (@hmatsu47) 2023年11月24日 あと、今回は「猫も杓子も(象も亀も)Vector Store」という感じで、随所で pgvector への言及が見られました。 参加セッション 【K1】The Future of PostgreSQL: Fostering Adoption Through Extensibility(…