並び順

ブックマーク数

期間指定

  • から
  • まで

81 - 120 件 / 267件

新着順 人気順

Databaseの検索結果81 - 120 件 / 267件

  • 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アーキテクチャの比較と選択
        • 今更聞けない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のきもち
            • Next.jsとPrismaをCloudflareにデプロイして月300万のDBクエリに無料で耐える

              はじめに Next.js を Cloudflare にホスティングしようとすると、必然的に Edge Runtime 環境になります。しかし、Edge Runtime 環境では、Node.js Runtime と異なり、Prisma がそのまま使えません。 最初に思い浮かぶ解決策は Prisma Accelerate です。Prisma Accelerate は公式のサービスで、接続プールイングやグローバルキャッシュ機能を備えており、Edge Runtime でも Prisma を使えるようにします。 しかし、無料プランだと月に 6 万クエリの制限があり、本番運用には不安が残ります。 そこで、今回は Prisma Accelerate を自前で Cloudflare Workers 上に構築し、本番運用に耐えうるサービスを無料で開発する方法を紹介します。この方法なら、無料プランでも 月に

                Next.jsとPrismaをCloudflareにデプロイして月300万のDBクエリに無料で耐える
              • 持続可能な 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 とは何か - 流沙河鎮
                    • Prisma ORMを2年運用して培ったノウハウを共有する

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

                        Prisma ORMを2年運用して培ったノウハウを共有する
                      • 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
                        • マイクロサービス環境におけるDB戦略 in DMMプラットフォーム

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

                            マイクロサービス環境におけるDB戦略 in DMMプラットフォーム
                          • Obsidianでタスクとして切り出さずにやる(かもしれない)ことと付き合う - 誰がログ

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

                              Obsidianでタスクとして切り出さずにやる(かもしれない)ことと付き合う - 誰がログ
                            • なぜSQLiteはバイトコードを使うのか

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

                                なぜSQLiteはバイトコードを使うのか
                              • 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;
                                    • 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 入門」という勉強会をしました - しなしな記録
                                        • 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について
                                          • データベース指向の新OS「DBOS」--クラウド時代に対応する新たなアプローチ

                                            Jack Wallen (Special to ZDNET.com) 翻訳校正: 編集部 2024-04-10 07:30 「Linux」は長年にわたりクラウド上のサーバーに搭載されてきたが、クラウドが急激に拡大したこと、そしてLinuxがクラウド専用に設計されたものではないことを考慮すると、何かを変える必要があることは明らかだった。 その変化をもたらすのは、「Ingres」「PostgreSQL」「VoltDB」の開発に携わったMichael Stonebraker氏と、「Apache Spark」の生みの親でDatabriskの共同創設者/最高技術責任者(CTO)であるMatei Zaharia氏かもしれない。両氏はマサチューセッツ工科大学(MIT)のチームと協力して、「DBOS」(別名「DataBase OS」)という革新的なOSを開発した。 DBOSの開発は2022年に始まった。D

                                              データベース指向の新OS「DBOS」--クラウド時代に対応する新たなアプローチ
                                            • [速報]Google、PostgreSQLにAI対応を組み込んだ「AlloyDB AI」発表、オンプレミスでも他社クラウドでも利用可能に。Google Cloud Next '23

                                              [速報]Google、PostgreSQLにAI対応を組み込んだ「AlloyDB AI」発表、オンプレミスでも他社クラウドでも利用可能に。Google Cloud Next '23 Googleは、8月29日(日本時間の30日未明)から米サンフランシスコで開催中のイベント「Google Cloud Next '23」で、同社が提供するPostgreSQL互換のデータベース「AlloyDB」にAI対応機能を組み込んだ「AlloyDB AI」を発表しました。 AlloyDB AIは、データベース内に保存されているデータをAIと組み合わせて利用しやすくする機能を搭載しており、企業などが持つ商品データや顧客データなどをAIで活用するアプリケーション構築を容易にします。 一般に、企業がAIや機械学習を利用したアプリケーションを開発する場合、既存の大規模言語モデルなどをそのまま利用するのではなく、自社

                                                [速報]Google、PostgreSQLにAI対応を組み込んだ「AlloyDB AI」発表、オンプレミスでも他社クラウドでも利用可能に。Google Cloud Next '23
                                              • ベクトルデータベースとは何かを解説、生成AIで「必須の存在」はどんな役割を担うのか

                                                生成AIの可能性を広げる「ベクトルデータベース」への関心が急速に高まっている。ベクトルデータベースとは、生成AIが扱う非構造化データの格納・管理・照会で利用されるデータベースのこと。ここではベクトルデータベースの基本をわかりやすく解説するとともに、生成AIの普及において、どのような役割を果たすのか、注目される理由などと合わせて紹介しよう。 バークリー音大提携校で2年間ジャズ/音楽理論を学ぶ。その後、通訳・翻訳者を経て24歳で大学入学。学部では国際関係、修士では英大学院で経済・政治・哲学を専攻。国内コンサルティング会社、シンガポールの日系通信社を経てLivit参画。興味分野は、メディアテクノロジーの進化と社会変化。2014〜15年頃テックメディアの立ち上げにあたり、ドローンの可能性を模索。ドローンレース・ドバイ世界大会に選手として出場。現在、音楽制作ソフト、3Dソフト、ゲームエンジンを活用し

                                                  ベクトルデータベースとは何かを解説、生成AIで「必須の存在」はどんな役割を担うのか
                                                • メニーコアに最適化した国産の高性能RDB「劔(Tsurugi)」、ソースコードの公開を開始

                                                  日本電気株式会社(NEC)と株式会社ノーチラス・テクノロジーズがNEDO(国立研究開発法人新エネルギー・産業技術総合開発機構)のプロジェクトとして開発をしてきた国産の高性能リレーショナルデータベース管理システム「劔(Tsurugi)」のソースコード公開が、本日(2023年10月5日)午後3時にGitHubで開始されました。 ソースコードは劔(Tsurugi)のコミュニティサイトからGitHubサイトにアクセスすることでダウンロードできます。Dockerイメージも用意されているため、すぐに試すことも可能。 開発元であるNECとノーチラス・テクノロジーズは、商用サポートなどを必要とする顧客向けにサブスクリプションの提供も来春に予定していると発表しています。 また、さくらインターネット株式会社の協力を得て、PoC環境を年内にサービス化する予定。サーバの貸し出しの検討も進めているとしています。 メ

                                                    メニーコアに最適化した国産の高性能RDB「劔(Tsurugi)」、ソースコードの公開を開始
                                                  • DBのリストアテストを全自動化した話 - Pepabo Tech Portal

                                                    ホスティング事業部の業務信頼性向上チームでエンジニアをしているはらちゃんです。 先日STREET FIGHTER 6のオープンベータに参加し、友人にボコボコに負けました。 製品版買っていい勝負ができるように特訓を重ねたいと思います。 今回、ホスティング事業部のサービスであるロリポップ、ムームードメイン、ヘテムル、おさいぽのDBリストアテストを自動化したので紹介します。 まず業務信頼性向上チームとは? リストアテストを継続的にやっている理由 なぜ自動化したのか 全体像 具体的な実装 実装時に困ったこと dumpのサイズが大きすぎて通常のrunnerではリストアテストができない場合 scpをするアカウントにdumpファイルを操作する権限がない場合 dumpファイルのファイル名が微妙に違ってうまく指定できない場合 終わりに まず業務信頼性向上チームとは? 最初に、自分の所属している業務信頼性向上

                                                      DBのリストアテストを全自動化した話 - Pepabo Tech Portal
                                                    • 大規模サービスのデータベースエンジンを MySQLからAurora MySQLへの移行 〜リードレプリカ, DNSを利用した最小ダウンタイム移行方法〜 - メドピア開発者ブログ

                                                      バックエンドエンジニアの徳富(@yannKazu1)です。先日、メドピアのメインサービスであるmedpeer.jpで使われているデータベースエンジンを、MySQLからAurora MySQLへと移行しました。今回はその移行のプロセスについて詳しくお話しします。 移行したデータベースの簡単なインフラ構成 移行方針 今回移行するデータベースは複数のアプリケーションから参照されており、ダウンタイムによるユーザー影響が大きいため、移行方針の検討の段階で重視したのは、ダウンタイムの最小化でした。これを達成するために、DNSのCNAMEレコードと、Auroraのリードレプリカを活用し、移行させることにしました。 DNSのCNAMEレコードの使用 データベースエンドポイントをアプリケーションに直接記述する代わりに、DNSのCNAMEレコードを利用して間接的に参照するようにしました。これにより、データベー

                                                        大規模サービスのデータベースエンジンを MySQLからAurora MySQLへの移行 〜リードレプリカ, DNSを利用した最小ダウンタイム移行方法〜 - メドピア開発者ブログ
                                                      • やさしいActiveRecordのDB接続のしくみ

                                                        https://kaigionrails.org/2023/talks/kubo/

                                                          やさしいActiveRecordのDB接続のしくみ
                                                        • 【番外編】Excelの知識しかない人をRDBの担当者にする:SQLの知識がなくてもJetBrains AIを利用してRDBをノーコード生成!|kintoneにおまかせ!(VIP SYSTEMS 公式)

                                                          【番外編】Excelの知識しかない人をRDBの担当者にする:SQLの知識がなくてもJetBrains AIを利用してRDBをノーコード生成! 企業にとってデータは顧客の次に大切なものであり、その保持・管理・活用方法について各社の担当者は日々、頭を悩ませているところだと思います。 2010年代になってから話題になった「NoSQL」はデータベースの一つの選択肢としてすっかり定着し、2020年代になってからはWebブラウザからデータの入力・閲覧がすべてできてしまう「DBaaS(サービスとしてのデータベース)」とでも呼ぶべき製品も多数出てきました。それらを活用したいところですが、社内で運用しているRDBMSをすぐにやめるわけにもいきません。 これらを保守するには、担当者は最低でもSQLは覚えておかなければならないのですが、教育コストが掛かります。そこで今回は「先輩社員がいなくても、SQLを知らなく

                                                            【番外編】Excelの知識しかない人をRDBの担当者にする:SQLの知識がなくてもJetBrains AIを利用してRDBをノーコード生成!|kintoneにおまかせ!(VIP SYSTEMS 公式)
                                                          • SQLiteでLinderaを使った日本語全文検索 - *iroi*

                                                            これは はてなエンジニアアドベントカレンダー2023 3日目の記事です。 はてなエンジニア Advent Calendar 2023 - Hatena Developer Blog はてなエンジニアのカレンダー | Advent Calendar 2023 - Qiita 昨日は id:pokutuna さんの blog.pokutuna.com でした。私も若い頃に同僚とGitHub上で白熱してしまい観光名所になってしまっていたような気がします。気を付けていきましょう。 さて、この記事では SQLiteでLinderaを使った日本語全文検索をする話を紹介します。 モチベーション laiso.hatenablog.com 上の記事でも話題になっているように個人開発ではDBのコストは問題です。同様に全文検索したいときにもコストに頭を悩ませているのではないでしょうか? たとえば Amazon

                                                              SQLiteでLinderaを使った日本語全文検索 - *iroi*
                                                            • 入門 B-link tree

                                                              概要 DBMS で広く利用されている B+ tree には様々な variant が存在するが、B-link tree もその1つ。 シンプルなラッチプロトコルで並行アクセスをさばけるよう、リーフノード以外のノードにも右の隣接ノードへのポインタを持たせた構造となっており、PostgreSQL で使われていることでも有名。 この記事では主にこの B-link tree に焦点を当てる。 B+ tree 全般やその他インデックス技術自体に興味がある場合は「最強DB講義 #10 いまどきのデータベース索引技術(石川佳治 教授)」の講義資料を読むのがおすすめ。 B-link tree 理解する上で必須な知識「ラッチ」 「ラッチ」というのはいわゆるロックのことだが、DB においては「ロック」というとトランザクション分離のための高価な(数千CPUサイクルを要する)処理を指すことが多く、「ラッチ」という

                                                                入門 B-link tree
                                                              • マリオカートのER図について考える - Qiita

                                                                さて、 今回はオフィスにて「ER図とは?」を学ぶランチを開催しました🍔 ゲームのDBなんて考えたことが無いので、ER図アウトプットに至るまでを記事に残してあげようと思います。 今回は、リリース時に同僚みんなで遊んでいたスマホゲーム「マリオカート ツアー」を使って マリカーのフレンドランキング画面を出すために必要なDB設計を考えます。 軽いランチなので、事前に参加者が通勤中の電車内で作成できるくらいのボリュームを目指しました。 データベースとは・・・?という初心者メンバーでもイメージしやすいように。 こういうアウトプットは初めてですが、徐々に慣れていきたいです。 【開催概要】 ・参加者:ファッションIT企業のPM、エンジニア、事務・・・などなど ・開催時間:1時間(事前アウトプット作成:20〜30分程度) ・その後:SQLを初心者と書いてみるランチも実施しました。 →BigQueryがSQ

                                                                  マリオカートのER図について考える - Qiita
                                                                • Rust の DI を考える –– Part 2: Rust における DI の手法の整理 - paild tech blog

                                                                  paild 社でお手伝いをしている yuki です。前回に引き続き Dependency Injection 略して DI の話題を書いていきたいと思います。今回は Rust における DI についていろいろと考えてみました。今回紹介する実装はかなり単純な例を用いたもので、この記事からさらにみなさんのアプリケーションの実装状況に合わせていくつか工夫は必要になるかもしれません。ただ、とっかかりとしては十分なものになっていると思うので、DI でお困りの方はぜひ参考にしてみてください。 今回実装したいアプリケーションのお題について 今回紹介する技法の種別について コンストラクタインジェクション 静的ディスパッチを用いたもの 動的ディスパッチを用いたもの 静的ディスパッチと動的ディスパッチの利点・欠点 shaku (DI コンテナ)を用いたインジェクション shaku の利点・欠点 余談: DI

                                                                    Rust の DI を考える –– Part 2: Rust における DI の手法の整理 - paild tech blog
                                                                  • より信頼できるクエリを書くために、SQLでもテストを書く - ハヤオキスルフクロウ

                                                                    はじめに こんにちは、久しぶりに技術系の記事を書きます、株式会社カンムで機械学習エンジニアをしている fkubota です。 今日はSQLについてです。 弊社に入社してから毎日のようにSQLのクエリを書いてきました。 クエリを書き始めてからもう3年が経とうとしています。 日々クエリを書きながら少しずつ自分のスタイルが出来上がってきているのを日々実感しています。 僕は 正確で 読みやすく 再利用しやすいクエリを 高速に 生み出すための工夫を重ねてきました。 結果的にテスト駆動開発ぽいスタイルが生まれたので今日は紹介してみようと思います。 似たような記事がないので少しドキドキですが温かい気持ちで読んでもらえると嬉しいです。 対象読者 対象読者は、分析のためにクエリを書いている人とします。 プロダクトに乗せるクエリというより、ビジネス的になにか示唆を得たいときにクエリを書く人を想定します。 痛み

                                                                      より信頼できるクエリを書くために、SQLでもテストを書く - ハヤオキスルフクロウ
                                                                    • 過去の法令を全文検索できるデータベースを公開 ~法制度の移り変わりを調査する出発点に~

                                                                      国立大学法人東海国立大学機構 名古屋大学大学院法学研究科の佐野 智也 講師、増田 知子 特任教授、同大学院情報学研究科の外山 勝彦 教授、同大学数理・データ科学教育研究センターの駒水 孝裕 准教授らの研究グループは、明治 19年から平成 29年(1886~2017)までに公布された法律と勅令を全文検索できるデータベースを作成・公開しました。このデータベースは、日本政府の、現在有効な法令データを提供する「e-Gov法令検索」では検索できない過去の法令データを提供するものであり、「e-Gov法令検索」を補完する意味を持ちます。 これまで多くの法学研究において法令や判例情報の調査収集にデータベースを利用する際は、個別の事件処理等を意識した限定的利用が主でした。それを越えて、大規模データを使って政策や法令を俯瞰し、経時的に解析しようという研究は、国内的にも国際的にもほとんど例がありません。 今回の

                                                                        過去の法令を全文検索できるデータベースを公開 ~法制度の移り変わりを調査する出発点に~
                                                                      • 分散SQLiteを実現する「LiteFS」にスナップショット機能によるディザスタリカバリを提供する「LiteFS Cloud」、Fly.ioが発表

                                                                        分散SQLiteを実現する「LiteFS」にスナップショット機能によるディザスタリカバリを提供する「LiteFS Cloud」、Fly.ioが発表 データセンターをグローバル展開し、アプリケーションプラットフォームサービスを提供しているFly.ioは、分散SQLiteを実現するLiteFSの付加機能として、バックアップとスナップショット、リカバリ機能などをマネージドサービスとして提供する「LiteFS Cloud」を発表しました。 LiteFS Cloud: now in preview. We love SQLite for distributed web apps! Introducing managed backups for LiteFS. Read more from Darla Shockley and @benbjohnson.https://t.co/nQxitx5x7d

                                                                          分散SQLiteを実現する「LiteFS」にスナップショット機能によるディザスタリカバリを提供する「LiteFS Cloud」、Fly.ioが発表
                                                                        • 【塩漬けダメ絶対】AWSのAurora&RDSがDBエンジンの延長サポートを有償提供! - Qiita

                                                                          日本時間 2023/9/1(金)の深夜、AWSより以下のアップデートが発表されました! 土曜の朝からXで早速話題になっています。 ニュースリリース ブログ ※全体的にまだ日本語ドキュメントに反映されていない情報が多いので、リンク先にRDS Extended Supportに関する言及が見られない場合は言語設定をEnglishに切り替えて再確認することをお勧めします。 3行でまとめると? AWSはAuroraおよびRDSのDBエンジンの所定サポート終了後、最大3年の延長サポートを有償提供する 対象のDBエンジンはMySQL 5.7 & PostgreSQL 11および、それ以降の主要バージョン 2023年12月から延長サポートへのオプトインが可能。実際の課金開始はバージョン依存。最速でも2024年3月1日以降となる クラウドにおける「DBバージョンアップ」の扱い AWSクラウドが提供するマネ

                                                                            【塩漬けダメ絶対】AWSのAurora&RDSがDBエンジンの延長サポートを有償提供! - Qiita
                                                                          • Unit of Workパターンで永続化とトランザクションを制御する

                                                                            PHPカンファレンス沖縄2023 Track B での発表資料です。

                                                                              Unit of Workパターンで永続化とトランザクションを制御する
                                                                            • How an AWS Aurora feature cut our DB costs by 90%

                                                                              All of Graphite’s data lives on Amazon Aurora Postgres. Our database load is sizable — far larger than a typical startup of our size. This is because we sync bidirectionally with GitHub for everything a user does on Graphite, so Aurora plays a crucial role in helping us handle and scale massive amounts of data. If Uber were to sign up for Graphite tomorrow, we could handle the countless webhook ev

                                                                                How an AWS Aurora feature cut our DB costs by 90%
                                                                              • Deno、SQLiteベースのキーバリューストア「Deno KV」のスタンドアロン版を公開。ソースコードもオープンに

                                                                                Deno、SQLiteベースのキーバリューストア「Deno KV」のスタンドアロン版を公開。ソースコードもオープンに JavaScriptランタイムを提供するDenoは、SQLiteベースのキーバリューストア「Deno KV」をスタンドアロンで実行可能なバイナリの提供開始を発表しました。オープンソースとして公開もされています。 スタンドアロン版Deno KV(もしくはSelf-hosted版Deno KV)は、Denoと接続してバックエンドデータベースとして利用可能です。 これまでのDeno KVとの違い これまでDenoは、Deno KVを2つの方法で提供してきました。 1つ目は、Deno自身にSQLiteを組み込み、Denoの内臓データベースとしてDeno KVを実装することで、JavaScript/TypeScriptのためのデータストアとして提供する方法です。 この方法では、Den

                                                                                  Deno、SQLiteベースのキーバリューストア「Deno KV」のスタンドアロン版を公開。ソースコードもオープンに
                                                                                • SQLite のおもしろ仕様 (1) : データ型 - kawasin73のブログ

                                                                                  型は型、どうもかわしんです。SQLite では型は絶対ではなく、あくまでも尊重です。信用しすぎると裏切られます。 最近 Rust で SQLite をフルスクラッチで再実装しています。 github.com なるべく本家の SQLite と compatible にするために SQLite のドキュメントやコードを読んで挙動を理解しながら作っています。これを作ることになった経緯はこの記事で紹介していますが、その過程でいろいろ知らなかった面白い仕様や実装があったので紹介していきたいと思います。今回はその第一弾です。 kawasin73.hatenablog.com データ型と Type Affinity SQLite のドキュメントの中で、今の所一番面白いのがこれです。 www.sqlite.org まず、SQLite の内部的には 5 つのデータ型しかありません。 NULL INTEGER

                                                                                    SQLite のおもしろ仕様 (1) : データ型 - kawasin73のブログ