並び順

ブックマーク数

期間指定

  • から
  • まで

121 - 160 件 / 4138件

新着順 人気順

sqlの検索結果121 - 160 件 / 4138件

  • 個人でWEB開発を15年くらいやってる者ですが

    この記事を見てびっくりした。 https://laiso.hatenablog.com/entry/nope-sql 「個人開発のコストはDB次第」 まずビックリしたのは「DBってそんなにお金かかる?」という点。 もちろんDBがストレージ、CPU、メモリを食うのは分かる。 でもVPSならそんなにコストかからんだろう? 俺は1日100万PVほどのエロサイトを運営しているが、WEBサーバ1台、DBサーバ1台、画像サーバ2台で動いているぞ? VPS4台で月額6000円くらい。 次にビックリしたのは、個人開発なのに難しそうなDBサーバを使っている事。 「Cloud Firestore」「Amazon DynamoDB」「MongoDB Atlas」 ↑俺、全部知らない。。。 もちろん、こうしたDBサーバの必要性は分かるのよ。 稼働率、安定性、拡張性などなど。 でもそれって、大規模サイト向けじゃない

      個人でWEB開発を15年くらいやってる者ですが
    • 実践データベース設計

      2024年度リクルート エンジニアコース新人研修の講義資料です

        実践データベース設計
      • Elasticsearch運用ノウハウ | メルカリエンジニアリング

        こんにちは、メルカリMicroservices SREチームの藤本(@jimo1001)です。 私は現在、Embedded SRE として サーチインフラチームに入り活動しています。このサーチインフラチームは、Elasticsearchを使用した検索基盤を管理し、様々なマイクロサービスに検索機能を提供するチームです。この検索基盤は非常に巨大なプラットフォームで、メルカリ全体のマシンリソースの高い割合を占めており、メルカリの検索を支える非常に重要なものです。私の Embedded SRE としてのミッションは検索基盤の信頼性の向上と自動化を推進することです。 今回は、メルカリの検索基盤で利用している Elasticsearch における運用のノウハウを紹介したいと思います。 Elasticsearch とは Elasticsearch は、Elastic社が開発する Apache Lucen

          Elasticsearch運用ノウハウ | メルカリエンジニアリング
        • The AI workspace that works for you. | Notion

          A tool that connects everyday work into one space. It gives you and your teams AI tools—search, writing, note-taking—inside an all-in-one, flexible workspace.

            The AI workspace that works for you. | Notion
          • 「住所は英数字もすべて全角で入力してください」はなぜそうなったのか - Qiita

            Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? Webサービスのフォームに住所を入力するとき、丁目や番地などを入れる欄について、数字やハイフンを全角で書かなければいけない「全角縛り」をやっているフォームをよく見ます。半角文字を入力してしまってエラーになったり、咄嗟に変換方法を思い出せなかったり、全角と半角の見分けが付きづらかったり、「全角縛り」であることが明示されていなかったり、「ハイフン」としてどの文字を使うべきかわからなかったり……と、鬱陶しさを感じることが多くあります。 「住所は全角のみ」(数字やハイフンも絶対に半角を受け付けない)という仕様がどういう経緯で生まれて、どう広まっ

              「住所は英数字もすべて全角で入力してください」はなぜそうなったのか - Qiita
            • ゼロから作る時系列データベースエンジン

              軽量な時系列データベースエンジンをスクラッチで開発する機会があったので、どのように実装したのかを必要知識の解説を交えながらまとめていきます。 実装はGo言語によるものですが、本記事のほとんどは言語非依存な内容となっています。 モチベーション 筆者は時系列データを扱うツールをいくつか開発しています。その中の一つであるAliは負荷テスト用のcliツールで、メトリクスをクライアント側でリアルタイム描画できるのが特徴です。リクエスト毎にレイテンシーなどの計測結果が際限なく書き込まれてくる中、同時に一定のクエリパフォーマンスが求められます。 これは言ってしまえば、簡易クエリ機能付きのpush型モニタリングシステムを単一ホストで実現するようなものです。 以前までの実装ではヒープ上の可変長配列にデータポイントを追加していくだけだったので、当然ながら時間の経過とともにメモリ使用量が増加していく問題を抱えて

                ゼロから作る時系列データベースエンジン
              • 「トランザクション張っておけば大丈夫」と思ってませんか? バグの温床になる、よくある実装パターン

                この記事は DeNA 20 新卒 Advent Calendar 2020 19日目の記事です。 はじめに MySQLやPostgreSQLに代表されるRDBMSではトランザクションと呼ばれる仕組みが提供されています。多くのWebアプリケーションエンジニアはこのトランザクションを駆使してDBとやりとりをするロジックを組み立てることになります。 しかし不整合を起こしたくない処理があるからといって闇雲にトランザクションを張ったり、トランザクションが張られているからと安心してアプリケーション側で闇雲にロジックを組み立ててしまうと思わぬバグを生むことになってしまいます。 このエントリでは、「トランザクションを張っておけば大丈夫」という考え方は危険な場合もあるということを、ありがちな実装例を交えて紹介していきます。 並列に処理されるトランザクション そもそも、トランザクションは全て直列に処理されるわ

                  「トランザクション張っておけば大丈夫」と思ってませんか? バグの温床になる、よくある実装パターン
                • Postgres と MySQL における id, created_at, updated_at に関するベストプラクティス

                  読者対象 ある程度データベースに関する知識を持っている,経験年数 1 年以上のバックエンドエンジニア 特定のプログラミング言語に依存する部分は含めないため,すべての SQL 使用者を対象とする また,ゼロからの丁寧な説明というよりは,リファレンス感覚で使える記事という形にまとめる。 RDBMS の対象バージョン PostgreSQL: 9.4 以降 MySQL: 8.0.28 以降 id (データ型と INSERT 時のデフォルト埋め) 導入 一般的に採用されやすいプライマリキー用の値として,以下を考える。 連番整数 MySQL では AUTO_INCREMENT, Postgres では IDENTITY や SERIAL と呼ばれるもの UUID v1: ハードウェアごとにユニークな単調増加値 UUID v4: ランダム値 UUID v7(ドラフト): 単調増加であるタイムスタンプとラ

                    Postgres と MySQL における id, created_at, updated_at に関するベストプラクティス
                  • Re: Rails を主戦場としている自分が今後学ぶべき技術について

                    この記事は、 Rails を主戦場としている自分が今後学ぶべき技術について(随筆) | うなすけとあれこれ についてのアンサー記事です。 うなすけ君が Ruby on Rails で育ってきたように、僕も JavaScript とともに育ってきたという自覚があります。なので、これについて書くことは、ポジショントークは避けられない、という感覚があります。 冷静に比較しようとも思いましたが、やっぱり開き直って思いっきりポジショントークをすることにしました。そっちのほうが面白いと思うので。 自分の基本的な主張は、こちらの記事にあるとおりです。 Frontend Study #1: 基調講演 - Frontend 領域を再定義する 自分と Ruby on Rails 僕は、キャリアとしては Rails の会社で JavaScript を書いてきたことが多かったです。学生の頃は socket.io

                      Re: Rails を主戦場としている自分が今後学ぶべき技術について
                    • 論理削除 - kawasima

                      ユーザなどのリソースエンティティのパージするわけではないデータ削除(a.k.a. 論理削除)をどう設計するか、は単純でありながら、イミュータブルデータモデルの基本形を学ぶ良い題材なので、順を追って説明する。 リソースの検討 まずユーザがアクティブなユーザと削除されたユーザで扱いが異なるかどうかを考える。この段階で物理設計としてどうするかを考えると検討ポイントが十分考慮されないことにつながるので注意しよう 。(イミュータブルデータモデル#5e3a5f1da8e5b200009c0499) 扱いが異ならない場合を考えてみよう。 code: (mermaid) classDiagram direction LR class ユーザ { <<Resource>> ユーザID : SERIAL PK 名前 : VARCHAR メールアドレス : VARCHAR ユーザ区分 : ENUMアクティブ/削

                        論理削除 - kawasima
                      • shiodaifuku.io

                        Webエンジニアのブログです。

                          shiodaifuku.io
                        • データベースの仕組み(アーキテクチャ)をざっくり理解する

                          株式会社モアでバックエンドエンジニアをしているrevenue-hackです! 普段はGo言語でバックエンドを中心にやっています〜 ↓登壇したときの資料です! より図を入れて詳しく書いております! 今回はデータベースの特にRDBの仕組み(アーキテクチャ)についてざっくり理解して、なにかに役立てようぜ〜 というような内容になります。 ↓記事はこちらに移しました!↓ AI駆動開発&DB設計やクラス設計(DDDやクリーンなど)に力を入れていて、 弊社では適宜エンジニアを募集しているので、興味のある方はご連絡ください! 株式会社モア

                            データベースの仕組み(アーキテクチャ)をざっくり理解する
                          • サブクエリの書き方を2万文字弱かけてすべて解説する

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

                              サブクエリの書き方を2万文字弱かけてすべて解説する
                            • 誰でもわかる全文検索入門

                              全文検索エンジンも、事前に検索対象のデータを調べてこのような索引を作っておくことで、高速な検索を実現しています。 インターネット検索の例 たとえばインターネット検索の場合、まず各サイトからデータを収集して、その中から索引に載せる単語を選んで索引を作ります。索引のデータは下の図の右側のような表になっています。各単語と、それがどのサイトのどこにあったのかを記録しておく形です。 検索の時は、この索引データを調べます。例えば利用者が「理解」という言葉で検索したら、索引の「理解」のところを調べます。そうすると「サイトAの8文字目と18文字目、サイトGの……」と出現場所がわかるので、すぐに結果を返せます。 なお、この図では索引の単語の並び方が適当ですが、実際には本と同じように「あいうえお順」などに並べておいて、すぐに単語を見つけられるようにしてあります。 索引にない単語 この仕組みの場合、索引にある単

                                誰でもわかる全文検索入門
                              • データ分析で用いるSQLクエリの設計方法

                                STEP2. アウトプットを実現するために必要なデータソースを書き出す アウトプットの整理ができたら、今度はインプットとなるデータソースの整理を行いましょう。 必要なデータソースは要件から読み解くことができます。 今回は「10代のユーザーの月間視聴数(性別 / 動画カテゴリごと)の推移をグラフで見たい」という要件です。 ここから、この分析に必要なエンティティ(実体)とその属性、集計値を抽出しましょう。 エンティティと属性 ユーザー 性別 年代 動画 カテゴリ 集計値 視聴数 これらのデータを管理するテーブルを、調査やヒアリングを実施して探します。 今回は以下のテーブルを使用することとします。 user:ユーザー登録に必須な入力項目を管理するテーブル user_profile:ユーザーが登録後に設定できる任意の入力項目を管理するテーブル video:ユーザーが投稿した動画を管理するテーブル

                                  データ分析で用いるSQLクエリの設計方法
                                • 2022 年に学んで良かった技術

                                  雑に書いていきます。 バックグラウンド自分のバックグラウンドスキルは以下の通り。専門はリアルタイムな通信プロトコルを利用したサーバーの設計と開発とマーケティング。 Erlang/OTPWebRTCEnd to End Encryption細かいのはこちら。 SQLGo で sqlc を使うために学ぶことにした。sqlc を採用したのは複数人数で開発するときの共通言語としては SQL の方がいいだろうというのと、SQL はどんなデータを持たせたいのかを伝えるのに便利と判断したため。 今までずっと通信系ミドルウェアの開発をしてきたこともあって SQL を学ぶ必要が無かったが、今回いい機会なのでちゃんと学ぶことにした。 まずは利用データベースを完全にしぼって TimescaleDB (PostgreSQL ベース) で利用する SQL だけを学ぶことにした。 書籍は元 SIer のガチ SQL

                                    2022 年に学んで良かった技術
                                  • 「うぽつ」が定着し始めたのは2011年、「草」が流行り出したのは2016年──約56億のコメントデータからニコニコ動画15年の歴史を振り返ってみた

                                    本日(2021年12月12日)、ニコニコ動画は15周年を迎えた。 もともと、YouTubeの動画にコメントを付けるサービスとして始まったニコニコ。この15年の間に書き込まれたコメント数は「約56億」にも及ぶ(生放送は除く)。 単純計算で、1年に約3.6億、1日に100万を超えるコメントが書き込まれているわけだが、実際にはどのようなコメントがよく書き込まれていたのか。流行っていたのか。 そんなちょっとした好奇心をきっかけに、今回はニコニコ動画に書き込まれた15年分のコメントデータを抽出。年別で書き込み数の多いコメントTOP10や、「うぽつ」や「草」などおなじみのコメント数の書き込み数の推移など、コメントからニコニコ15年の歴史を振り返っていく。 文/竹中プレジデント ―あわせて読みたい― ・ニコニコ動画15周年の日に、ほぼ毎週ずーーっと動画投稿している筋金入りのニコ厨にサービス開始からの思い

                                      「うぽつ」が定着し始めたのは2011年、「草」が流行り出したのは2016年──約56億のコメントデータからニコニコ動画15年の歴史を振り返ってみた
                                    • [スカウターはなぜ「爆発」するの?ロボット工学の専門家に聞いたら、めちゃくちゃ説得力のある答えが帰ってきた]| 【公式】ドラゴンボールオフィシャルサイト

                                      スカウターはなぜ「爆発」するの?ロボット工学の専門家に聞いたら、めちゃくちゃ説得力のある答えが帰ってきた ドラゴンボールを彩るメカニックのなかで、ストーリーにも大きな影響を与えるスカウター。 離れた位置から相手の生体情報を計測できる、といった便利さやデザインの洗練度から、ファンの間でも非常に人気の高いアイテムです。おもちゃで発売されていたものを買ったことがある、あるいはペーパークラフトなどで再現したことがある、という方も多いでしょう。 実はこのスカウターに似たデバイスが、畜産業の現場で活用されているそうなのです。 「ブタの体重をカメラ越しに計測する」という機能を備えた、その名も「スカ豚〜」は一体どのような背景で生み出され、どのような使われ方をしているのでしょうか。 今回は開発者である宮崎大学の川末紀功仁(かわすえ・きくひと)先生にご登場いただき、気になる「スカ豚〜」のスペック、併せてドラゴ

                                        [スカウターはなぜ「爆発」するの?ロボット工学の専門家に聞いたら、めちゃくちゃ説得力のある答えが帰ってきた]| 【公式】ドラゴンボールオフィシャルサイト
                                      • プログラミングの原則:構造化テキストを文字列結合で作らない、置換でいじらない - Uzabase for Engineers

                                        こんにちは、ソーシャル経済メディア「NewsPicks」のむとうです。 先日から『Ghost of Tsushima』の開発者が書いた『ルールズ・オブ・プログラミング』という本をちょっとずつ読み進めていて、プログラミング熱が高まっています。この本は大きな指針を示すだけで具体の話をするものではないのですが、読み物として面白いので私も似たようなことをやってみたくなりました。 何年もこういう仕事をしているとバグが入るパターンというのが見えてきます。そしてだいたいどこに行っても何の仕事でも似たようなことをすることになるのですが、今回の話もその一つです。 構造化テキストを文字列結合で作らない、置換でいじらないというのはこれだけみると何のことか分かりづらいかも知れませんがSaaS Product Team セキュアコーディングの啓蒙 第2回 (SQL インジェクション編)の内容とある面では同じ話です。

                                          プログラミングの原則:構造化テキストを文字列結合で作らない、置換でいじらない - Uzabase for Engineers
                                        • 期限の制約なく無料で使えるクラウド「Free Tier」主要サービスまとめ。2023年版

                                          いくつかのクラウドサービスでは、新規ユーザーに対する1年程度の無料トライアルや一定額のクーポンなどの提供だけでなく、期間の制限なくずっと無料で使える、いわゆる「Free Tier」や「Always Free」と呼ばれるサービスが提供されています。 こうしたサービスは試行用の環境や一時的なテスト環境、あるいはホビー用途などに適しています。 本記事では期限の制約なく無料で提供されている主なクラウドサービスを、2023年版としてまとめました(新規ユーザーとして期限の制約なく無料で使えるものを優先しています)。 ただしこれらの無料のサービスは、提供側の都合によって申し込みや利用が制限されたり、もしくは提供自体が終了したりすることがあります(昨年、多くのITエンジニアに人気であったHerokuのFreeプランが終了したことをご記憶の読者も多いでしょう)。 無料のサービスを利用する場合には、そうした提

                                            期限の制約なく無料で使えるクラウド「Free Tier」主要サービスまとめ。2023年版
                                          • クックパッドマートの失敗したデータ設計 Before / After 大放出

                                            https://cookpad.connpass.com/event/249346/ にて発表。

                                              クックパッドマートの失敗したデータ設計 Before / After 大放出
                                            • あなたの遅延はどこから? SQLから! 〜患部に止まってすぐ効くSQLレビューチェックリスト 年初め特大サービス号〜 - ANDPAD Tech Blog

                                              あけましておめでとうございます! 今年は異世界放浪メシのアニメが放送されるらしいので楽しみなバックエンドの原田 (tomtwinkle)です。 内部で運用しているSQLレビューチェックリストの一部を抽出し思いつきで追記して行った結果、結構な分量になってしまいました。 暇な時でも流し読みして頂けるとありがたいです。 Motivation SQLレビュー観点 大きくSQLが変更される修正の際にはEXPLAINをレビュー内容に加える 検索のキーにINDEXを使用しているか SQL発行回数がN+1(1+N)の構造になっていないか サブクエリを利用したSQLはパフォーマンス要チェック Viewの利用は基本的に禁止 CROSS JOINは禁止 WHERE句で十分に絞った検索をしているか 必要なcolumnだけSELECTしているか レコード数だけ必要な場合にCOUNT用のSQLを発行しているか 集計関

                                                あなたの遅延はどこから? SQLから! 〜患部に止まってすぐ効くSQLレビューチェックリスト 年初め特大サービス号〜 - ANDPAD Tech Blog
                                              • ブロックチェーンでそんなことはできない - chike0905の日記

                                                概要 本稿は、突然ムシャクシャした筆者が自分の考えるブロックチェーンの定義と、世間で言われているブロックチェーンの特性および応用例を批判するものである。 本稿は筆者の見解であり、所属組織の公式見解ではない。 ブロックチェーンの定義 そもそもブロックチェーンとはなんなのか。狭義には、「ブロック」の「チェーン」であることから、以下の定義をしたい。 データが、当該データ直前のデータの暗号学的ハッシュ値を持つリスト型のデータ構造 ここでは、そのデータの中に何を保持するかは一切考慮しない。 データがハッシュ値で連鎖することによって、リスト中の任意のデータのみを書き換えると、ハッシュチェーンの整合性が失われ、書き換えが行われたことを検知可能なデータ構造であると定義する。 しかし、世間で「ブロックチェーン」に興味を持つ諸氏はこの定義だけではいささか狭すぎると感じるだろう。 そこで、狭義のブロックチェーン

                                                  ブロックチェーンでそんなことはできない - chike0905の日記
                                                • 終了の危機にあった15年続くWebサービスを全力で存続させる - phpcon2024

                                                  〜Twilog・Togetter統合の舞台裏〜 by 吉田俊明、青山民人|トゥギャッター株式会社 Twilog https://twilog.togetter.com/ Togetter https://togetter.com/

                                                    終了の危機にあった15年続くWebサービスを全力で存続させる - phpcon2024
                                                  • メールアドレスをキーにしてID連携を行う設計の危うさ|ritou

                                                    ritouです。このしずかなインターネットにおける初投稿です。 おそらく、このしずかなインターネットのID連携では次のような設計になっていま「した」。問い合わせをさせていただき、対応いただきました。 これまでもQiitaなどで同様の実装例が紹介されていた際にはコメントさせていただいていたものですので、アンチパターンの紹介記事として読んでいただければと思います。 「Googleアカウントでログイン」ではじめると、ユーザーが作成され、Googleから受け取ったメールアドレス([email protected])が設定される 次回から「Googleアカウントでログイン」をすると、Googleから受け取ったメールアドレスでユーザーを参照 試しに、次のような流れで動作を確認してみます。 「Googleアカウントでログイン」でアカウント作成([email protected]) 「メールアドレス変更」

                                                      メールアドレスをキーにしてID連携を行う設計の危うさ|ritou
                                                    • 嫌いな相手に糞尿を匿名配送するサービス「ShitExpress」から顧客情報漏れる。利用者のハッカーが脆弱性突く | テクノエッジ TechnoEdge

                                                      ガジェット全般、サイエンス、宇宙、音楽、モータースポーツetc... 電気・ネットワーク技術者。実績媒体Engadget日本版, Autoblog日本版, Forbes JAPAN他 気に入らない知人や何らかの理由で敵対する相手に対し、匿名で動物の糞尿にメッセージを添えて送りつけられるサービス「ShitExpress」が、サイトの脆弱性を突かれてデータベースをまるごとダウンロードされ、ハッキングフォーラムに公開される事態が発生しました。 ShitExpressのウェブページは日本語にも対応しており、そこには「あなたを悩ますあの人、この人を思い浮かべてみてください」、「もし、その人たちにクッサーいサプライズを贈ることができるとしたら?」と書かかれています。そして送りつけるウ〇コの種類(動物)や箱に飾りのスマイリーシールを貼付するか否かなどのオプションを選択して送付できるようになっています。価

                                                        嫌いな相手に糞尿を匿名配送するサービス「ShitExpress」から顧客情報漏れる。利用者のハッカーが脆弱性突く | テクノエッジ TechnoEdge
                                                      • 「マクロを組める事務職」を狙え

                                                        https://anond.hatelabo.jp/20230917223337 一般論として、40歳未経験エンジニアを雇ってくれる企業はほぼ存在しないと言っていい。 奇特な会社は雇ってくれるかもしれないが、22歳新卒をよちよちするのと40超えのおっさんをよちよちするのだったら100人中99人は22歳を選ぶ。 その上で、だ。40歳がプログラミングを学んで業務で価値を出しうる唯一と活路と言えるのが掲題の「手作業でちまちまやんなきゃいけないことをマクロで秒で終わらせられる事務職」なのである。 この話のポイントは、世の中には「どう考えても手入力させるには無駄極まりない」にも拘わらず「エンジニアの稼働費用と派遣社員の稼働費用を取ったら『エンジニアなら1時間で終わらせられる仕事』を『派遣社員に2日かけてやらせる』のが経済合理性がある」という現象があちこちに転がっているということだ。 これを書いてる増

                                                          「マクロを組める事務職」を狙え
                                                        • 筑波大1年生が爆速開発した“オレオレ授業DB”が大学公認に 有志で運用を継続する方針

                                                          履修の登録期間真っ只中、アクセスが集中したことでメンテナンスに入った筑波大学の授業データベース「KdB」。同大の学生たちから不満の声が上がる中、その代替ツールである「KdBもどき」を3時間半程度で作ったとして大学内外から注目された筑波大の1年生、いなにわうどんさん(和田優斗さん)が再び注目を集めている。同システムが“大学公認”になったためだ。 和田さんが開発したKdBもどきを公認ツールとした理由は「システムとして優れたものであるため」という。在学生が開発したことも考慮し、内部の会議を経て公認に至った。和田さんが在籍する情報メディア創成学類内であれば、学生だけでなく教員の利用も呼び掛けている。現在、同学類の公式ページで、KdBもどきのURLを和田さんの名前とともに掲示している。 学生が開発したものを大学が認めるのはよくあることなのか。「前例ではありませんが、類似している例としては本学在学中の

                                                            筑波大1年生が爆速開発した“オレオレ授業DB”が大学公認に 有志で運用を継続する方針
                                                          • GitHub、1200台以上のMySQL 5.7を8.0へアップグレード。サービス無停止のまま成功させる

                                                            GitHub、1200台以上のMySQL 5.7を8.0へアップグレード。サービス無停止のまま成功させる GitHubが提供するGitHub.comは、世界最大のソースコード管理システムを始めとするソフトウェア開発者向け支援サービスを提供しています。 そのGitHub.comはRuby on Railsで構築されており、同社はつねにRubyとRuby on Railsをアップデートし続けていることを今年(2023年)4月に明らかにしています。 参考:GitHubは200万行規模のRailsアプリケーションであり、毎週RailsとRubyを最新版にアップデートし続けている そして同社はこのGitHub.comを支える1200台以上のMySQL 5.7を、GitHub.comのサービスレベルを維持したまま1年以上かけてMySQL 8.0にアップグレードしたことをブログで明らかにしました。 Up

                                                              GitHub、1200台以上のMySQL 5.7を8.0へアップグレード。サービス無停止のまま成功させる
                                                            • リレーショナルデータベースシステムを趣味で開発している者です。 現在、開発中のシステムを並行トランザクションへ対応させることを検討しており、どのような手法があるのか調べたところ、SS2PLもしくはS2PLという手法が私と同じように自作をされている方々の中では多く採用されているようだと分かりました。 一方で、PostgreSQLやMySQLなどのプロダクションレベルで利用されているシステムではMVCCと呼ばれる手法が採用されているということも分かりました。 きっと後者の方が多くの場合で高いスループットが得ら

                                                              リレーショナルデータベースシステムを趣味で開発している者です。 現在、開発中のシステムを並行トランザクションへ対応させることを検討しており、どのような手法があるのか調べたところ、SS2PLもしくはS2PLという手法が私と同じように自作をされている方々の中では多く採用されているようだと分かりました。 一方で、PostgreSQLやMySQLなどのプロダクションレベルで利用されているシステムではMVCCと呼ばれる手法が採用されているということも分かりました。 きっと後者の方が多くの場合で高いスループットが得られるということなのだと思うので、可能であればMVCCを採用したいのですが、あまり初学者向けの実装例も見当たらず、どうしたものかと悩んでおります。 SS2PL/S2PLとMVCCの実装の難易度・工数はどの程度違うものなのでしょうか? また、初めてリレーショナルデータベースシステムを開発する者

                                                                リレーショナルデータベースシステムを趣味で開発している者です。 現在、開発中のシステムを並行トランザクションへ対応させることを検討しており、どのような手法があるのか調べたところ、SS2PLもしくはS2PLという手法が私と同じように自作をされている方々の中では多く採用されているようだと分かりました。 一方で、PostgreSQLやMySQLなどのプロダクションレベルで利用されているシステムではMVCCと呼ばれる手法が採用されているということも分かりました。 きっと後者の方が多くの場合で高いスループットが得ら
                                                              • データベース中心の設計になってしまう問題と闘う - laiso

                                                                『手を動かしてわかるクリーンアーキテクチャ 』の第二章の冒頭に登場する話題に共感したので紹介。 従来の多層アーキテクチャでは、データベースを中心にアプリケーションの 開発が行なわれます。この場合、Web 層はドメイン層に依存し、ドメイン層は 永続化層、つまり、データベースに依存することになります。そうなると、す べてのものは永続化層上に構築されることになり、その結果、いくつかの要因 が絡まり合って、問題が起きやすくなります。 手を動かしてわかるクリーンアーキテクチャ ヘキサゴナルアーキテクチャによるクリーンなアプリケーション開発 20p 手を動かしてわかるクリーンアーキテクチャ ヘキサゴナルアーキテクチャによるクリーンなアプリケーション開発 作者:Tom Hombergs,須田 智之インプレスAmazon 著者によれば、機能開発をデータベース中心に設計すると、ドメイン層と永続化層の密結合が

                                                                  データベース中心の設計になってしまう問題と闘う - laiso
                                                                • 【データベース基礎】インデックスの仕組みを理解する(初学者向け)

                                                                  本書では、データベースのインデックスについて基礎から応用まで体系的に学びます。 データベースの検索性能を最適化するための重要な知識を身につけることができます。 本書で学べる内容は以下の通りです。 🌲 B-Tree と B+Tree インデックスの仕組みと特性の違い 🔍 インデックスが検索効率を向上させるメカニズム 📊 複合インデックスの設計と効果的な活用方法 ⚡ カバリングインデックスやパーシャルインデックスなどの最適化テクニック 📈 クエリプランの読み方とパフォーマンスチューニング 本書の特徴はこちらです。 ・インデックスの内部構造を図解で分かりやすく解説 ・実際のユースケースに基づく設計手法の紹介 ・インデックスサイズと更新コストのトレードオフを考慮した実践的アプローチ ・クエリ最適化のためのパターンとアンチパターンの解説 データベース設計や SQL の基礎知識をお持ちの方なら

                                                                    【データベース基礎】インデックスの仕組みを理解する(初学者向け)
                                                                  • 歴史的地名の「行政区画変遷」を大規模オープンデータ化~『日本歴史地名大系』を平凡社地図出版との協働により機械可読データとして強化~ - 国立情報学研究所 / National Institute of Informatics

                                                                    2023/10/18 歴史的地名の「行政区画変遷」を大規模オープンデータ化 ~『日本歴史地名大系』を平凡社地図出版との協働により機械可読データとして強化~ 情報・システム研究機構 データサイエンス共同利用基盤施設 人文学オープンデータ共同利用センター(以下ROIS-DS CODH、センター長 北本朝展)と株式会社平凡社地図出版(代表取締役 西田裕一)は、『日本歴史地名大系』の機械可読データ化に向けた協働を推進し、このたび歴史的地名の「行政区画変遷」に関する大規模オープンデータを公開しました。 『日本歴史地名大系』(用語解説1)とは、全国の歴史研究者の協力を得て地名研究・地域史研究の全成果を結集し、株式会社平凡社が25年(1979年~2004年)をかけて出版した50巻51冊の地名辞典です。この地名辞典の編集にかつて関わった人々の全面的な協力を得て、地名辞典の内容の更新や位置情報(緯度経度)の

                                                                      歴史的地名の「行政区画変遷」を大規模オープンデータ化~『日本歴史地名大系』を平凡社地図出版との協働により機械可読データとして強化~ - 国立情報学研究所 / National Institute of Informatics
                                                                    • 主要RDBMS製品の比較 – アーキテクチャ, スキーマ, データベース, メモリ | コーソルDatabaseエンジニアのBlog

                                                                      Microsoft SQL ServerMySQLOracle DatabasePostgreSQLSolarWinds DPAデータベース運用主要RDBMS製品の比較 2022.09.01 渡部 亮太 主要RDBMS製品の比較 – アーキテクチャ, スキーマ, データベース, メモリ Oracle ACE Proの渡部です。 主要なRDBMS製品についてアーキテクチャを比較します。 大枠を整理することが最大の目的です。細かい例外事項や拡張機能は適宜記載を割愛しています。 2022年9月時点の最新バージョンをベースに記載していますが、記載内容にバージョン依存は少ないはずです。 時間ができた時に随時追記予定です。 もし誤りを見つけた場合は、優しく教えていただけると嬉しいです。→ https://twitter.com/wrcsus4 or ryota.watabe at cosol dot

                                                                      • DBのロックについてあまり意識したことがない人に向けた実は覚えておきたいロックについての知識 - CARTA TECH BLOG

                                                                        みなさん、おはようございます! CARTA fluct エンジニア の なっかー@konsent_nakka です。 CARTA TECH BLOG アドベントカレンダー 12/14ということで、普段DBのロックについてあまり意識したことがない人に向けた実は覚えておきたいロックについての知識をざっとまとめてみました。 とりあえずこれだけ読んでおけば最低限は困らない、もし何か困った時にはあそこで出てきた内容をもう少し深く調べて見るか、というきっかけになれば良いなと思います。 厳密な定義よりも普段DBを扱う中でロックについてあまり意識したことがないような人にもすっと入ってくるように簡単な表現を優先して書いていますがご了承ください。 目次 留意事項 排他ロックと共有ロック トランザクション分離レベル SELECTのロックレベルを変更する 共有ロック: LOCK IN SHARE MODE 排他ロ

                                                                          DBのロックについてあまり意識したことがない人に向けた実は覚えておきたいロックについての知識 - CARTA TECH BLOG
                                                                        • Next.js + Prisma + NextAuth.js + React Query で作るフルスタックアプリケーションの新時代

                                                                          どうも、@yuyaaar です。 最近は Next.js アプリを見ることが多くなってきました。もはや JAM スタックの王道、と言っても過言ではないかもしれません。 ですが、やっぱりフルスタックとなると、データベースや認証などが必要になってきて、その辺のやり方がいまいちよくわからない、という人も多いのではないでしょうか。 自分もその一人でした。😅 いろいろ調べたり作ったりした結果、今現在もっとも最強コンビであろう、 Next.jsPrismaNextAuth.jsReact Queryでのフルスタックアプリケーションの作り方をこの記事では書いていきます。 今回は、チュートリアルアプリでよくある Todo アプリを作って、vercel にデプロイ、というのをやってみたいと思います。 まずは最初に Next.js ボイラープレートアプリを作りましょう。 作成できたら、まずは TypeScr

                                                                          • DDD以外の設計手法についてご教示いただきたく、DDDの主張をある程度正確に理解した上でDDDをこき下ろしているイメージの強いくまぎさんに質問させていただきました。 最近はソフトウェアの設計について調べると、DDDについての記事ばかりで辟易する一方、私がエンジニアになった頃にDDDに勢いがあった影響もあって私自身DDD以外の良い設計とされているものを知らず、DDDに胡散臭さを感じつつもDDDの考え方にとらわれている、毒親の影響を受けた子供のような状態から抜け出せずにいます。 その最たる例がリポジトリパター

                                                                            DDD以外の設計手法についてご教示いただきたく、DDDの主張をある程度正確に理解した上でDDDをこき下ろしているイメージの強いくまぎさんに質問させていただきました。 最近はソフトウェアの設計について調べると、DDDについての記事ばかりで辟易する一方、私がエンジニアになった頃にDDDに勢いがあった影響もあって私自身DDD以外の良い設計とされているものを知らず、DDDに胡散臭さを感じつつもDDDの考え方にとらわれている、毒親の影響を受けた子供のような状態から抜け出せずにいます。 その最たる例がリポジトリパターンです。 よく依存性の逆転・DIと一緒に語られますが、くまぎさんがおっしゃる通り余計にインターフェースを切るのはイケてないと感じます。また、DI抜きにしても、リポトリパターン由来の様々な問題(N+1やバルクアップデート、管理画面用のメソッド生やしたくなる問題など)に対する解決策として提示さ

                                                                              DDD以外の設計手法についてご教示いただきたく、DDDの主張をある程度正確に理解した上でDDDをこき下ろしているイメージの強いくまぎさんに質問させていただきました。 最近はソフトウェアの設計について調べると、DDDについての記事ばかりで辟易する一方、私がエンジニアになった頃にDDDに勢いがあった影響もあって私自身DDD以外の良い設計とされているものを知らず、DDDに胡散臭さを感じつつもDDDの考え方にとらわれている、毒親の影響を受けた子供のような状態から抜け出せずにいます。 その最たる例がリポジトリパター
                                                                            • コードの寿命・データの寿命・互換性の寿命

                                                                              これを記事にしている 2025 年 5 月の二年ほど前 (2023-06-02) に、縁あって明治大学 情報科学科での特別講義 [1] を担当させてもらいました。 身内の評判は悪くなかったのでスライドは公開していたんですが、単に Google Slides を公開状態にしただけだったんですね。 [2] これではあとから参照・引用するのも難しく、ちょっともったいないかと思ったので、いまさらながら記事の形でまとめなおしておくことにしました。 一年も経てば情報が古くなってしまうコの業界です。賞味期限切れの話もあると思いますが、話のネタにでもしてもらえれば幸いです。 講義の対象と目的 この講義、目的は2つあって、まず「最新の情報科学トピックに触れる」こと。 それから、就職活動が始まる3年生がメインの対象者なので、 今後のキャリアプランとか人生指針に関するいろいろな視点を持ってもらうことです。 この

                                                                                コードの寿命・データの寿命・互換性の寿命
                                                                              • 個人的docker composeおすすめtips 9選 | フューチャー技術ブログ

                                                                                本記事は「珠玉のアドベントカレンダー記事をリバイバル公開します」企画のために、以前Qiitaに投稿した記事を一部ブラッシュアップしたものになります。 はじめにみなさん、docker composeを利用しているでしょうか? 複数のdockerコンテナをまとめて立ち上げたり、環境変数を定義できたり便利ですよね。 この記事ではある程度docker composeを利用している方向けに私が便利、便利そうと感じたdocker composeの機能を挙げてみました。 docker compose cli v2を利用docker-composeではなく docker composeコマンドも利用可能になっています。 Docker Desktopでは v3.4.0から利用可能で、基本的にはコマンドの互換性あります。 ファイル監視による自動更新docker compose 2.20.0からCompose

                                                                                  個人的docker composeおすすめtips 9選 | フューチャー技術ブログ
                                                                                • 30分でわかるデータ指向アプリケーションデザイン - Data Engineering Study #18

                                                                                  600ページを超える書籍である「データ指向アプリケーションデザイン」の要点を最近の話題を交えながら解説します。 Data Engineering Study #18 の発表資料です プレゼンテーション https://www.youtube.com/watch?v=ZiKWXc0fSCw …

                                                                                    30分でわかるデータ指向アプリケーションデザイン - Data Engineering Study #18

                                                                                  新着記事