並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 2519件

新着順 人気順

RDBの検索結果1 - 40 件 / 2519件

  • Prisma ORMを2年運用して培ったノウハウを共有する

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

      Prisma ORMを2年運用して培ったノウハウを共有する
    • Amazon RDS ブルー/グリーンデプロイを利用してMySQLのアップグレードをした話 - Pepabo Tech Portal

      こんにちは。技術部プラットフォームグループのharukinです。 この記事では、私たちが提供するネットショップ作成・運用のためのECプラットフォーム「カラーミーショップ」のデータベースを、Amazon RDSのブルー/グリーンデプロイを利用し、MySQLのバージョン5.7.38から8.0.35へアップグレードした経験についてご紹介します。カラーミーショップにおいてはこれが初の試みでした。Amazon RDS固有のファーストタッチレイテンシーの解除方法や、ダウンタイム時間の計測についてもお伝えします。 Amazon RDSのブルー/グリーンデプロイを活用するメリットは、本番環境に準ずるステージング環境を構築し事前検証が可能であることです。ステージング環境は約1分で本番環境に昇格させることができ、昇格時に許容ダウンタイムを超えたり、レプリケーションやインスタンスの問題が生じた場合は、自動的にプ

        Amazon RDS ブルー/グリーンデプロイを利用してMySQLのアップグレードをした話 - Pepabo Tech Portal
      • NewSQL Landscape

        Oracle Cloud Hangout Cafe Season8 #4

          NewSQL Landscape
        • Aurora MySQLのメモリ不足の原因を特定する

          シンプルフォーム株式会社でインフラエンジニアをしている守屋です。 本記事では Aurora MySQL の OOM(メモリ不足)エラーについて、原因となるクエリを特定するために役立つ Tips を弊社での実例を交えてご紹介します。 発端 突如 Slack に鳴り響く不吉な通知。 「パターン青!障害です!!」 どうやら本番環境の Aurora クラスターがフェイルオーバーしてアプリケーションが DB コネクションエラーを引き起こした模様です。幸いインスタンスは冗長化していて Aurora のフェイルオーバーは高速であるため、ユーザー目線では瞬断が発生した程度の比較的影響が小さめな障害に留まりました。しかしインフラエンジニアとしては捨ておけない状況です!早速原因の調査を始めました。 フェイルオーバーの原因 結論から言うとメモリ使用量がスパイクして OOM エラーが発生したことが原因でした。根拠

            Aurora MySQLのメモリ不足の原因を特定する
          • pytest でテストケース毎に DB を自動的に初期化して、テスト開発体験を向上させる - SalesNow Tech Blog

            概要 Web バックエンドのテストコードを書く場合、その多くは DB に依存していることが多いです。 DB 関連のテストは、テストデータの準備やテストケース毎の DB 処理化を適切に行うことが重要ですが、手間がかかる場合あるため、Mock で擬似的にテストしてしまうことも多いかと思います。 ただ、Mock を使ったテストは本質的な問題を検知できない意味のないテストになってしまう可能性があり、可能な限り DB の Mock を行わずに、実際の DB を使用してテストすることが望ましいと考えています。 本記事では、pytest、sqlalchemy、PostgreSQL を使った場合に、テストケース毎に DB を簡単に初期化しつつ、テストケース毎の前提データ登録も簡単うことでテスト開発体験を向上させる方法を紹介します。 前提環境 本記事では、以下の環境を前提として説明いたします。 python

              pytest でテストケース毎に DB を自動的に初期化して、テスト開発体験を向上させる - SalesNow Tech Blog
            • CockroachDB はどのくらい「しぶとい」のか? / How tough is CockroachDB?

              CockroachDB はどのくらい「しぶとい」のか? / How tough is CockroachDB?

                CockroachDB はどのくらい「しぶとい」のか? / How tough is CockroachDB?
              • SQLは滅ぶべきか|ミック

                でかい釣り針が来たので釣られてみる。とりあえず以下の資料を読んでいただきたい。そんなに長くないのでサクッと読める。 SQLの記述順序と思考の順序が違うので書きにくいし、エディタの補完機能の恩恵が受けられないのが嫌だ、という意見はもう大昔からある。何度も何度も何度も繰り返されてきた議論である。以下の2011年のスレッドでも「SQLはFROM句が最初に来るべきではないか?」という問いが提起されている。すぐに出てこないが、筆者はこれより古い文書も見た記憶がある。

                  SQLは滅ぶべきか|ミック
                • Rのdbplyrでサブクエリを構築すると分かりやすい

                  本記事は最近読んだ次の記事からインスピレーションを得ました。 RのdplyrやPythonのpolarsのようなパッケージでデータフレームの操作に慣れている人ならば、Rのdbplyrを使うことで、バグが少ない上に早くサブクエリを構築することができます。 何千回も実行するSQLならば時間をかけてチューニングされたSQLを構築したほうがよいと思いますが、分析の試行錯誤のサイクルを早く回したい場合など数十回ぐらいしか実行しないSQLならば、dbplyrから実行したほうがよいでしょう。 それではざっくり元記事に沿って例を説明します。 カラムのサブクエリ 大分類(major_category)で絞って、該当する作品を表示する例をお借りします。 まず素直にms_categoriesテーブルから該当するcategory_idを抜き出しておいて、%in%で求めると、 category_id_fiction

                    Rのdbplyrでサブクエリを構築すると分かりやすい
                  • AIにフォーカスしたRDB「Oracle Database 23ai」正式リリース。AI用のベクトルサーチなど可能に

                    AIにフォーカスしたRDB「Oracle Database 23ai」正式リリース。AI用のベクトルサーチなど可能に オラクルはAIにフォーカスしたデータベース「Oracle Database 23ai」の正式リリースを発表しました。 Oracle Database 23aiは、昨年(2023年)9月にリリースされた「Oracle Database 23c」にAI関連をはじめとする新機能を追加した上で、「23c」の名前を変更したものだと説明されています。 参考:[速報]Oracle Database 23cが正式リリース。JavaScriptストアドプロシージャ、DBに自然言語で問い合わせなど新機能。Oracle CloudWorld 2023開幕 Bring #AI algorithms to where your data lives with Oracle Database 23ai

                      AIにフォーカスしたRDB「Oracle Database 23ai」正式リリース。AI用のベクトルサーチなど可能に
                    • SQL滅ぶべし | ドクセル

                      SQL • リレーショナルデータベースシステムと会話するための言語 • 1970年 Codd が RDB モデルと同時に提案 (Alpha言語) • 1974年 Chamberlin と Boyce が改良 • 元々は SEQUEL (Structured English Query Language) だったが、商標登録されていた • 読み方は エスキューエル とそのまま読む (Glliespie 2012)

                        SQL滅ぶべし | ドクセル
                      • クエリのパフォーマンスチューニングの第一歩。実行計画や統計情報について入門する

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

                          クエリのパフォーマンスチューニングの第一歩。実行計画や統計情報について入門する
                        • 自社サービスのバックエンドを Go から TypeScript へ切り替えるための整理

                          切り替える理由 自社の主力製品で利用している技術(WebRTC / WebTransport)がブラウザベースのため TypeScript を利用する Go を採用したのは sqlc が使いたかったという理由 sqlc-gen-typescript が出てきたのでもう Go を使う理由がなくなった 自社サービスチーム全員が Go にまったく興味が無い sqlc 自体は便利 そもそも自社に Go への興味がある人がいない 自社サービスの規模ではボトルネックになるのはデータベースであって言語ではない もしアプリでスケールが必要なときは Rust や Erlang/OTP に切り替えれば良い コネクションプールは PgBouncer を利用すればいい TypeScript からは 1 コネクション 1 接続で問題無い どうせフロントエンドでは TypeScript を書く 自社では React

                            自社サービスのバックエンドを Go から TypeScript へ切り替えるための整理
                          • Figmaは多大なアクセスをさばくためにどのようにデータベースのスケーリングを行ったのか?

                            ブラウザベースのデザインツール「Figma」のデータベース(DB)は2020年以来100倍に拡大しました。当初は単一のPostgreSQLで構築されていたDBをどのようにして分散システムへと移行したのかについて、公式ブログで詳しく説明されています。 How Figma's Databases Team Lived to Tell the Scale | Figma Blog https://www.figma.com/ja-jp/blog/how-figmas-databases-team-lived-to-tell-the-scale/ Figmaではまず、「Figmaファイル」や「組織」などテーブルごとにDBを分割する「垂直分割」を行いました。2022年までに10個のパーティションに分割し、それぞれのパーティションを監視することでスケーリングの優先順位を付けたとのこと。 Figmaの利

                              Figmaは多大なアクセスをさばくためにどのようにデータベースのスケーリングを行ったのか?
                            • Oracle Database 23ai がリリースされたので作成してみてみた - Qiita

                              Oracle Database 23ai がリリースされました。このデータベースのリリースでは AI に重点を置いているため、データベースの名前を Oracle Database 23c から Oracle Database 23ai に変更することにしました。この Long-Term Support Release には、Oracle AI Vector Searchと、データによるAIの使用の簡素化、アプリ開発の加速、ミッションクリティカルなワークロードの実行に焦点を当てた300を超える追加の主要機能が含まれています。 ⚫︎ AI and Converged Data: Oracle's Strategy for Data Management Larry Ellison と Juan Loaiza が、Oracle Database 23ai の GenAI 戦略と、Oracle D

                                Oracle Database 23ai がリリースされたので作成してみてみた - Qiita
                              • サブクエリの書き方を2万文字弱かけてすべて解説する

                                これはなに ども、レバテック開発部のもりたです。 今回はSQLのサブクエリについてまとめます。仕事でクエリを書く際、サブクエリは頻出の構文だと思うんですが、同時にサブクエリの書き方を完全に理解しているよという人は案外少ないのではないでしょうか?[1] 実際、MySQLの公式ドキュメントを見ると12ページくらいを割かれており、意外と奥深いのがサブクエリです。使いこなせると便利ですし、何よりちょっとSQLのコツみたいなのがわかって面白いよ、ということで記事にしてみました。 前提 この記事は以下の前提を含んでいます。 環境 MySQL8.0系 読者の知識 なんとなくサブクエリが書ける けど相関サブクエリとかになると「あーっ」つってGoogle meetを閉じてしまうくらいのレベル感 記事のボリューム 18,000文字 おれの卒論が20,000文字だった マサカリ 間違ってたら投げてくれ〜〜 それ

                                  サブクエリの書き方を2万文字弱かけてすべて解説する
                                • PostgreSQL supported platforms over time

                                  The recent discussion about AIX support in PostgreSQL (as of now removed in PostgreSQL 17) led me to look through the project’s history, to learn what platforms we have supported when. In this context, “platform” really means operating system. One useful proxy is looking at the files in src/template/, because every supported platform needs to be listed there. There are other dimensions, such as wh

                                  • Why SQLite Uses Bytecode

                                    1. Introduction Every SQL database engine works in roughly the same way: It first translates the input SQL text into a "prepared statement". Then it "executes" the prepared statement to generate a result. A prepared statement is an object that represents the steps needed to accomplish the input SQL. Or, to think of it in another way, the prepared statement is the SQL statement translated into a fo

                                    • 今更聞けないDBMSのメモリ管理について

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

                                        今更聞けないDBMSのメモリ管理について
                                      • 生成AI (Cohere)+LangChain+Vector Database (PostgreSQL)でRAGを試してみた - Qiita

                                        生成AI (Cohere)+LangChain+Vector Database (PostgreSQL)でRAGを試してみたPostgreSQLlangchainLLMVectorStorepgvector 生成AIを企業が使う場合、社内データを使った回答を得るにはファインチューニング、もしくは Retrieval-Augmented Generation (RAG、検索拡張生成) を行う必要があります。 企業では毎日データが更新される中で、ファインチューニングを頻繁に行うのはコスト高で現実的ではありません。 そこでRAGを使った方法が注目されています。 ということで、今回は以下の組み合わせでRAGを試してみました。 生成AI: Cohere Command Vector Database: PostgreSQL (pgvector) 生成AIとVector Databaseの連携: La

                                          生成AI (Cohere)+LangChain+Vector Database (PostgreSQL)でRAGを試してみた - Qiita
                                        • GitHub - HexaCluster/pgdsat: PostgreSQL Database Security Assessment Tool

                                          PGDSAT is a security assessment tool that checks around 70 PostgreSQL security controls of your PostgreSQL clusters including all recommendations from the CIS compliance benchmark but not only. This tool is a single command that must be run on the PostgreSQL server to collect all necessaries system and PostgreSQL information to compute a security assessment report. A report consist in a summary of

                                            GitHub - HexaCluster/pgdsat: PostgreSQL Database Security Assessment Tool
                                          • 【魚拓】【番外編】Excelの知識しかない人をRDBの担当者にする:SQLの知識がなくてもJetBrains AIを利用してRDBをノーコード生成!|kintoneにお...

                                            ・ 05月02日 07時    取得の修正をアップデートします     ウェブ魚拓をご利用いただき、ありがとうございます。先日のアッ ... ・ 05月01日 19時    【追記】ウェブ魚拓のバージョンアップが終了しました     連携が上手に言ってなかった点から延長が行われてしまい、お手数 ... ・ 04月29日 23時    【重要・緊急】ウェブ魚拓のバージョンアップを行います     ウェブ魚拓のやや大きいバージョンアップを行います。5/1 A ...

                                              【魚拓】【番外編】Excelの知識しかない人をRDBの担当者にする:SQLの知識がなくてもJetBrains AIを利用してRDBをノーコード生成!|kintoneにお...
                                            • リクルートが『スタディサプリ』で Amazon Aurora Serverless v2 を採用。コストを最適化しつつ Aurora の管理工数を大幅削減 | Amazon Web Services

                                              Amazon Web Services ブログ リクルートが『スタディサプリ』で Amazon Aurora Serverless v2 を採用。コストを最適化しつつ Aurora の管理工数を大幅削減 株式会社リクルートは、日本国内のHR・販促事業及びグローバル斡旋・販促事業をおこなう事業会社です。リクルートでは、『スタディサプリ』というスマートフォンアプリ、パソコンで利用可能なオンライン学習サービスのデータベースとして Amazon Aurora PostgreSQL を採用しています。 2023 年 5 月にこの Aurora PostgreSQL を Aurora Serverless v2 に変更しました。採用検討から 1.5 ヶ月と短期間で導入を決定しましたが、入念な検証の結果 Aurora の運用負荷を大幅に削減し、サービスの安定運用も実現しています。本ブログは、『スタディサ

                                                リクルートが『スタディサプリ』で Amazon Aurora Serverless v2 を採用。コストを最適化しつつ Aurora の管理工数を大幅削減 | Amazon Web Services
                                              • note の Aurora MySQL を v2 から v3 へアップグレードしました|tic40

                                                note ではメインデータベースとして Aurora MySQL を採用し、日々発生する膨大なトラフィックを処理しています。Aurora MySQL v2 (MySQL 5.7 互換) の標準サポートは2024/10/31 に終了するため、これを機に v3 (MySQL 8.0 互換) へのアップグレードを行いました。 アップグレードは無事に完了しましたが、いくつかの問題にも直面しました。これらを共有することで、これからアップグレードを検討している方へ参考になればと思います。 事前に検討した課題アップグレード後に致命的な問題が起きたらどうするかv3 へのアップグレード後に v2 へ切り戻すことは容易ではなく、スナップショットなどからの復元が必要になります。データをロールバックすることになるため、ユーザ影響が極めて大きく避けたい事態です。 そのため、基本的に切り戻しはできないという前提でアッ

                                                  note の Aurora MySQL を v2 から v3 へアップグレードしました|tic40
                                                • 関数としてのテーブル - 写像と命題関数|ミック

                                                  拙著の一つに『おうちで学べるデータベースのきほん』というデータベース初心者向けの入門書がある。2015年刊行なのでそれなりに年月が経っているのだが、ありがたいことに今でもコンスタントに読んでいただいている。 この本の中で「リレーショナルデータベースのテーブルは関数として捉えられる」という話をしているのだが、ある読者の方からそこがよく分からなかった、という質問をいただいた。ちょうどよい機会なので、少しこの点を補足説明しておきたいと思う。 テーブルが関数だと言うとき、二つの含意がある。一つは集合から集合への写像としての意味、もう一つが述語論理における命題関数としての意味である。一般的にテーブルが関数だという場合は、前者の意味で言われることが多い。こちらは関数従属性や正規形の概念にも繋がっていくから、関係モデルの理解という点でも広がりのあるオーソドクスな解釈だ。拙著でもこの意味で説明している。し

                                                    関数としてのテーブル - 写像と命題関数|ミック
                                                  • 請求関連テーブルのスキーマ変更をした話 - Feedforce Developer Blog

                                                    以前に アプリケーションを停止させずにRDBのスキーマ変更する話 を書きました。 developer.feedforce.jp 今日は、その実践編というか、実例として EC Booster というサービスで請求関連テーブルのスキーマを変更した話をしようと思います。 はじまりのテーブル 元々、 EC Booster の請求を管理するテーブルは、このような形でした。 create_table "monthly_charges", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| t.uuid "shop_id", null: false t.integer "year", null: false t.integer "month", null: false t.datetime "created_at"

                                                      請求関連テーブルのスキーマ変更をした話 - Feedforce Developer Blog
                                                    • BigQuery クエリ - pokutuna

                                                      BigQuery 関連: Colaboratory 標準 SQL 語彙の構造  |  BigQuery  |  Google Cloud リテラル等の仕様 その場でデータを作ってクエリする 動作確認に便利 code:struct.sql SELECT MIN(status) FROM UNNEST([ STRUCT('unexamined' AS status), STRUCT('unexamined' AS status), STRUCT('ng' AS status) ]) 型ほしい時は型を書く code:complex_struct.sql SELECT * FROM UNNEST( ARRAY<STRUCT<count INT64, time TIMESTAMP>>[ STRUCT(3, TIMESTAMP "2020-07-01 10:00:00"), STRUCT(5, TIM

                                                        BigQuery クエリ - pokutuna
                                                      • MySQLのSQLクエリチューニングの要所を掴む勉強会を開催しました! - ANDPAD Tech Blog

                                                        こんにちは!DBREの福間(fkm_y)です。先月、弊社でデータベースの技術顧問をして頂いてる三谷(mita2)さんに開発本部向けの「MySQL SQLチューニング」勉強会を実施していただきました。 今回はMySQLの得意不得意なことの説明やSQLチューニングの流れ、具体的な事例を元にした対応例、また最近話題のHTAPな製品も紹介していただきとても参考になったのでポイントをおさえてレポートをお伝えします! 開催背景 本編 MySQL の得意なこと、苦手なこと データベースのチューニング手段と特徴 SQLチューニングの流れ インデックス SQLチューニング例 インデックスフルスキャンとカバーリングインデックス ソート まとめ 当日の資料 さいごに 過去開催されたデータベース勉強会レポート 開催背景 弊社では三谷さんによるデータベース勉強会を定期的に開催しています。数年前にも同じテーマで勉強会

                                                          MySQLのSQLクエリチューニングの要所を掴む勉強会を開催しました! - ANDPAD Tech Blog
                                                        • 自作DBの本をだいたい完走した - k-murakami0609の日記

                                                          自作 DB を作ろうって洋書をだいたい完走しましたので、感想を書こうと思います。 参考文献とか練習問題は一切やってません。 (だいたいって言っているのは、Ruby への書き換えをしてたんですが、13.14.15 章はアルゴリズムの話で、理屈が理解できれば書き換えしなくてもいいかと思って止めた) link.springer.com 本の感想 年に 1 回くらい自作 XX を始めて、途中で飽きてを繰り返してるんですが、その中でも自作 DB は結構面白かったなというか進めやすかったなと思いました。 理由はいくつかあって web アプリケーションエンジニアにとっては距離が近い題材だったので、微妙にしか知らない単語が次々出てきてよかった 自作 XX は、初手アセンブラを書かされたりすることがそこそこあって、面白にたどり着くまでに最初の方で心が折られる事が多いが、今回はそんなことがなかった 自作 DB

                                                            自作DBの本をだいたい完走した - k-murakami0609の日記
                                                          • SQLite on Rails | Fractaled Mind

                                                            Over the last year or so, I have found myself on a journey to deeply understand how to run Rails applications backed by SQLite performantly and resiliently. In that time, I have learned various lessons that I want to share with you all now. I want to walk through where the problems lie, why they exist, and how to resolve them. And to start, we have to start with the reality that… Unfortunately, ru

                                                            • TiKVにおけるトランザクションとMVCCの話

                                                              はじめに PingCAPの小板橋です。はじめまして! TiDBの入門記事から上級者編まで幅広く取り扱う本アカウント第5回目は「TiKVにおけるトランザクションとMVCCの話」についてをまとめていきたいと思います。 TiKVの仕組み まずは、TiKVの仕組みについてを見ていきましょう。 全体のTiDBクラスターのアーキテクチャについては、下記の記事をご覧ください。 TiDBクラスターにおけるデータレイヤーにあるストレージノードとしてTiKVと呼ばれるものがあります。 TiKVは、分散型のキーバリューデータベースになり、ACIDに準拠したトランザクションAPIを提供しています。このTiKVの裏には、RocksDBとRaftコンセンサスアルゴリズムによって動作しています。 Raftコンセンサスアルゴリズムについては、また別の記事で深ぼっていきます。(こちらはこちらでお楽しみに!) RocksDB

                                                                TiKVにおけるトランザクションとMVCCの話
                                                              • DMMプラットフォームがTiDB Cloudを採用した背景

                                                                私たちはなぜNewSQLを使うのかTiDB選定5社が語る選定理由と活用LT https://findy.connpass.com/event/314602/

                                                                  DMMプラットフォームがTiDB Cloudを採用した背景
                                                                • 検証を通して見えてきたTiDBの性能特性

                                                                  ファインディ株式会社主催のLT会「私たちはなぜNewSQLを使うのかTiDB選定5社が語る選定理由と活用LT」に登壇した際の資料です。

                                                                    検証を通して見えてきたTiDBの性能特性
                                                                  • Neon: A New Approach to Database Development - Neon

                                                                    Neon: A New Approach to Database DevelopmentNeon is Generally Available Neon is now Generally Available. We’ve shipped major improvements to Neon internals that, combined with our operating experience scaling up to 700,000+ databases over the past year, give us the confidence that Neon is ready to support your business-critical workloads. If you’re building or scaling an application, you like Post

                                                                      Neon: A New Approach to Database Development - Neon
                                                                    • WebアプリケーションにおけるPDOの使い方入門 / phpcon odawara 2024

                                                                      https://fortee.jp/phpconodawara-2024/proposal/b48d66a5-799b-48ea-b322-7f894e5d5923

                                                                        WebアプリケーションにおけるPDOの使い方入門 / phpcon odawara 2024
                                                                      • NewSQLはデータベースに革命を起こすか - NetflixにおけるCockroachDBのユースケース|ミック

                                                                        近年のデータベースの新潮流にNewSQLと呼ばれる一群のデータベース製品群の登場がある。そのコンセプトを一言でいうと、RDBとNoSQLのいいとこどりである。SQLインタフェースと強いデータ一貫性(ACID)というRDBの利点と水平方向のスケーラビリティというNoSQLの長所を兼ね備えた夢のようなデータベースである。下図に見られるように、RDBとNoSQLが鋭いトレードオフを発生させていたのに対して、NewSQLではそれが解消されているのが分かる。 RDB vs NoSQL vs NewSQL本当にそのような夢の実現に成功しているか、というのはまだ議論が続いているが(クエリのスループットを出すためにレイテンシを犠牲にしているので本当にトレードオフを解消はしていない、などの問題が指摘されている)、商用でも利用可能な製品としてGoogle Spanner、TiDB、YugabyteDB、Coc

                                                                          NewSQLはデータベースに革命を起こすか - NetflixにおけるCockroachDBのユースケース|ミック
                                                                        • 新入社員に向けて私が3年間で読んだ技術書を紹介する - Qiita

                                                                          はじめに 今回は私が3年間で読んだ技術書をひたすら紹介します。 私は2021年4月に新卒でSIerに就職し、2024年4月でエンジニア4年目となりました。 そんな私の入社時のスキル感はどうだったかというと... 非情報系学部卒の理系 学部4年生の時に研究室で少しPythonを触ったことがある程度 HTTP?なにそれ? でした。 こんな感じでほぼゼロからのスタートでしたが、3年間でどのくらいのスキル感になったかというと、ざっくりと 基本的に一人称で開発業務ができる 小規模のシステム開発なら技術選定やアーキテクチャの検討も可能 某(若手向け)技術コンテストで入賞経験あり OSSコントリビューション経験あり IT関連の資格7つ取得 くらいには成長することができました。 これから紹介する技術書を読むだけでこのくらいのスキル感になれますという話ではなく、当然日々の業務であったり、その他のインプット/

                                                                            新入社員に向けて私が3年間で読んだ技術書を紹介する - Qiita
                                                                          • 列指向、行指向データベースの特性を木構造を用いた集計クエリから理解する

                                                                            この記事は毎週必ず記事がでるテックブログ "Loglass Tech Blog Sprint" の 34 週目の記事です! 1 年間連続達成まで 残り 19 週 となりました! 株式会社ログラスの龍島(りゅうしま)です。最近はもっぱら新生姜をガリにしてクラフトビールのつまみにする毎日を送っています。今日はデータベースとデータ構造の話です。 この記事でやること データ集計の高速化のため、多くの場合、列指向データベースが選ばれます。列指向が大量のデータ操作を効率的に処理できるためです。行指向のデータベースを利用している状況で、データ集計のパフォーマンス向上のため列指向データベースへの移行をすることはよくある例です。しかし、行指向データベースで有効なデータ構造やクエリが列指向で同様に優れているとは限りません。この記事では、行指向のPostgreSQLと列指向のBigQueryを使って、それぞれに

                                                                              列指向、行指向データベースの特性を木構造を用いた集計クエリから理解する
                                                                            • テーブル・DB設計するときの極意 - Qiita

                                                                              はじめに 「テーブル・DBを設計するときのさいきょうの極意」を完全に理解したので 初心者(私)向けに共有する記事です。 どうぞ揉んでいただければ幸いです。対戦よろしくお願いします。 さいきょうの極意 初心者が「テーブル・DB設計して」と言われると、 「アソシエーションってあったよね・・・バリデーションも?中間テーブルを使うときと使わないときと・・・」と大変に混乱し、何から手をつけていいかわからなくなります。 そんなあなたにこれ! テーブル・DB設計は「属性」と「関係」の2つだけ 「属性」は必要なものを書くだけ 「関係」は 1:1 / 1:N / N:N しかない(しかも、ほとんど 1:N) これが極意だ!!! 一般的な、「ユーザーがいて、投稿ができて、コメントといいねができるサービス」で考えてみましょうか。 users / posts / comments / likes のテーブルが必要

                                                                                テーブル・DB設計するときの極意 - Qiita
                                                                              • 「SQL」の読み方論争に決着? 「しーくぇる」vs「えすきゅーえる」にPostgreSQLがケリ/冠詞にはくれぐれも注意【やじうまの杜】

                                                                                  「SQL」の読み方論争に決着? 「しーくぇる」vs「えすきゅーえる」にPostgreSQLがケリ/冠詞にはくれぐれも注意【やじうまの杜】
                                                                                • 決済ステータス定義の最適解

                                                                                  ネットスーパーシステムの決済ステータス表現 (状態遷移) は複雑だ。 その理由は要求要件が多いことに起因しているが、多いことが悪いのではなく、それに応えなければシステムとして真の価値を発揮できないからで。逆に問題解決できなければ、著しく利便性を落としてしまうので、必須要件という位置付けにある。 前提文脈を汲み取りづらいモデリングなので、問題解決例を示すのはあまり見かけないが、自分が考えた決済ステータス定義の答えを示す。 この内容は過去にブログや登壇で話した内容の延長でもあるので、過去の内容も参考にすると良いかもしれません。 「E-Groceryにおけるカード決済処理の難しさと設計戦略」 「ネットスーパーの買い物体験を支える工夫と決済機能実現の過程」 前提条件 注文から支払い完了まで時間差がある注文後に注文内容の変更ができる品切れが発生するケースがある販売員が注文内容を変更できる0円での支払

                                                                                    決済ステータス定義の最適解