並び順

ブックマーク数

期間指定

  • から
  • まで

161 - 200 件 / 807件

新着順 人気順

dbの検索結果161 - 200 件 / 807件

  • 3値論理

    なぜ「= NULL」ではなく「IS NULL」と書かなくてはならないのか? これは、気になっている人も多いはずです。まだ SQL に不慣れな頃、ある列が NULL である行を選択しようとして、 SELECT * FROM table_A WHERE col_1 = NULL; というクエリを書いてしまい、エラーになったり思い通りの結果が得られなかった、という経験は、ほぼ全ての人が持っているでしょう。ちょうど C言語や JAVA を習い始めのころに「if (a = 5)」と書いてしまう間違いとよく似ています。最初は、言語仕様の汚さにぶつぶつ文句をいいながらも、そのうち「IS NULL」という書き方に慣れてしまって、疑問を持たなくなります。 でもどう考えても奇妙な書き方ですよね。こんな素直でない書き方をしなくてはならないということには、やはりそれなりの理由があるのです。今からその理由を説明しま

    • Goodbye to sequential integers, hello UUIDv7!

      At Buildkite, we've historically stored our data with two keys. We use sequential primary keys for efficient indexing, and UUID secondary keys for external use. The upcoming UUIDv7 standard offers the best of both worlds; its time-ordered UUID primary keys can be utilized for indexing and external use. This blog post will take you on the journey Buildkite took that led to our eventual adoption of

        Goodbye to sequential integers, hello UUIDv7!
      • DBアーキテクチャの比較と選択

        Database Engineering Meetup #1 DBアーキテクチャの比較と選択 Cloud-native storage service for bulk load & random lookup workload https://scalar.connpass.com/event/298887/

          DBアーキテクチャの比較と選択
        • もっと調べる技術 国会図書館秘伝のレファレンス・チップス2 | 皓星社(こうせいしゃ) 図書出版とデータベース

          本書の使い方 第1講 NDLデジタルコレクションは国会図書館のDXである 第2講 国会図書館にない本を探す法 第3講 リニューアルされたNDL サーチを使ってみる 第4講 デジコレの2022 年末リニューアルをチェック! ファミリーヒストリー編 第5講 デジコレの2022 年末リニューアルをチェック! 官報編 第6講 ネット上で確からしい人物情報を探すワザ 現代人編 第7講 推し活! アイドルを調べる 第8講 小さなお店の歴史を調べる ある模型店を事例とした生活史 第9講 分類記号(NDC)を使って戦前の未知文献を見つける 第10講 予算無限大の理想のコレクションから、現役のレファ本を見つけるワザ 第11講 洋書はCiNii。それって常識? 出たはずの本を見つける 第12講 風俗本(成人向け図書)を調べるには 国会図書館の蔵書を中心に 第13講 「ナウい」言葉が死語になる時 第14講 言葉

            もっと調べる技術 国会図書館秘伝のレファレンス・チップス2 | 皓星社(こうせいしゃ) 図書出版とデータベース
          • 今更聞けないDBMSのメモリ管理について

            DBMSのメモリ管理について データベース管理システム(DBMS)の設計では、大量のデータと複雑なクエリを処理するために、ハードウェアの特性を最大限引き出すことが求められます。 この記事では、DBMSがどのようにメモリを使ってデータアクセスの速度を向上させ、同時にデータの安全性を確保しているのかを解説します。 DBMSと記憶装置の関係について DBMSが使う記憶装置は次の2つです。 HDD HDDは磁気ディスクを使用してデータを記録・読み取りする記憶装置です。その主な特徴は大容量であり、コスト効率が良いことです。DBMSでは、データの永続的な保存にHDDが用いられます。これにより、システムがシャットダウンされた後もデータが保持され、必要に応じて再びアクセス可能となります。 しかし、HDDのデータアクセス速度はメモリに比べて遅いため、リアルタイム処理や高速なトランザクションが求められるアプリ

              今更聞けないDBMSのメモリ管理について
            • MySQLとOracleの実行計画を比較してみた - ASMのきもち

              まいえすきゅーえりたい ぽすぐれない おらくるってる(狂ってる)tomoです。 今日はいつものMySQLリファレンスを読むではなく、夏休みの宿題にしていたこれをやってみます。 MySQLとOracleDBの実行計画を比較してみた さて同じようなテーブルで同じデータを載せて。 実行計画を取ってみた時、どのくらい情報量が違うのか簡単に違いを見てみましょう。 前提として、以下をご認識ください。 一方はOSSのDBエンジン、もう一方はガチガチ商用DBエンジンです。情報量が違うのは当たり前であって、良し悪しを比較したいのではありません。そして製品比較をしたいのではありません。いつも商用DBメインで使っているエンジニアが、OSSのDBにこうゆう情報も出してほしいな!というのをお願いしたいと思っていて、それを考える元ネタメモだと思ってください。 OSSでこれだけの情報出せるMySQLや、今回紹介しません

                MySQLとOracleの実行計画を比較してみた - ASMのきもち
              • 持続可能な AWS インフラストラクチャの最適化、第四部:データベース編 | Amazon Web Services

                Amazon Web Services ブログ 持続可能な AWS インフラストラクチャの最適化、第四部:データベース編 このブログは Otis Antoniou, Ibtehaj Ahmed, Darren Ko, Ceren Tahtasiz によって執筆された内容を翻訳したものです。原文はこちらを参照して下さい。 このシリーズの第一部:コンピュート編、第二部:ストレージ編、第三部:ネットワーキング編では、持続可能性のために AWS アーキテクチャのコンピュート、ストレージ、ネットワーキングレイヤーを最適化するための戦略を紹介しました。 この投稿、第四部では、データベースレイヤーに焦点を当て、データベースの使用率、パフォーマンス、およびクエリを最適化するための推奨事項を提案します。これらの推奨事項は、AWS Well-Architected Framework のサステナビリティ(持続

                  持続可能な AWS インフラストラクチャの最適化、第四部:データベース編 | Amazon Web Services
                • CDNレイヤでDBのコネクションプーリングとクエリキャッシュを提供。世界中どこからのDBアクセスでも高速化する「Hyperdrive」、Cloudflareが提供

                  CDNレイヤでDBのコネクションプーリングとクエリキャッシュを提供。世界中どこからのDBアクセスでも高速化する「Hyperdrive」、Cloudflareが提供 Cloudflareは、グローバルなCDNレイヤでデータベースのコネクションプーリングとクエリのキャッシュを提供することによりデータベースへのアクセスを高速化する新サービス「Hyperdrive」のオープンベータを開始したと発表しました。 Want to make the existing regional database in your legacy cloud provider much, much faster? We've just launched Hyperdrive, which dramatically speeds up queries you make to databases you already ha

                    CDNレイヤでDBのコネクションプーリングとクエリキャッシュを提供。世界中どこからのDBアクセスでも高速化する「Hyperdrive」、Cloudflareが提供
                  • Apache Iceberg とは何か - 流沙河鎮

                    はじめに 概要 Apache Iceberg(アイスバーグ)とは [重要] Icebergの本質はTable Specである Table Spec バージョン Icebergハンズオン Icebergの特徴 同時書き込み時の整合性担保 読み取り一貫性、Time Travelクエリ、Rollback Schema Evolution Hidden Partitioning Hidden Partitioningの種類 時間 truncate[W] bucket[N] Partition Evolution Sort Order Evolution クエリ性能の最適化 ユースケース Icebergのアーキテクチャ Iceberg Catalog Iceberg Catalogの選択肢 metadata layer metadata files manifest lists manifest f

                      Apache Iceberg とは何か - 流沙河鎮
                    • 全俳句データベースVer.2

                      ぜんぶの俳句のデータベースです

                        全俳句データベースVer.2
                      • PythonでDDDやってみた💪 - techtekt

                        はじめに 実行環境 ディレクトリ構造 app migrations/model pyproject.toml ソースコードと簡単な解説 app/core app/core/abstract app/core/decorator app/core/exception app/core/interface app/core/middleware app/core/mixin app/ddd app/ddd/application app/ddd/application/schema app/ddd/application/schema/studnet app/ddd/application/usecase app/ddd/application/usecase/student app/ddd/domain app/ddd/domain/student app/ddd/infra app/ddd

                          PythonでDDDやってみた💪 - techtekt
                        • PostgreSQL チューニングよもやま話 - エムスリーテックブログ

                          【Unit4 ブログリレー3日目】 こんにちは,エムスリーエンジニアリンググループの榎田です.数学とテレビゲームが好きです. 今回は,Unit4 で運用している "Docpedia" というサービスで実施した SQL チューニングの実例を2つご紹介します.普段の私が意識していなかった, RDBMS の内部機構に関する話が登場して面白かったので,今回の記事を書きました. なお,本稿で扱う議論はすべて PostgreSQL 11.x 以上を対象としており,特にその他の RDBMS で同様の動作をするかは確認していません.定性的な挙動に共通するものはあるかもしれませんが,ここで述べた話はそのままは通らないであろうことをお断りさせてください*1. プロダクトについて index なしで意外と耐えたが,耐えきれなかった話 実際の SQL とテーブル定義 原因の分析 対応策 SELECT DISTIN

                            PostgreSQL チューニングよもやま話 - エムスリーテックブログ
                          • WebSockets vs Server-Sent-Events vs Long-Polling vs WebRTC vs WebTransport | RxDB - JavaScript Database

                            For modern real-time web applications, the ability to send events from the server to the client is indispensable. This necessity has led to the development of several methods over the years, each with its own set of advantages and drawbacks. Initially, long-polling was the only option available. It was then succeeded by WebSockets, which offered a more robust solution for bidirectional communicati

                              WebSockets vs Server-Sent-Events vs Long-Polling vs WebRTC vs WebTransport | RxDB - JavaScript Database
                            • 社内向け SQLチューニング勉強会を実施しました

                              はじめのご挨拶 はじめまして。BEENOSの鈴木です。 普段はBEENOSグループのtenso株式会社でヘルプデスク業務に従事しておりますが、たまにサービス関連のデータベース、MySQLのチューニングや調査などもしております。 今回、普段から触っているMySQLのチューニング勉強会を実施しましたので、その内容を少し公開したいと思います。 勉強会を開催しようとしたきっかけ tenso株式会社の開発チームには、SREチーム(運用チーム)があり、元々は私も所属しておりました。 SREチームに新規メンバーが参入してきたこともあり、改めてデータベースと向き合う人のために、まずはSQLのチューニングを覚えてもらいたいとの要望があり、開催することにしました。 また、BEENOS全体としても開発エンジニアがコードを書くだけでなく、コードに含まれているSQLがどのように動くかを把握しパフォーマンスの良いSQ

                                社内向け SQLチューニング勉強会を実施しました
                              • Prisma ORMを2年運用して培ったノウハウを共有する

                                TSKaigi 2024 ref: https://tskaigi.org/talks/tockn

                                  Prisma ORMを2年運用して培ったノウハウを共有する
                                • 全銀システム障害で新事実、本番稼働前から参照テーブルが破損

                                  全国銀行資金決済ネットワーク(全銀ネット)は2023年10月18日に記者会見を開き、「全国銀行データ通信システム(全銀システム)」で発生した障害に関する原因調査の状況などを説明した。コアタイムシステムの中継コンピューター(RC)が保有するテーブルが破損しており、「内国為替制度運営費(旧銀行間手数料)」の入力・チェックをする際にエラーが発生していたことを明かした。一方でテーブルが破損した原因については調査中とした。 「今回の問題は当法人だけでなく、我が国の決済システム全体を揺るがす大きな問題と認識している」 全銀ネットの辻松雄理事長は記者会見の冒頭、このように述べて陳謝した。全銀システムは10月10日朝に障害が発生。三菱UFJ銀行やりそな銀行など10金融機関で他行宛ての振り込みに関するオンライン処理などが2日間にわたってストップし、仕向けと被仕向けを合わせて506万件の振込処理に影響が出た。

                                    全銀システム障害で新事実、本番稼働前から参照テーブルが破損
                                  • DBやめてみた / DNS water torture attack and countermeasures

                                    2023/06/21 TechFeed Experts Night#21 〜 Webパフォーマンス・チューニング最前線 : 後編(DB、CDN、キャッシュ、OS編)

                                      DBやめてみた / DNS water torture attack and countermeasures
                                    • マイクロサービス環境におけるDB戦略 in DMMプラットフォーム

                                      Database Engineering Meetup #2 の登壇資料です。 https://scalar.connpass.com/event/310641/

                                        マイクロサービス環境におけるDB戦略 in DMMプラットフォーム
                                      • SQLiteでベクトル検索ができる拡張sqlite-vssを試す|mah_lab / 西見 公宏

                                        SQLiteでベクトル検索を可能にするsqlite-vssそんなポータブルで便利なSQLiteですが、そのSQLiteでベクトル検索ができるとなるとより夢が広がります。 SQLite自体はファイルベースなので、あらかじめベクトルデータを設定したSQLiteデータベースファイルをアプリに組み込んで配布しても良いわけです。そうすればデータベースサーバを用意しなくて済む分コストも圧縮されますし、組み込みなのでアプリからは軽量に動作します。 ホスティングする場合でもFly.ioのようにボリュームイメージを利用できるPaaSを利用すれば、問題なく運用が可能です。 前置きが長くなりましたが、このような夢を叶えてくれる拡張がsqlite-vssです。ベクトル検索はFaissベースで実装されています。 とっても良さげではあるのですが、実際に組み込んでみた場合のコード例が見つからなかったので、手を動かして試

                                          SQLiteでベクトル検索ができる拡張sqlite-vssを試す|mah_lab / 西見 公宏
                                        • Javaで最低限おさえておいてほしいクラス・インタフェース35 - 2024年版 - きしだのHatena

                                          ま、このくらい知っておいてもらわないと&とりあえずこんだけ知ってればだいたいの処理が書けるクラス・インタフェースをまとめてみました。2024年版。 詳しく知りたい人は「プロになるJava」を! java.lang.Class java.lang.Exception <- new java.lang.Integer java.lang.Object <- new java.lang.Runnable java.lang.String java.lang.System java.lang.Thread java.nio.file.Files <- new java.nio.file.Path <- new java.io.InputStream java.io.InputStreamReader java.io.BufferedReader java.io.OutputStream java.

                                            Javaで最低限おさえておいてほしいクラス・インタフェース35 - 2024年版 - きしだのHatena
                                          • 基幹系への安易なOSS採用は禁物、バージョンアップ多発で運用保守が重荷に

                                            基幹系システムのような社内システムにおいても、オープンソースソフトウエア(OSS)の利用が当たり前になってきた。クラウドサービスを利用する場合や、開発担当者と運用担当者が連携する開発手法DevOpsを採用する場合など、OSSの利用を避けられない。 多くの企業でOSSの利用が進む中、OSSを採用した当初は想定していなかった誤算に直面するケースが浮上している。商用のソフトウエアに比べてサポート期間が短かったり、サポートが充実していないため脆弱性が見つかっても放置してしまったりといった課題だ。ユーザー企業は安易に導入コストだけを見てOSSを採用するのは禁物だ。その後の長期間の運用・保守も含めた体制の検討が求められる。 「OSSの採用がここ数年で周辺システムから基幹系に広がった。その結果、ユーザー企業からは長期間、同じバージョンのソフトウエアを使いたいという要望が増えている」。OSSのデータベース

                                              基幹系への安易なOSS採用は禁物、バージョンアップ多発で運用保守が重荷に
                                            • MySQL即効クエリチューニング読んだ - $shibayu36->blog;

                                              MySQL即効クエリチューニング ThinkIT Books 作者:yoku0825インプレスAmazon 最近クエリチューニングの仕事があったので、少し深めに知ろうと読んだ。 MySQLの内部構造がどうなっているかは置いておいて、どうすればクエリの問題を把握できるかが素早く知れる良い本だった。90ページくらいですぐ読めるのも良い。個人的にはHandler_%変数を使った調査、innotopによる状況可視化、sys.innodb_lock_waitsによるロック状況の可視化あたりが非常に参考になった。 ちなみにさらに内部構造に踏み込んで理解しようとするなら、以下の記事がおすすめ。 雑なMySQLパフォーマンスチューニング MySQL with InnoDB のインデックスの基礎知識とありがちな間違い - クックパッド開発者ブログ Rails Developers Meetup 2018 で

                                                MySQL即効クエリチューニング読んだ - $shibayu36->blog;
                                              • 静的解析ツールで生まれたSQLインジェクション | ドクセル

                                                自己紹介 小川 経歴 ~2009: Webアプリ開発のバイト&業務委託 2009~2019: 三菱重工 イット何も関係ない。野良のパソコンの大先生してた 2019~いま: root ip B2BのSaaS作ってます PHPとVue分かる人来て!!1 面白かった脆弱性 - CVE-2023-22727 PHPフレームワーク CakePHP 4 のSQLインジェクション脆弱性 ORM limit(), offset() でSQLi CVSS v3 9.8 2023/01に修正済み CakePHP Laravelの次に使用率高いフレームワーク(多分) 割と使いやすいからお勧め 一般にコード品質が上がる静的解析ツールの使用で逆に発生

                                                  静的解析ツールで生まれたSQLインジェクション | ドクセル
                                                • オープンソースによるFirebase代替を名乗るBaaS「Supabase」が正式サービスとして提供開始

                                                  オープンソースによるFirebase代替を名乗るBaaS(Backend as a Service)「Supabase」が正式サービス化を発表しました。 Supabaseはこれまで約4年間ベータ版としてサービスを提供してきました。現在は100万以上のデータベースをホストし、新規データベースも1日あたり2500以上増加しており、モバイルアプリケーションからエンタープライズ用途まで十分な機能と安定性、スケーラビリティが実証されたとしています。 Supabaseの主な機能はデータベースや認証、ファイルストレージなど SupabaseはBaaSとして主に以下のマネージドサービス群から構成されています。 PostgreSQLによるデータベースサービス 認証サービス ファイルストレージ エッジロケーションにおけるNode.jsDenoベースのサーバレス基盤 マルチプレイヤーゲームなどに対応するリアルタ

                                                    オープンソースによるFirebase代替を名乗るBaaS「Supabase」が正式サービスとして提供開始
                                                  • MySQL 5.7 to 8 check list

                                                    mysql57to8.md 確認すること メンテナンス時間をどれくらい取れるかで戦略が決まる。 基本的にはメンテナンス時間を十分に取れたほうが良い。 またリスクをどれだけ許容できるかもビジネスによるので要確認しておくべき。 基本的には一度切り替えてしまうとロールバックすることは簡単ではない。 覚悟を決めて突き進む必要がある 最初に諦めること MyISAMを使いたい 8でも動くけど諦めろ、もう未来はない InnoDBのほうがDisk サイズを消費する、countが遅い、などの課題はあるので簡単ではないが… InnoDB memcached Pluginとか使ってるんだよね 諦めろ、未来はない これを機にアーキテクチャを見直しましょう PKが無いtableがあるんだよね すべてのtableにまずPKを付けるんだ このあと、DMSを使ったりとかなにをするにしても死ぬ そもそもデータモデルとして死

                                                      MySQL 5.7 to 8 check list
                                                    • Obsidianでタスクとして切り出さずにやる(かもしれない)ことと付き合う - 誰がログ

                                                      はじめに タスクを中心にした管理をしない(できないものは) 「やる(かもしれない)こと」を忘れない方法 Dataviewプラグインを使う おまけ:期限設定とか おわりに はじめに 1年以上使ってきて、私にとってObsidianが研究、仕事、生活とうまく付き合うためのメインのツールになった理由がなんとなく整理できてきました。もちろんこのプラグインのこれが便利とか細かいところはいろいろありますが、大まかに挙げると下記の3点が大きいです。 とにかくDaily Noteにいろいろ書いて、後で個別のノートに切り出す(ノート同士の関係はほぼ自動的に構築される)というやり方が私のずぼらな性格に合っている 研究や仕事で文章を書く作業の割合が大きいのでテキストを中心にしたツールが使いやすい 特に研究ではタスクをメモ・ノートなどから区別するのが難しいので分けないで付き合う方がやりやすい このうち、1については

                                                        Obsidianでタスクとして切り出さずにやる(かもしれない)ことと付き合う - 誰がログ
                                                      • クエリのパフォーマンスチューニングの第一歩。実行計画や統計情報について入門する

                                                        SQL実行の流れ まずはSQLがどのような流れで実行されるのかを見ていきます。 SQL実行の流れは大まかに捉えると以下のようになります。 パーサ パーサでは、ユーザーから送信されたクエリを受け取り、その文法的な正確さを検証します。SQLクエリが正しくフォーマットされているか、必要な構文要素が全て含まれているかをチェックし、例えばFROM句で指定されたテーブルが存在するかどうかも確認します。 文法的なエラーがある場合、例えばカンマの欠落や存在しないテーブルの参照など、クエリはエラーとして返されます。 エラーがない場合は、クエリは「抽象構文木」というデータ構造に変換されます。これにより、データベースはクエリをより効率的に解析し、次の処理ステップに進めることができます。 オプティマイザ SQLクエリがパーサを通過した後、次にクエリの最適化を行うのが「オプティマイザ」です。オプティマイザの主な役割

                                                          クエリのパフォーマンスチューニングの第一歩。実行計画や統計情報について入門する
                                                        • なぜSQLiteはバイトコードを使うのか

                                                          以前にデータベースを自作しようとして、SQLiteのアーキテクチャを見てみたらVMだったことに疑問を感じ、それをツイートしたところ作者からリプをもらいました。 作者いわく、次のような背景があったとのことでした。 SQLiteを作った当初はデータベースエンジンのことをよく知らないがコンパイラのことをよく知っていた SQLデータベース・エンジンを書くという問題をコンパイラ構築の問題として扱うのは自然なことだった データベースエンジンのコアの部分をVMにするという発想がまったくなかったので、どんなメリットがあるのか?と気になっていました。 それを作者に聞いたら、詳細な説明ページを作ってくれました。 個人的にVMにしたことで、評価&実行のパフォーマンスは多少良くなると思うが、データベースエンジンのパフォーマンスにそれほど寄与していないんじゃないかな?って思ったりしました。 本記事はそのページについ

                                                            なぜSQLiteはバイトコードを使うのか
                                                          • カプコン: Cloud Spanner や GKE を用いて『ストリートファイター6』のためのクロスプレイ プラットフォームを構築 | Google Cloud 公式ブログ

                                                            カプコン: Cloud Spanner や GKE を用いて『ストリートファイター6』のためのクロスプレイ プラットフォームを構築 『ストリートファイター』や『バイオハザード』、『モンスターハンター』など、世界中で愛されるゲームシリーズでその名を知られる株式会社カプコン(以下、カプコン)。その最新 AAA タイトル『ストリートファイター6』では、ユーザーのすそ野を広げる意欲的な取り組みを多数実施して注目を集めています。そこに Google Cloud のテクノロジーがどのように役立てられているのか、開発の中核メンバーにお話を伺いました。 利用しているサービス: Cloud Spanner, Memorystore for Redis, Google Kubernetes Engine, Anthos Service Mesh, Cloud Monitoring, Cloud Logging

                                                              カプコン: Cloud Spanner や GKE を用いて『ストリートファイター6』のためのクロスプレイ プラットフォームを構築 | Google Cloud 公式ブログ
                                                            • SQLite を再実装する時に役にたつドキュメント - kawasin73のブログ

                                                              困った時はドキュメント、どうもかわしんです。最近、諸事情で SQLite のドキュメントを読んでいます。 前回の記事 で紹介した通り SQLite を Rust で再実装しています。おかげさまで 300 を超える Github Star もいただき嬉しいです。 github.com SQLite は全ての仕様が ドキュメント にまとめられているので、そのドキュメントと本家の実装を読み比べながら実装しています。 SQLite を再実装する上で特に以下のドキュメントは役にたちます。これらだけで最小限の SQLite の実装は作れると思います。 Overview Documents > About SQLite いかに SQLite がすごいかを自慢しているドキュメント。使おうとしている人には安心を、再実装しようとする人には絶望を与えてくれます。 Programming Interfaces >

                                                                SQLite を再実装する時に役にたつドキュメント - kawasin73のブログ
                                                              • モブに早く慣れたい人のためのガイド

                                                                生成AI・LLM時代における 機械学習エンジニアとしてのキャリア戦略・開発戦略 / my-career-and-development-strategies-for-ml-engineer-2024

                                                                  モブに早く慣れたい人のためのガイド
                                                                • MySQLでNested Loopなクエリはインデックスをどう辿っているか - $shibayu36->blog;

                                                                  タイムライン的なものをSELECTだけで実装しようと思った時に、Nested LoopなクエリでUsing temporary; Using filesortが出るようなそこそこ遅いクエリになる。その時にMySQLがインデックスをどう辿っているかを知りたかったので調べてみた。MySQLバージョンは8.0.33。 あまり自信はないので、もし間違った話をしていたら教えて欲しい。 どのようなクエリを検証するか タイムラインの取得ができるような、ユーザー・フォロー関係・投稿の3つのテーブルを作る。スキーマは次の通り。 CREATE TABLE users ( id INTEGER PRIMARY KEY AUTO_INCREMENT, name VARCHAR(100) NOT NULL ); CREATE TABLE follows ( id INTEGER PRIMARY KEY AUTO_I

                                                                    MySQLでNested Loopなクエリはインデックスをどう辿っているか - $shibayu36->blog;
                                                                  • RDS Blue/Green Deployments を使ってシュッと utf8mb4 にマイグレーションした話 - カミナシ エンジニアブログ

                                                                    こんにちは。ソフトウェアエンジニアの坂井 (@manabusakai) です。 カミナシでは RDB に Amazon Aurora MySQL 2(MySQL 5.7 互換)を使っています(以下 Aurora MySQL と略します)。 ある日、社内の Slack で「𠮷」などの文字列が登録できないのではないかという話が出ました。これを聞いて「あー」と思った方も多いでしょう。 MySQL で有名な UTF-8 の 4 バイト文字問題で、歴史的な理由から MySQL 5.7 以前では utf8 の文字セットは utf8mb4 ではなく utf8mb3 を指しています。 dev.mysql.com カミナシのアプリケーションは 4 バイトの文字列が入力された場合はシステムエラーを返す実装になっていますが、エラーの内容をユーザーにわかりやすく伝えることは難しいためユーザー体験としても良くない

                                                                      RDS Blue/Green Deployments を使ってシュッと utf8mb4 にマイグレーションした話 - カミナシ エンジニアブログ
                                                                    • データ基盤の管理に役立つ監視用のSQLを紹介します - 10X Product Blog

                                                                      Analytics Engineerの吉田(id:syou6162)です。BigQueryを中心に10X社内のデータ関連の管理をしています。10Xに入社してそろそろ一年になろうかとしていますが、データ基盤を適切に管理 / 運用するためにSQLによる監視を少しずつ取り入れています。この記事では、具体的にどのようなSQLを書いて監視しているのか紹介したいと思います。 なお、SQLを使ったデータ基盤の監視自体については私の前職のTech Blogで詳細に書いていますので、そちらを参照してください。 SQLを使った監視でデータ基盤の品質を向上させる - MonotaRO Tech Blog データ管理に役立つメタデータに関する勉強会を社内外で開催しました - MonotaRO Tech Blog 本エントリはこれをベースに「dbtをフルに活用している10Xの環境向けに入れた監視」や「BigQuer

                                                                        データ基盤の管理に役立つ監視用のSQLを紹介します - 10X Product Blog
                                                                      • SQLite のおもしろ仕様 (2) : ファイルフォーマット - kawasin73のブログ

                                                                        後方互換性って辛いね、どうもかわしんです。 最近 Rust で SQLite をフルスクラッチで再実装しています。 github.com 再実装するために SQLite の公式ドキュメントやソースコードを読み込んでいるわけですが、その過程で気付いたおもしろポイントを共有しようかと思います。 今回はその第二弾、ファイルフォーマット編です。第一弾はこちら:SQLite のおもしろ仕様 (1) : データ型 - kawasin73のブログ 前提知識 : ページ まず、この記事を面白いと思ってもらうための前提知識です。 大抵のデータベースはデータを保存するファイルをページという単位で管理します。SQLite ではデフォルトでは 1 ページ 4096 バイトです。これは、ファイルを保存するデバイス(HDD や SSD など)としてブロックデバイスを想定しているからです。ブロックデバイスとはデータの読

                                                                          SQLite のおもしろ仕様 (2) : ファイルフォーマット - kawasin73のブログ
                                                                        • 「開発者向けの MySQL 入門」という勉強会をしました - しなしな記録

                                                                          今、自分が所属している会社では、いわゆるフルサイクルなアプリケーションエンジニアがほとんどで、SRE のような、システムを運用改善することを専門にするメンバーは居ません。一方でそれなりにプロダクトの数は多く、各種ミドルウェアの運用で困っているのを見かけることがあります。 色々な人が似た問題に悩むのはもったいないので、「MySQL を運用したことがある人からすると、こういう考え方をする」という風な目線で勉強会を行いました。せっかくなので社内の情報を抜いたうえで公開します(同じようなことを色々な場所で言っていて、その都度作り直しているから……というのもあります)。 speakerdeck.com ちなみに DB のどこで悩むかはだいぶ業界ドメインに左右されると思っています(それはそう)。ゲーム業界なんかは、激しくスパイクするワークロードな上にミスったときの機会損失が激しいので、シャーディングを

                                                                            「開発者向けの MySQL 入門」という勉強会をしました - しなしな記録
                                                                          • Aurora MySQLをMySQL8.0へ移行した話 - inSmartBank

                                                                            こんにちは!SREを担当してます上平と申します。 このエントリーではAurora MySQL5.7互換からMySQL8.0互換への移行を実施した際の流れや学びに関して紹介したいと思います! B/43 では Aurora MySQL5.7系をサービスリリースから使っており、Aurora MySQL バージョン2のサポート終了日(2024/10/31)が近づいているのもあったので、移行することにしました。 Amazon Aurora バージョン - Amazon Aurora これからAurora MySQL8.0へ移行を検討されている方の参考になれば幸いです。 想定される読者 Aurora MySQL 5.7系を使っていて、アップグレードを検討している方 実際の Aurora MySQL 8.0 への移行手順を知りたい方 AWS インフラに興味がある方 前提 Aurora MySQL5.7互

                                                                              Aurora MySQLをMySQL8.0へ移行した話 - inSmartBank
                                                                            • WEB+DB PRESS Vol.136 最終号!---日本のソフトウェア技術を支えてくれた雑誌の休刊 - Magnolia Tech

                                                                              WEB+DB PRESS Vol.136 技術評論社Amazon 表紙に「最終号」と書かれているのが、ちょいと悲しい。 技術雑誌の存在ってなんだろうなと考えてみると、一つ一つの記事の深掘りは当然単行本に比べると浅い。でもすべての技術にたいして専用の技術書が出る訳でもない中、ブログ記事などに比べると、編集者の目を通っていることと、一回あたりのページ数が少ない分だけ入りやすいことで重宝する。それに「今、こういう技術が話題になっているんだな」って、ざっと理解できるのも良い。目の前で使わない技術でも、いつか使う日がやってくる時に、「そういえば、ちょっと前に特集されていたなー」と思い出せるだけでも知識のインデックスとして有効に機能してくれる。 そんな雑誌が無くなってしまうのは、けっこう寂しいし、何か大きな穴が空いてしまった感じがする。でもそれを実感するのは今日・明日ではなく、ずっと先のことだと思うけ

                                                                                WEB+DB PRESS Vol.136 最終号!---日本のソフトウェア技術を支えてくれた雑誌の休刊 - Magnolia Tech
                                                                              • MySQL 8.1登場!!Innovation ReleaseとLTSについて

                                                                                MySQLの最新バージョンである「8.1」が発表されたので超久しぶりに筆を取った。しばらく筆を取らなかった理由は個人的なものなのだが、このブログはごく個人的な活動であるので諸々の事情はご容赦頂きたい。 さて、MySQL 8.0の次のバージョン番号は何になるかという憶測は色々あったと思うのだが、8.1というものに落ち着いた結果になった。(9.0にしてしまうと、2桁目の番号が意味をなさなくなってしまうからね!!ちなみに次のバージョンは8.2、8.3・・・という具合に続く予定だ。)8.1という番号はバグデータベース上で既にチラチラと出ていたので、公式な発表よりも前に気づいていた人も多かったのではないだろうか。本稿では、バージョン8.1の概要と、8.1リリースと同時に発表されたInnovation ReleaseおよびLTS(Long Time Support)について解説しようと思う。 Inno

                                                                                  MySQL 8.1登場!!Innovation ReleaseとLTSについて
                                                                                • LLMをWebフレームワークにしたら、未来が見えた #2024

                                                                                  最近、LLMにWeb Backendを書かせて遊ぶ、Hanabiというサービスを作っています。その開発過程で、前に試したLLMをAPIとして振る舞わせるアプローチを再検討したので、記事としてまとめました。 一年ちょっと前、私はChatGPTをWebフレームワークにしようと試みました...が、残念ながら全く実用的ではありませんでした。しかし、あれから一年、LLMは目覚ましい進歩で進化を遂げました。価格は下がり、速度も上がり、記憶容量の増加やRAGの発展など、もはや別物レベルで進化しています。 いまならもうちょっと実用的なヤツが作れるんじゃねってことで、色々な手法を面白がった再検討したまとめです。 余談ですが、一年前はLLM=ChatGPTという状況でしたね...懐かしい。ちょうどvicuna13Bが出た頃ですかね? ↓去年の記事(できれば読んでほしい)↓ 出来たもの 全部プロンプトに入れちゃ

                                                                                    LLMをWebフレームワークにしたら、未来が見えた #2024