TECH Night #1 by DELiGHTWORKS 〜FGO・モンストから学ぶ大規模ゲーム運用のためのサーバ・インフラの話〜( https://techplay.jp/event/717816 ) にて発表したスライドです。
![想定外な規模へと成長し続けるサービスを 支えるサーバ開発・運用の軌跡 ~ DBの縦横分割スケーリング ~ / History of a large-scale Web API service development and operation with vertical and horizontal database partitioning.](https://cdn-ak-scissors.b.st-hatena.com/image/square/553a74d24ed7ba4eda875a0a57d48f3aa889aaa7/height=288;version=1;width=512/https%3A%2F%2Ffiles.speakerdeck.com%2Fpresentations%2Fd8b44877950c41489222cecabb2d572f%2Fslide_0.jpg%3F12026628)
目的 最近仕事で権限管理の設計をやっていたのだが、設計でかなりはまってしまった。 今後ははまらないように、DB設計や判断基準をまとめておく。 ベースとなるパターン ユーザとロールは多対1で、ロールとアビリティは多対多に関連している。 権限管理やりましょうという場合にはこれにしておけば大抵の複雑な要求には対応できる。 もしユーザが増えてロールとアビリティの管理が複雑になってきても、DB管理なのである程度自由にやりことができる。 ただし、ちとファーストステップとしてはやりすぎか。 ユーザ-ロールが多対多パターン 前の例に加え、ユーザもロールを多数持つパターン。各権限が互いに素に近い状態、例えばカスタマーサポートとマーケティング、そのどちらも担当する人みたいなケースが有る場合に使える。 アプリケーションが大きくなっていて、権限の数も数十くらいになってきた場合はこれか。 直接アビリティパターン ユ
DBの寿命はアプリより長い! 長生きするDBに必要な設計とリファクタリングを実践から学ぶ アプリケーションの寿命よりも長く、データの追加やテーブルの変更で成長し続ける「データベース」と、どのように付き合っていけばよいのでしょうか? 曽根壮大(soudai)さんによる寄稿です。 こんにちは。そーだい(@soudai1025)です。 新しいサービスを始めるとき、必ずと言っていいほどデータベースは利用されています。また今稼働しているサービスの多くでも、RDBMSをはじめ、いろいろなデータベースが利用されています。そんなに広く利用されているデータベースだからこそ、多くの問題の元になるのもまた事実です。 そこで今回は、Webサービスを中心にデータベースの選び方、設計についてお話していきたいと思います。そして私もまさに今、2011年から続くWebサービス「オミカレ」のRDBMSのリファクタリングに携わ
TL;DR 聴講メモ Intro into durability PostgreSQLのCHECKPIONT CHECKPOINT中にエラーが発生したら? fsyncへの2つの間違った期待 なぜ今になって問題が明らかになってきた? そもそもなぜBufferd I/Oなのか? どうやって直すかか 参考リンク 質疑 最後に 先日PostgreSQLの新しいマイナーバージョンがリリースされました。このマイナーリリースでメインとなる修正は「fsync周りのバグ修正」で、このバグは間違ったfsyncに対する間違った認識から約20年間存在してたバグということで注目されていました。 このバグについてPostgreSQLのコミッタ(Tomas Vondra氏)が解説しているセッションが、先々週開催されたFOSDEM 2019でありました。私もFOSDEM 2019に参加していたのですがその際は裏セッション
こんにちは、SRE の @masartzです。 今回は最近取り組んだ、メルカリの主要データベースの容量削減のお話をしようと思います。 TL;DR 主要データベースの容量を20%以上削減しました どういう状況だったか? 何をしたか? メルカリでは2017年11月現在、出品数は1日100万件を超えています。 なので、単純に日々多くのデータが増えていっています。 そのためデータベースのスケーリングは常に検討し、取り組まなければならない課題です。 今回扱ったデータベースはいくつかあるデータベースの中で商品テーブルを持つ、メルカリの主要データベースになります。 増え続けるデータに対応するための、テーブル分割を変則的な形で対応したのでその過程を紹介します。 前提:データベース分割方法 メルカリのデータベースには 会員情報や商品情報など、基本要素となるデータから、通知やお知らせメッセージなど付加的な機能
先日公開された『Amazon Aurora: Design Considerations for High Throughput Cloud-Native Relational Databases』を読みました。 興味深かった部分や疑問に思った(あんまりわかってない)部分をまとめておきます。 AWS は詳しくないので、ところどころ間違っているかもしれません。 Amazon Aurora とは Amazon Aurora のアーキテクチャ全体像 quorum 10GBに分割されたストレージ redo ログのみを転送 感想 Amazon Aurora とは Amazon Aurora は Amazon Web Service が提供する、マネージドリレーショナルデータベースサービスです。 Amazon Aurora (MySQL 互換のリレーショナルデータベース) | AWS Amazon A
2018/01/26 第2回 オープンソースデータベース比較セミナー https://osscons-database.connpass.com/event/74688/
ここに書くことによって途中でやめられなくするメソッドです。 ハッカーニュースを眺めていたら以下のようなCS系講義動画のまとめリポジトリが流れていました。 GitHub - Developer-Y/cs-video-courses: List of Computer Science courses with video lectures. へーっと思いながら何個かポチってみたところ以下に出くわしました。 15721.courses.cs.cmu.edu 英語が(自分にとって)聞き取りやすく、動画の品質(画質やスライドがちゃんと見えるかどうかといった部分)も良いものでかつ興味のある内容で出来ればスライドもおしゃれで・・・となるとなかなか少ないですが、これはかなり見やすいです。 スライドも概念図が頻繁に登場したりして、これだけでも聞き取れなかった部分などをかなり補完できます。 スケジュールページ
リレーショナルデータベースが話題に挙がるとき、私は何かが足りないと思わずにはいられません。データベースはあらゆるところで使われており、その種類も、小規模で便利なSQLiteからパワフルなTeradataまで様々です。しかし、それがどういう仕組みで機能しているかを説明したものとなると、その数はごくわずかではないでしょうか。例えば「リレーショナルデータベース 仕組み」などで検索してみてください。ヒット数の少なさを実感できると思います。さらにそれらの記事は短いものがほとんどです。逆に、近年流行している技術(ビッグデータ、NoSQL、JavaScriptなど)を検索した場合、それらの機能を詳しく説明した記事はたくさん見つかると思います。 リレーショナルデータベースは、もはや大学の授業や研究論文、専門書などでしか扱われないような古くて退屈な技術なのでしょうか? 私は開発者として、理解していないものを
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く