タグ

dbに関するwata88のブックマーク (29)

  • PostgreSQLとMySQLのメジャーバージョンアップのためのチートシート作った - そーだいなるらくがき帳

    中国地方DB勉強会 in 岡山の登壇資料です。 そのうちここで登壇動画が公開されることでしょう。 肝心なチートシートは以下のとおり。 PostgreSQL gist.github.com MySQL gist.github.com チートシートだけじゃわからない!困ってる! Have Fun Techがバージョンアップのサポートしますのでお気軽にご相談ください。 have-fun.tech まとめ やっぱ中国地方DB勉強会は最高だぜ!

    PostgreSQLとMySQLのメジャーバージョンアップのためのチートシート作った - そーだいなるらくがき帳
    wata88
    wata88 2023/10/08
  • WEB+DB PRESS Vol.122に特集「Rustで実装!作って学ぶRDBMSのしくみ」を書いた - Write and Run

    KOBA789 です。 時が経つのは早いもので、気づけば2月末に無職になってから1ヶ月以上が過ぎていました。 その間に何をしていたのかといえば、表題の特集記事の執筆をしていました。 宣伝 このブログ記事は WEB+DB PRESS Vol.122 を読みたくなるためのものです。ぜひ買ってね。買ったらちゃんと読んでね。 作って学ぶ RDBMS のしくみ、書きました。みんな大好き Rust を使って解説してます https://t.co/nm526qQYnm— KOBA789 (@KOBA789) April 8, 2021 gihyo.jp 使用言語は Rust だし、RDBMS はそもそも難しいトピックだしで結構重めの内容ですが、まずは読み物として寝転びながらでもいいので読んでみてほしいです。 ゴールデンウィーク*1の自由研究のお供にもどうぞ。たぶんちょうどいい分量なんじゃないかなぁ。ゴー

    WEB+DB PRESS Vol.122に特集「Rustで実装!作って学ぶRDBMSのしくみ」を書いた - Write and Run
    wata88
    wata88 2021/04/17
  • Berkeley DB (Hash) の実装 - knqyf263's blog

    普段あまりこういう誰の役に立つのか分からない記事は書かないのですが、解析をするまでの背景がOSSに関するとても良い話なので重い腰を上げて書きました。 概要 古のアプリケーション組み込み型のデータベースとしてBerkeley DBがあります。元々はカリフォルニア大学バークレー校によって開発され、その後Oracleによって買収されています。データ操作にSQLは使えず、アプリケーションに埋め込んで使用します。RDBまでは必要ないけどちょっとしたDBが必要みたいな時に使われているようです。機能はシンプルで組み込みのため性能も良いとのこと。詳しくは以下に書いてます。 docs.oracle.com 記事ではそのBerkeley DBの中身がどのように実装されているのかの雰囲気を記します。Berkeley DBはBtree accessやHash access, Queue/Recno access

    Berkeley DB (Hash) の実装 - knqyf263's blog
    wata88
    wata88 2020/10/28
    2020にbdbの記事が出る趣深さ
  • Amazon RDS/Auroraをクローンするシステムを作った話 - クックパッド開発者ブログ

    こんにちは、技術部SRグループの菅原です。 最近、Ninja650からNinja1000に乗り換えました。パワーがあるせいで3速発進・4速発進が平気でできてしまい、シフトワークがどんどん下手になっています。精進したいものです。 この記事では、Amazon RDS/Auroraをクローンするシステムを作った話を書きます。 Amazon RDS/Auroraをクローンするシステム サービス開発を行っていると、調査や検証でプロダクション環境で使われているデータベースが必要になることがあります。開発環境やステージング環境にもデータベースは存在するのですが、プロダクション環境のデータでしか再現しないバグの調査や、プロダクション環境のデータ量でのスキーマ変更の負荷の検証など、開発環境やステージング環境のデータベースではできない作業も多いです。しかし、オペレーションミスや個人情報へのアクセスを考えると、

    Amazon RDS/Auroraをクローンするシステムを作った話 - クックパッド開発者ブログ
    wata88
    wata88 2020/08/20
  • Amazon Elasticsearch ServiceをつかったRDSのスロークエリの集計と監視 - クックパッド開発者ブログ

    こんにちは、SREの菅原です。 クックパッドの多くのシステムは AWS 上で稼動しており、そのWebサービスの多くはデータベースにAmazon RDSを使っています。 WebサービスDBを使う場合、ボトルネックになりやすいDBのパフォーマンスを落とさないためにスロークエリの監視はとても重要です。そこで、Amazon Elasticsearch Serviceを使ったスロークエリの集計・監視システムを構築したので、それについて紹介したいと思います。 ※今のところMySQLエンジンのみを対象としています システム構成 システムの構成は以下のようになります。 また、社内のシステムと完全に同じ訳ではありませんが、同様の構成のSAMプロジェクト(Elasticsearch Serviceに保存するまでの部分)をGitHubで公開しています。 https://github.com/winebarre

    Amazon Elasticsearch ServiceをつかったRDSのスロークエリの集計と監視 - クックパッド開発者ブログ
    wata88
    wata88 2019/12/28
    良さ
  • DBMSをGoで実装してみた - Sansan Tech Blog

    こんにちは。プロダクト開発部の荒川 id:ad-sho-loko です。突然ですが、皆さんはこんな疑問を持ったことはありませんか? データベースの内部実装はどうなっているのか? トランザクションとはどのようなアルゴリズムで実現されているのか? NoSQLが遅いのはなぜか? 古典的なデータベースとは内部的にどのように違うの? データベースを何かしらの形で利用しているのにも関わらず、意外と内部の仕組みを理解していない場合が多いかと思います。僕もそうです。*1 しかし、エンジニアたるもの、その仕組みを知ることは非常に重要です。僕もデータベースについて勉強しようといくつかのやサイトを調べていたのですが、なかでもCMU(カーネギーメロン大学)のDatabase System Groupがアップロードしている講義が最も勉強になりました。 www.youtube.com そしてブログでは、上記の講義

    DBMSをGoで実装してみた - Sansan Tech Blog
    wata88
    wata88 2019/10/25
  • 履歴を持つデータの設計

    酔いどれ設計ナイト2019の発表資料です。

    履歴を持つデータの設計
    wata88
    wata88 2019/04/13
    めちゃめちゃ良い
  • クラシル、不屈のキャッシュ戦略 - dely Tech Blog

    こんにちは! プロダクトマネージャーをしている奥原 (@okutaku0507) です。前までサーバーサイドのリードエンジニアをしていました。 delyの開発ブログが長らく更新されておらず、不甲斐ないです。これからは活発にdelyが取り入れている最新技術や実際にあった事例、取り入れているアーキテクチャなどを中心に発信していきたいと思っています。 久しぶりの今回は、delyが運営/開発しているレシピ動画サービスであるkurashiruの涙あり、笑いありのキャッシュ戦略について歴史と実際の事例を元に書いていきたいと考えています。最後には、僕が作成したクラシルに用いられているキャッシュ戦略をgemにしたライブラリを紹介いたします。 はじめに サーバーサイドチームはクラシルの開発から1年半程度まで、主に僕一人しかいませんでした。TVCMによる急激なユーザー数増加や新機能開発、社員100人を支える管

    クラシル、不屈のキャッシュ戦略 - dely Tech Blog
    wata88
    wata88 2018/07/29
    分散キャッシュ
  • AWS Database Migration Serviceを使って水平分割されたDBの縮退に挑戦した話 - Qiita

    概要 AWS Database Migration Service 略称DMSを使って、水平分割されたDBインスタンスを縮退しようと計画していましたが、検証中に不具合らしきものを見つけたので中断しました。この記事はDMSを検証中に引っかかったトラブルや対策について書いていたメモをまとめたものです。今回の記事中で説明する内容は実環境からぼかしている箇所がありますがご容赦ください。 ※ この文章での「メンテナンス」という単語は、ゲームシステムのメンテナンスを指しており、AWS側のメンテナンスとは異なります。 動機 通常DBは基的にはスペックが不足したらスケールアップを行い対応します。弊社では加えてより大規模な負荷でも耐えられるよう水平分割してスケールアウトも併用する構成になっております。規模の拡大時には問題無いのですが、必要とされる負荷が下がった場合や、サービスの使われ方が変わって別のサブシ

    AWS Database Migration Serviceを使って水平分割されたDBの縮退に挑戦した話 - Qiita
    wata88
    wata88 2018/03/21
    わかりみMAX。便利だけど、エンジンとバージョン別、かつDMSの挙動を知る必要があって苦戦する
  • Amazon Auroraの先進性を誰も解説してくれないから解説する - Qiita

    TL;DR; Amazon AuroraはIn-Memory DBでもなくDisk-Oriented DBでもなく、In-KVS DBとでも呼ぶべき新地平に立っている。 その斬新さたるやマスターのメインメモリはキャッシュでありながらWrite-BackでもなくWrite-Throughでもないという驚天動地。 ついでに従来のチェックポイント処理も不要になったのでスループットも向上した。 詳細が気になる人はこの記事をチェキ! Amazon AuroraAWSの中で利用可能なマネージド(=運用をAWSが面倒見てくれる)なデータベースサービス。 ユーザーからはただのMySQL、もしくはPostgreSQLとして扱う事ができるのでそれらに依存する既存のアプリケーション資産をそのまま利用する事ができて、落ちたら再起動したりセキュリティパッチをダウンタイムなしで(!?)適用したりなどなどセールストー

    Amazon Auroraの先進性を誰も解説してくれないから解説する - Qiita
    wata88
    wata88 2017/12/13
    AWSによるRDB再発明
  • 主要データベースの増え続けるdisk容量の対応事例

    こんにちは、SRE の @masartzです。 今回は最近取り組んだ、メルカリの主要データベースの容量削減のお話をしようと思います。 TL;DR 主要データベースの容量を20%以上削減しました どういう状況だったか? 何をしたか? メルカリでは2017年11月現在、出品数は1日100万件を超えています。 なので、単純に日々多くのデータが増えていっています。 そのためデータベースのスケーリングは常に検討し、取り組まなければならない課題です。 今回扱ったデータベースはいくつかあるデータベースの中で商品テーブルを持つ、メルカリの主要データベースになります。 増え続けるデータに対応するための、テーブル分割を変則的な形で対応したのでその過程を紹介します。 前提:データベース分割方法 メルカリのデータベースには 会員情報や商品情報など、基要素となるデータから、通知やお知らせメッセージなど付加的な機能

    主要データベースの増え続けるdisk容量の対応事例
    wata88
    wata88 2017/11/30
    移行中の考慮ポイントがすごく勉強になった
  • スキューのない世界を目指して - クックパッド開発者ブログ

    こんにちは。インフラストラクチャー部データ基盤グループの小玉です。 先日Amazon Redshift(以下、Redshift)で32TBのテーブルを全行スキャンするクエリを3同時に走らせたまま帰宅し、クラスターを落としてしまいました。 普段はRedshiftのクエリをチューニングしたり、データ基盤周りの仕組みを慣れないRubyで書いたりしています。 突然ですが、スキュー(skew)という単語をご存じでしょうか。 「skew 意味」で検索すると「斜め」とか「傾斜」といった訳が出てきますが、コンピューティング界隈では「偏り」という訳語が定着していると思います。 さらに、分散並列DB界隈で単にスキューもしくは偏りと言った場合、それはしばしばデータの偏りを指します。 データが偏っているとは データが偏っているとは、複数ノードで構成される分散並列DBにおいて、各ノードが保持するデータ量(行数)に

    スキューのない世界を目指して - クックパッド開発者ブログ
    wata88
    wata88 2017/07/28
    冒頭のせいで、後の話が頭に入ってこない
  • Terraform入門 - RDSのパスワード自動生成 - Qiita

    概要 TerraformでRDSを立てる時にPasswordに入れる値ってどうしてますか? 方法 主にはterraform/variablesに書いてある方法 環境変数で渡す方法 export TF_VAR_secret_key=bar -var 'secret_key=bar' 標準入力で渡す方法 variableをnullで定義しておく : variable "secret_key" {} (対話形式で入力が出来る) 自動生成する方法 固定で書いてしまう方法 課題 (1) の方法の場合、envファイルかコマンド実行時に毎回パラメーターを渡すかしないといけなくてめんどくさい。envファイルをいろんなひとに配るのもめんどくさい。けどenvを持ってる人じゃないと実行できない。 (2) の方法の場合、実行時に毎回聞かれる。(嘘の値を入れてもPasswordの更新は走らないわけだけどとてもめんど

    Terraform入門 - RDSのパスワード自動生成 - Qiita
    wata88
    wata88 2017/07/04
  • DBマイグレーションツール作った話 - Qiita

    Help us understand the problem. What is going on with this article?

    DBマイグレーションツール作った話 - Qiita
  • データベースについてのそもそも論

    先月のはじめのほうで、「リレーショナルデータベースとの上手な付き合い方」というタイトルで、2回発表をした。ひとつは「まべ☆てっく Vol.1」であり、もうひとつは「Hacker Tackle(ハカタクル?)」である。 「リレーショナルデータベースの開発・運用に纏わるもろもろの話をして欲しい」というような内容の話をしてくれないかという同じような依頼を、ちょうど2日違いのイベントで頂いた。9/8のまべ☆てっくと、9/10のHacker Tackleである。そうなると必然的に話す内容も、同じようなものになってくる。同じ人物(=私)が話すのだから、テーマも同じで時期も同じであれば、内容が同じようなものになるのが自然である。もし違うものになってしまっているのであれば、片方はウソをついているということになるはずだ。今日は発表に使用したスライドを紹介しつつ、なぜデータベースを使うべきなのか(あるいは使う

    データベースについてのそもそも論
    wata88
    wata88 2016/11/07
    トランザクションと集合演算の話
  • SILO再考〜次世代DBのアーキテクチャとして - 急がば回れ、選ぶなら近道

    大分たってしまったけど、ようやく時間が空いたので、db tech showcase Tokyo 2016 http://enterprisezine.jp/dbonline/detail/8466 で話した内容を記録的に書いておく。あとはSILOの解説を特に自分用に論文の4章を中心に整理しておく。あとはついでに自分の思うところも記す。 ・SILO 元論文はこちら、執筆陣はMITのLiskov一派とEddie Kohler 現在のDB研究の第一線のメンバー。 http://people.csail.mit.edu/stephentu/papers/silo.pdf SILO以降、大きくDBベースのアーキテクチャの考え方は変わりました。ほとんど全ての分散系OLTPはSILOを程度の大小はあるとはいえ、意識していると言っても過言ではないでしょう。前世代ではほぼ「空想か?」ぐらいの扱いだった分散t

    SILO再考〜次世代DBのアーキテクチャとして - 急がば回れ、選ぶなら近道
  • DSAS開発者の部屋:5分でできる、MySQLのメモリ関係のチューニング!

    MySQLのチューニングにおいて非常に重要となるメモリ(バッファ)関連のパラメータについて、 チューニングのポイント DSASのとあるDBサーバ(実メモリ4GB)の実際の設定値 をまとめてみます。 また、必要メモリの総量の計算や限界値を越えてないかチェックしてくれるスクリプトも紹介します。 是非、参考にしてみてください! まず最初に注意点を。 バッファには2つのタイプがあります。 グローバルバッファ スレッドバッファ グローバルバッファはmysqld全体でそのバッファが1つだけ確保されるもので、 これに対し、 スレッドバッファはスレッド(コネクション)ごとに確保されるものです。 チューニングの際にはグローバル/スレッドの違いを意識するようにしましょう。 なぜなら、スレッドバッファに多くのメモリを割り当てると、コネクションが増えたとたんにアッという間にメモリ不足になってしまうからです。 in

    DSAS開発者の部屋:5分でできる、MySQLのメモリ関係のチューニング!
  • MySQL 8.0.0 Development Milestone Release登場!!

    先月、詳解MySQL 5.7を発刊したばかりであるが、MySQL 5.7自体は去年の10月にリリースされたバージョンである。それから約1年弱、MySQLは開発の手を緩めること無く日々改良を重ねている。 そう、MySQL 8.0の登場である。 現在はDevelopment Milestone Release(通称DMR)という状態なので、まだ正式版における機能が固まっている段階ではないという点には注意して欲しい。MySQLの開発プロセスでは、DMRをリリースするごとにその段階で成熟した機能をマージする。DMRを何度かリリースした後に、キリの良いところでリリース候補版となって正式版で追加される機能が一応確定し、その後バグ修正を経て正式版(GA版)がリリースされる予定となっている。詳しくはMySQLのマニュアルを参照して欲しい。 バージョン8.0!!5.7の次は誰もが5.8だと思っていただろう・

    MySQL 8.0.0 Development Milestone Release登場!!
  • DBエンジニアのミックさんが語る、RDBで階層構造データを扱う「入れ子集合モデル」の将来性

    これまで階層構造データはリレーショナルデータベースでうまく扱えませんでしたが、その解決策としてジョー・セルコが提案したのが「入れ子集合モデル」です。この手法を紹介した『プログラマのためのSQLグラフ原論』の刊行にあたり、翻訳されたDBエンジニアのミックさんに入れ子集合モデルの将来性についてうかがいました。 なぜRDBで木と階層構造を扱う手法が1冊の書籍に? ――『プログラマのためのSQLグラフ原論 リレーショナルデータベースで木と階層構造を扱うために』についてミックさんにうかがいます。最初に、書がどういうなのか教えていただけますか? ミック:内容としては、リレーショナルデータベース(RDB)でグラフ構造の一つである木と階層構造を扱うための方法論「入れ子集合モデル」をメインに解説しています。RDBには大きな問題があり、入れ子集合モデルがそれを解決しうる手法だと見込まれています。その問題と

    DBエンジニアのミックさんが語る、RDBで階層構造データを扱う「入れ子集合モデル」の将来性
  • I/OスケジューラでDBチューニング - ハネ@日記

    DBのチューニングでI/Oスケジューラのチューニングは意外と重要らしいのでメモ 大半の Linux システムで一般的に利用される主なスケジューラは以下の4つ ●noop ●deadline ●anticipatory ●completely fair queuing noop 最もシンプルなのがこのスケジューラで、これはリクエストをマージしてキューに入れ、それらがキューの先頭に到着した順番で処理を行う。 「noop」スケジューラは、I/O を OS よりうまくスケジュールできる最新のRAIDコントローラを利用するシステムで便利だ。また、これはデバイス上の格納位置にかかわらずデータのシーク時間がすべて一定になるフラッシュメモリドライブ(SSD) (RAM ディスクを含む)搭載システムでも便利だ。 deadline 「deadline」スケジューラは、ディスクの近い場所へのリクエストで、いつも

    I/OスケジューラでDBチューニング - ハネ@日記