はじめに 2024年1月にリテール(ネットショップ・レジ)部門からサービス(予約)部門に異動になった @ucks です。 異動してからはスマートリストという機能の開発を行っていて、5月6日に無事リリースできたのと、開発途中で障害に至ってしまった部分があるので、裏側を少し紹介しようかなと思います。 はじめに スマートリストとは スマートリストの設計 検索の仕様変更 高負荷時のハンドリング そして障害へ 見逃した点 DBの実行計画確認時の見逃し 動作確認時の漏れ 監視先の漏れ ログの損失 おわりに スマートリストとは スマートリストの開発についての話を行う前に、まずはスマートリストについて簡単に説明しておきます。 スマートリストとは、特定の条件の顧客をラベリングする機能です。 早い話、最終予約日がいつ、予約回数が何回以上等の顧客の検索条件を保存しておいて、閲覧時にラベリングして、視認しやすくし
こんにちは、データベース愛好家のみなさん!今日は、データベース設計で永遠の議論となっている「テーブル名、単数形 vs 複数形問題」について、徹底的に掘り下げていきます。私は単数形派です!でも、なぜそうなのか、一緒に深掘りしていきましょう。 イントロダクション:我らが主人公、単数形くん みなさん、こんな経験ありませんか? You: テーブル名って、users? user? どっちがいいんだろう... 先輩: いや、絶対usersだよ!Rails使ってるし。 You: でも、user_idって書くときは単数形だよね? 先輩: あ、そうだね...でもやっぱりテーブルは複数形! You: (心の中で)なんかモヤモヤする... 実は、この「モヤモヤ」には理由があるんです。今日はその理由を解き明かし、単数形テーブル名の魅力をお伝えします。準備はいいですか?Let's dive in! 言語の壁を突破せ
UUIDs are often used as database table primary keys. They are easy to generate, easy to share between distributed systems and guarantee uniqueness. Considering the size of UUID it is questionable if it is a right choice, but often it is not up to us to decide. This article does not focus on "if UUID is the right format for a key", but how to use UUID as a primary key with PostgreSQL efficiently. P
PostgreSQLのマネージドサービスなどを提供しているTimescaleは、PostgreSQLで高速なベクトルデータベース機能を実現する拡張機能「Pgvectorcale」をオープンソースとして公開したことを発表しました。 大規模言語モデルを用いた生成AIの注目度が高まる中で、文章や画像、音声といったデータの特徴を数値で表現するベクトル化(もしくはエンベディング)により、大規模言語モデルで扱えるようにすることへの注目も高まってきています。 ベクトルデータベースは、このベクトル化された膨大なデータの保存や類似度の検索などが可能です。 例えば、RAG(Retrieval Augmented Generation)と呼ばれる手法により大規模言語モデルの回答に外部のデータベースから取得したデータを組み込むことができます。こうした場面でベクトルデータベースが活用されます。 高速ベクトルデータベ
こんにちは。LINEヤフー株式会社で、出前館というプロダクトのサーバーサイドエンジニアをしている古田大志です。 株式会社出前館はLINEヤフーのグループ会社です。資本業務提携を結んでいて、LINEヤフーが開発などをサポートしています。 詳しくはこちらをご参照ください。(https://corporate.demae-can.co.jp/pr/news/demaecan/line.html)(外部サイト) 今回の記事では、その出前館における開発の内容を紹介させていただきます。 出前館はデリバリーサービス事業のプロダクトで、開発においてはマイクロサービスアーキテクチャを採用しています。出前館のマイクロサービスの1つに、クーポンに関するドメインの責務を持ったコンポーネントであるクーポンサービスがあります。 クーポンサービスでは、ビジネスエンハンスに伴う「非機能要件の増大」や「仕様の複雑さの肥大化
オラクルは、自然言語による質問からSQLクエリを生成したり、自然言語で求める機能を説明することでアプリケーションの生成まで実現する「Oracle APEX AI Assistant」(以下、APEX AI Assitant)を発表しました。 APEX AI Assistantは同社のローコード開発ツールであるOracle APEXの機能として提供されます。Orale APEXはOracle DatabaseはOracle Autonomous Databaseなどを含む同社のOracle Databaseクラウドサービスにおいて無償で利用可能です。 このAPEX AI Assistantを含むOracle APEXの新バージョンは今日から利用可能。 自然言語からSQL文を生成 Oracle APEXでデータベースアプリケーションを開発する場合、まずデータモデルを設定し、デザイナーで画面を作
MySQL/Aurora/TiDBロック入門 – 第3回ロック読取りも SELECT は止められない【解説動画付】 MySQL とその互換 DB のロックの挙動を紹介する入門シリーズ、第3回は第2回で紹介したロックモニターを使って、業務ではよく使われているロック読取りについて解説します。 ロック読取りは、ゲームのバックエンドサーバーなど「同時に多数の処理をこなすけど、データとしての一貫性も重要」な場合に必須となるテクニックです。既に使っているという方も復習を兼ねてぜひご覧ください! ★ 第1回 トランザクション分離レベル ★ 第2回 ロックモニターの読み方 ★ 第3回 ロック読取りも SELECT は止められない ★ 第4回 INSERT を止めるインテンションロック ★ 第5回 WHERE 条件と違うレコードロック ★ 第6回 ギャップロックがあっても更新される ★ 第7回 ネクストキー
TORANOANA Lab 物理削除 vs 論理削除 レコード消滅作戦 虎の穴ラボ 河野 裕隆 JJUG CCC 2024 Spring Copyright (C) 2024 Toranoana Lab Inc. All Rights Reserved. #jjug_ccc_c 自己紹介 河野 裕隆(こうの ひろたか) 好きなもの ● 2019/08 虎の穴ラボ入社 ● VOCALOID(初音ミク) ● 新規開発チーム ● 謎解き、クイズ ○ ● クリエイティア他 X: @hk_it7 虎の穴ラボへの入社理由 ● スキルを高めあえる仲間がほしい ● ユーザーに近い仕事がしたい JJUG CCC登壇は半年ぶり3回目 初めてスタッフ参加🎉 2 Copyright (C) 2024 Toranoana Lab Inc. All Rights Reserved. #jjug_ccc_c
Techouseの「エンジニア基礎勉強会」とは Techouse では「基礎勉強会」と称して2週間に1回、わたしが OS・ネットワーク・データベース・ハードウェア・セキュリティ・システムアーキテクチャなどをお話する勉強会を開催しています。 講師は私ひとり、資料を準備するのも私ひとり、動画を収録して YouTube Live で社内向けに配信する作業も私ひとりでやってます。 参加は任意ですが、社内のメンバー (社員・インターン生・業務委託でご参画いただいている方) の多くの方が参加してくれています。先日の RubyKaigi 2024 に参加してくれたメンバーもほとんどがこの勉強会に参加し、基礎的な知識をもった上でセッションへ臨んでくれました。 開催履歴 これまでの開催履歴はこんな具合です。 見ていただくとわかる通り、ほんとうに基礎的な内容を1個ずつやっているということがわかるかと思います。
Techouseの「エンジニア基礎勉強会」とは Techouse では「基礎勉強会」と称して2週間に1回、わたしが OS・ネットワーク・データベース・ハードウェア・セキュリティ・システムアーキテクチャなどをお話する勉強会を開催しています。 今回お試し的に、勉強会の内容を公開してみます。 データベース(1) ACID データベース(2) 分離性 今回は前回「データベース<ACID編>」の続きです。 ご笑覧くださいますと幸いです。 データベース(2) トランザクション <中編: 分離性> 前回で扱った「銀行口座」の例をそのまま使っていきます。 BEGIN; DROP TABLE IF EXISTS accounts; CREATE TABLE accounts ( id serial PRIMARY KEY, name varchar NOT NULL, balance decimal NOT
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く